¡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:
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?:
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_ubject_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_ubject_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.
Continúar leyendo...
¿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_ubject_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_ubject_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.
Continúar leyendo...