CentOS 7 Hypervisor II y final – Redes PYMES
¡Hola amigos!
¿Saben qué?. Cualquier otra frase para el inicio de un artículo, como he probado en posts anteriores, no me parece la más adecuada, y por eso regreso a mi saludo habitual, de forma definitiva y ampliada, incluyendo a las Lectoras que sabemos también pertenecen a la Comunidad.
Hoy es el primer día del año 2017 y queremos hacer extensivo a todos nuestros lectores y lectoras, las mas Sinceras Felicitaciones por el Nuevo Año que recién comienza:
- !Felicidades y Próspero Año Nuevo a Todos¡.
Y como un Presente para el inicio del año, le traemos a Ustedes la 2da parte -y final- de cómo podemos administrar de forma remota al hipervisor sobre CentOS 7 creado en el anterior artículo de la serie Redes PYMES, como la llamaremos en lo adelante para abreviar.
No ofreceremos muchos enlaces entre líneas, porque suponemos hayan seguido hasta aquí los anteriores posts de la serie “Redes de Computadoras para las PYMES“, y que ya estén familiarizados con los nombres, siglas y definiciones. ¿Cuales son esas páginas?:
- Redes de Computadoras para las PYMES: Introducción
- Instalación de estación de trabajo
- 6 Escritorios en Debian
- Virtualización en Debian: Introducción
- Qemu-Kvm + Virt-Manager en Debian
- virt-commands en Debian
- CentOS Presentación
- Virsh command
- Virt-Manager y virsh: Administración Remota vía SSH
- CentOS 7 Hypervisor I
Recomendamos también la lectura del siguiente artículo, pues justifica en parte la elección de las distribuciones Linux que hemos hecho para la mencionada serie de posts:
Administrando remotamente el hipervisor centos7
Solamente utilizaremos la consola y los comandos virsh y virt-install. Para hacernos la vida fácil pues NO tenemos DNS aun:
buzz@sysadmin:~$ nano /etc/hosts 127.0.0.1 localhost 10.10.10.10 sysadmin.desdelinux.fan sysadmin 10.10.10.4 centos7.desdelinux.fan centos7 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters # ------------------------------
Invocamos el comando virsh desde nuestra estación de trabajo:
buzz@sysadmin:~$ sudo virsh [sudo] password for buzz: Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit
!Para no ejecutar comandos en el hipervisor equivocado!
virsh # uri qemu:/system # Estamos en el hipervisor local o "sysadmin".
Conectamos con el hipervisor remoto
virsh # connect qemu+ssh://root@centos7/system The authenticity of host 'centos7 (10.10.10.4)' can't be established. ECDSA key fingerprint is 71:b9:d9:f7:30:58:07:7f:a9:78:53:21:54:67:26:4f. Are you sure you want to continue connecting (yes/no)? yes root@centos7's password:
Si el paso anterior devuelve un error de autenticación, debe borrar el archivo /root/.ssh/known_hosts, y volver a intentar.
virsh # uri qemu+ssh://root@centos7/system # Ya estamos conectados con el hipervisor remoto
Almacenamiento en el hipervisor remoto
virsh # pool-list Name State Autostart ------------------------------------------- default active yes virsh # pool-info default Name: default UUID: 71d42689-cfaf-4190-bad8-c395640ceee7 State: running Persistent: yes Autostart: yes Capacity: 155.43 GiB Allocation: 1.28 GiB Available: 154.15 GiB virsh # pool-dumpxml default <pool type='dir'> <name>default</name> <uuid>71d42689-cfaf-4190-bad8-c395640ceee7</uuid> <capacity unit='bytes'>166896857088</capacity> <allocation unit='bytes'>1378762752</allocation> <available unit='bytes'>165518094336</available> <source> </source> <target> <path>/var/lib/libvirt/images</path> <permissions> <mode>0711</mode> <owner>0</owner> <group>0</group> <label>system_u:object_r:virt_image_t:s0</label> </permissions> </target> </pool>
No queremos que las máquinas se guarden en /var/lib/libvirt/images
virsh # exit
Creamos un nuevo depósito de almacenamiento en centos7
buzz@sysadmin:~$ ssh root@centos7 root@centos7's password: [root@centos7 ~]# mkdir /home/vms [root@centos7 ~]# exit logout Connection to 10.10.10.4 closed.
Regresamos a sysadmin y a virsh
buzz@sysadmin:~$ sudo virsh Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh # connect qemu+ssh://root@centos7/system root@centos7's password: virsh # uri qemu+ssh://root@centos7/system
No queremos el inicio automático del depósito “default”
virsh # pool-autostart default --disable Pool default unmarked as autostarted
Definimos un nuevo depósito de almacenamiento en el recién creado /home/vms
virsh # pool-define-as --name centos7-vms --type dir --target /home/vms --source-format xfs Pool centos7-vms defined virsh # pool-list --all Name State Autostart ------------------------------------------- centos7-vms inactive no default active no virsh # pool-start centos7-vms Pool centos7-vms started virsh # pool-list --all Name State Autostart ------------------------------------------- centos7-vms active no default active no virsh # pool-autostart centos7-vms Pool centos7-vms marked as autostarted virsh # pool-info centos7-vms Name: centos7-vms UUID: 6a9e0f8c-03dc-405b-8b52-f1899b632adc State: running Persistent: yes Autostart: yes Capacity: 155.43 GiB Allocation: 1.29 GiB Available: 154.15 GiB virsh # pool-dumpxml centos7-vms <pool type='dir'> <name>centos7-vms</name> <uuid>6a9e0f8c-03dc-405b-8b52-f1899b632adc</uuid> <capacity unit='bytes'>166896857088</capacity> <allocation unit='bytes'>1381736448</allocation> <available unit='bytes'>165515120640</available> <source> </source> <target> <path>/home/vms</path> <permissions> <mode>0755</mode> <owner>0</owner> <group>0</group> <label>unconfined_u:object_r:home_root_t:s0</label> </permissions> </target> </pool>
Creamos la imagen de la máquina virtual “wordpress”
Nota: la imagen ISO del openSUSE la copiamos previamente hacia el depósito de almacenamiento centos7-vms. Por eso es que aparece listada a continuación. Es evidente que queremos instalar el WordPress sobre la distribución OpenSuSE.
virsh # pool-refresh centos7-vms Pool centos7-vms refreshed virsh # vol-list centos7-vms Name Path ------------------------------------------------------------------------------ openSUSE-13.2-DVD-x86_64.iso /home/vms/openSUSE-13.2-DVD-x86_64.iso virsh # vol-create-as --pool centos7-vms --name wordpress.raw --capacity 40G Vol wordpress.raw created virsh # vol-list centos7-vms Name Path ------------------------------------------------------------------------------ openSUSE-13.2-DVD-x86_64.iso /home/vms/openSUSE-13.2-DVD-x86_64.iso wordpress.raw /home/vms/wordpress.raw
Redes Virtuales
Eliminamos el DHCP de la red default
virsh # net-list --all Name State Autostart Persistent ---------------------------------------------------------- default active yes yes virsh # net-info default Name: default UUID: 2a2ef469-3008-45f9-a165-ab1fb8f6277b Active: yes Persistent: yes Autostart: yes Bridge: virbr0
La red “default” la encontramos así
virsh # net-edit default <network> <name>default</name> <uuid>18ce4bbb-fddb-4300-9f13-65b4d999690c</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254'/> </dhcp> </ip> </network>
Y la dejaremos así
<network> <name>default</name> <uuid>2a2ef469-3008-45f9-a165-ab1fb8f6277b</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:af:2f:ab'/> <ip address='192.168.122.1' netmask='255.255.255.0'> </ip> </network>
Aplicamos los cambios
virsh # net-destroy default Network default destroyed virsh # net-start default Network default started virsh # net-list --all Name State Autostart Persistent ---------------------------------------------------------- default active yes yes virsh # net-info default Name: default UUID: 2a2ef469-3008-45f9-a165-ab1fb8f6277b Active: yes Persistent: yes Autostart: yes Bridge: virbr0 virsh # quit
Creamos la máquina virtual “wordpress” de forma remota
buzz@sysadmin:~$ sudo virt-install \ --connect qemu+ssh://root@centos7/system \ --virt-type=kvm \ --name wordpress \ --ram 1024 \ --vcpus=1 \ --disk /home/vms/wordpress.raw \ --cdrom /home/vms/openSUSE-13.2-DVD-x86_64.iso \ --os-type linux \ --network network=default \ --description wordpress.desdelinux.fan \ --graphics vnc \ --video=vga [sudo] password for buzz: root@centos7's password: Empezando la instalación... Creando dominio... | 0 B 00:00 root@centos7's password: root@centos7's password: (virt-viewer:7491): Gdk-CRITICAL **: gdk_window_set_cursor: assertion 'GDK_IS_WINDOW (window)' failed
Si cerramos la ventana por descuido, no importa. Nos volvemos a conectar
buzz@sysadmin:~$ virt-viewer --connect qemu+ssh://root@centos7/system wordpress root@centos7's password: root@centos7's password:
¿Próximos artículos?
DNS, DHCP y NTP – Redes PYMES
El artículo CentOS 7 Hypervisor II y final – Redes PYMES aparece primero en CentOS 7 Hypervisor II y final – Redes PYMES.