Desde Linux fico  

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?:

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.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.