CentOS 7 Hypervisor I – Redes PYMES

Índice general de la serie: Redes de Computadoras para las PYMES: Introducción

¡Estimados Lectores!

En ocasiones nos enfrentamos a Servidores Profesionales que solo admiten determinados Sistemas Operativos durante su Aprovisionamiento – Provisioning inicial. Personalmente nos hemos encontrado con servidores que, durante ese proceso, solo soportan los siguientes:

  • Microsoft Windows Server 2003 y familia
  • Microsoft Windows Server 2008 y familia
  • Microsoft Windows Server 2012 y familia
  • Red Hat Enterprise Linux RHEL 4, 6 y 7
  • SUSE Linux Enterprise Server 12

¿Debian, Ubuntu, otro…?. Nada. Lo anterior no quiere decir que no podamos instalar un sistema operativo diferente, pero ¿que pasará con la garantía, drivers, parches, actualizaciones, etcétera?. Que cada lector saque sus propias conclusiones.

Hoy me enteré mediante comunicación personal con mi amigo y colega Julio Cesar Carballo -trabaja en un Data Center importante- que estuvo aproximadamente 10 días instalando unos 180 servidores profesionales «desde sus cajas al rack con cableado total incluido» con el sistema operativo Ubuntu.

Técnicamente  es posible utilizar Debian, Ubuntu, CentOS – RHEL, SuSE, u otro sistema operativo UNIX Like -a pesar del systemd– recomendado para tal trabajo, como soporte de virtualización en servidores profesionales de cualquier gama.

En éste artículo 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?:

Y aunque no sea específicamente de la serie, es muy útil 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:

Hoy intentamos ofrecer una Guía para instalar un Hipervisor con CentOS – CentOS Hypervisor. Cada lector debe adaptarla acorde al hardware de su servidor, y a los requisitos del fabricante. Hemos dejado para el final la Instalación Paso a Paso mediante Imágenes, para facilitar la lectura de éste artículo.

  • Tengamos presente que Red Hat, Inc. es el patrocinador principal de CentOS, y de que Red Hat, Inc es quién mantiene el desarrollo de libvirt, virt-manager, oVirt, y de prácticamente la mayor parte de lo relacionado con la virtualización mediante Qemu-KVM y su administración.

Ajustes mínimos después de la instalación paso a paso

Para facilitarnos la vida, pues aun no tenemos un DNS en la LAN, modificamos un poco el archivo /etc/host:

[root@centos7 ~]# nano /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.10.4  centos7.desdelinux.fan  centos
10.10.10.1  sysadmin.desdelinux.fan sysadmin

Declaramos de forma definitiva los repositorios que vamos a utilizar y actualizamos el sistema:

[root@centos7 ~]# cd /etc/yum.repos.d/
[root@centos7 yum.repos.d]# ls -l
total 28
-rw-r--r--. 1 root root 1664 dic  9  2015 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 dic  9  2015 CentOS-CR.repo
-rw-r--r--. 1 root root  649 dic  9  2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  290 dic  9  2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 dic  9  2015 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 dic  9  2015 CentOS-Sources.repo
-rw-r--r--. 1 root root 1952 dic  9  2015 CentOS-Vault.repo

Por supuesto que es saludable leer el contenido de los archivos originales de declaración de los repositorios recomendados por CentOS. Los cambios que aquí realizamos se deben a que no disponemos de un acceso a Internet y trabajamos con repositorios locales descargados desde la WWW.

[root@centos7 yum.repos.d]# mkdir originales
[root@centos7 yum.repos.d]# mv CentOS-* originales/

[root@centos7 yum.repos.d]# nano centos-base.repo
[centos-base]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/base/
gpgcheck=0
enabled=1

[root@centos7 yum.repos.d]# nano centos-updates.repo
[centos-updates]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/
gpgcheck=0
enabled=1

[root@centos7 yum.repos.d]# yum clean all
Complementos cargados:fastestmirror, langpacks
Limpiando repositorios: centos-base centos-updates
Cleaning up everything

[root@centos7 yum.repos.d]# yum update
Complementos cargados:fastestmirror, langpacks
centos-base                                              | 3.4 kB     00:00     
centos-updates                                           | 3.4 kB     00:00     
(1/2): centos-base/primary_db                              | 5.3 MB   00:01     
(2/2): centos-updates/primary_db                           | 9.1 MB   00:01     
Determining fastest mirrors
No packages marked for update

El mensaje «No (existen) paquetes marcados para actualizar» – «No packages marked for update» indica que, al declarar los repositorios más actualizados a nuestra disposición durante la instalación, se instalaron precisamente los paquetes mas actuales.

¿Cuáles paquetes relativos al Hipervisor se instalaron?

En la carpeta /root, el instalador Anaconda deja un archivo con los parámetros mas importantes que se utilizaron durante el despliegue de CentOS. Nosotros queremos conocer cuales paquetes se instalaron, ya que hasta ahora no hemos utilizado directamente el comando yum install <paquete>, al emplearse un instalador gráfico.

[root@centos7 ~]# cat anaconda-ks.cfg
....
%packages
@^virtualization-host-environment
@base
@compat-libraries
@core
@debugging
@virtualization-hypervisor
@virtualization-platform
@virtualization-tools
....

Los paquetes – packages con el símbolo @ al principio, indican a Grupos de Paquetes. En nuestro caso, para obtener el listado de los Grupos – Groups, tuvimos que adicionar el DVD de instalación a la declaración de repositorios:

[root@centos7 ~]# mount /dev/sr0 /media/
mount: /dev/sr0 is write-protected, mounting read-only

[root@centos7 ~]# nano /etc/yum.repos.d/centos-media.repo
[centos-media]
name=CentOS-$releasever
baseurl=file:///media
gpgcheck=0
enabled=1

[root@centos7 ~]# yum clean all
Complementos cargados:fastestmirror, langpacks
Limpiando repositorios: centos-base centos-media centos-updates
Cleaning up everything
Cleaning up list of fastest mirrors

[root@centos7 ~]# yum update
Complementos cargados:fastestmirror, langpacks
centos-base                                              | 3.4 kB     00:00     
centos-media                                             | 3.6 kB     00:00     
centos-updates                                           | 3.4 kB     00:00     
(1/4): centos-media/group_gz                               | 155 kB   00:00     
(2/4): centos-media/primary_db                             | 5.3 MB   00:00     
(3/4): centos-base/primary_db                              | 5.3 MB   00:00     
(4/4): centos-updates/primary_db                           | 9.1 MB   00:01     
Determining fastest mirrors
No packages marked for update

[root@centos7 ~]# yum repolist all
Complementos cargados:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
id del repositorio                  nombre del repositorio     estado
centos-base                         CentOS-7                   habilitado: 9,007
centos-media                        CentOS-7                   habilitado: 9,007
centos-updates                      CentOS-7                   habilitado: 2,560
repolist: 20,574

[root@centos7 ~]# yum group list
...
Grupos de Entorno Disponibles:
   Instalación mínima
   Compute Node
   Servidor de infraestructura
   Servidor y archivo de impresión
   Servidor web básico
   Host de virtualización
   Servidor con GUI
   Escritorio Gnome
   Espacios de trabajo Plasma KDE
   Desarrollo y estación de trabajo Creativa
Grupos disponibles:
   Administración de sistemas
   Bibliotecas compatibles
   Compatibilidad con legado de UNIX
   Herramientas de Administración de sistemas
   Herramientas de desarrollo
   Herramientas de seguridad
   Herramientas gráficas de Administración
   Herramientas para consola de Internet.
   Soporte científico
   Soporte para tarjeta inteligente
...

ó

[root@centos7 ~]# yum groups list id
Complementos cargados:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Grupos de Entorno Disponibles:
   Instalación mínima (minimal)
   Compute Node (compute-node-environment)
   Servidor de infraestructura (infrastructure-server-environment)
   Servidor y archivo de impresión (file-print-server-environment)
   Servidor web básico (web-server-environment)
   Host de virtualización (virtualization-host-environment)
   Servidor con GUI (graphical-server-environment)
   Escritorio Gnome (gnome-desktop-environment)
   Espacios de trabajo Plasma KDE (kde-desktop-environment)
   Desarrollo y estación de trabajo Creativa (developer-workstation-environment)
Grupos instalados:
   Bibliotecas compatibles (compat-libraries)
   Compatibilidad con legado de UNIX (legacy-unix)
   Herramientas de Administración de sistemas (system-admin-tools)
   Herramientas de seguridad (security-tools)
Grupos disponibles:
   Administración de sistemas (system-management)
   Herramientas de desarrollo (development)
   Herramientas gráficas de Administración (graphical-admin-tools)
   Herramientas para consola de Internet. (console-internet)
   Soporte científico (scientific)
   Soporte para tarjeta inteligente (smart-card)

Durante la instalación seleccionamos la opción principal Host de Virtualización y dentro de ella a la Plataforma de Virtualización:

[root@centos7 ~]# yum groupinfo virtualization-host-environment
----
Grupo de Entorno: Host de virtualización
Id de Entorno: virtualization-host-environment
 Descripción: Host de virtualización mínima.
Grupos Obligatorios:
    base
    core
    virtualization-hypervisor
    virtualization-tools
Grupos Opcionales:
    debugging
   +network-file-system-client
   +remote-system-management
    virtualization-platform

[root@centos7 ~]# yum groupinfo virtualization-hypervisor
....
Grupo: Hipervisor de virtualización
 Group-Id: virtualization-hypervisor
 Descripción: La instalación de host de virtualización más pequeña posible.
 Paquetes obligatorios:
   =libvirt
   =qemu-kvm
 Paquetes opcionales:
   qemu-kvm-tools

[root@centos7 ~]# yum groupinfo virtualization-tools
....
Grupo: Herramientas de virtualización
 Group-Id: virtualization-tools
 Descripción: Herramientas para gestión de imagen virtual desconectada.
 Paquetes predeterminados:
   =libguestfs
 Paquetes opcionales:
   libguestfs-java
   libguestfs-tools
   libguestfs-tools-c

[root@centos7 ~]# yum groupinfo virtualization-platform
....
Grupo: Plataforma de virtualización
 Group-Id: virtualization-platform
 Descripción: Proporciona una interfaz para acceder y controlar huéspedes y contenedores virtualizados.
 Paquetes obligatorios:
    libvirt
   =libvirt-client
   =virt-who
 Paquetes opcionales:
   fence-virtd-libvirt
   fence-virtd-multicast
   fence-virtd-serial
   libvirt-cim
   libvirt-java
   libvirt-snmp
   perl-Sys-Virt

Otra forma de obtener el Listado Completo de los Paquetes Instalados es la siguiente:

[root@centos7 ~]# yum list installed
[root@centos7 ~]# yum list installed > instalados.txt

Relativos al Hypervisor

[root@centos7 ~]# egrep "(vir|kvm|qemu)" instalados.txt
ipxe-roms-qemu.noarch                   20130517-8.gitc4bce43.el7_2.1   @Updates
libvirt.x86_64                          1.2.17-13.el7_2.5               @Updates
libvirt-client.x86_64                   1.2.17-13.el7_2.5               @Updates
libvirt-daemon.x86_64                   1.2.17-13.el7_2.5               @Updates
libvirt-daemon-config-network.x86_64    1.2.17-13.el7_2.5               @Updates
libvirt-daemon-config-nwfilter.x86_64   1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-interface.x86_64  1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-lxc.x86_64        1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-network.x86_64    1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-nodedev.x86_64    1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-nwfilter.x86_64   1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-qemu.x86_64       1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-secret.x86_64     1.2.17-13.el7_2.5               @Updates
libvirt-daemon-driver-storage.x86_64    1.2.17-13.el7_2.5               @Updates
libvirt-daemon-kvm.x86_64               1.2.17-13.el7_2.5               @Updates
libvirt-python.x86_64                   1.2.17-2.el7                    @Base   
qemu-img.x86_64                         10:1.5.3-105.el7_2.7            @Updates
qemu-kvm.x86_64                         10:1.5.3-105.el7_2.7            @Updates
qemu-kvm-common.x86_64                  10:1.5.3-105.el7_2.7            @Updates
virt-what.x86_64                        1.13-6.el7                      @Base   
virt-who.noarch                         0.14-9.el7_2.1                  @Updates

Observemos que en la salida anterior se muestra desde cual repositorio fue instalado cada paquete individual. De paso, comprobamos de forma indirecta que estamos trabajando con la versión CentOS 7.2. Tambié podemos ver que, con el filtro empleado sobre la lista de paquetes no se muestra, por ejemplo, el paquete libguestfs que también forma parte de la Plataforma de Virtualización.

Sugerimos naveguen un poco por la Lista de Paquetes Instalados.

Operaciones finales… o casi

Terminar la configuración del hipervisor centos7.desdelinux.fan y crear su primera máquina virtual, de forma remota, como indicamos en el artículo Virt-Manager y virsh: Administración Remota vía SSH.

Para los lectores que prefieren a la siempre maltratada Consola, dedicaremos el próximo artículo «CentOS 7 Hypervisor: Administración remota» en el que usaremos principalmente los comandos virsh y virt-install ejecutados remotamente desde nuestra estación de trabajo sysadmin.desdelinu.fan.

Instalación Paso a Paso mediante imágenes

Observaciones:

  • Las imágenes se explican por si solas. El instalador Anaconda de CentOS es una herramienta muy poderosa en su clase
  • Los valores mostrados son solamente para pruebas y en ningún momento se deben tomar como recomendados u oficiales
  • El orden seguido para satisfacer las demandas del instalador, son a modo de ejemplo nada mas
  • El que no hayamos seleccionado Política de Seguridad – SECURITY POLICY alguna, no significa que Usted deba hacerlo. Es más, lo invitamos a que la utilice
  • Con la opción KDUMP sucede igual que en el punto anterior
  • En la configuración de la Red, no tocamos muchas opciones porque no las necesitamos para confeccionar nuestro servidor virtual de pruebas. De más está decir que, aunque de pruebas sea, funciona muy correctamente
  • El tipo de particionado y el tamaño de sus particiones son un ejemplo y nada mas
  • La SELECCIÓN DE SOFTWARE es para obtener un Hypervisor con la cantidad mínima de paquetes instalados. Lo invitamos a Usted a que enriquezca su servidor en producción
  • Con respecto a la FUENTE DE INSTALACIÓN, repetimos que utilizamos repositorios locales por falta de conexión doméstica con la Internet. Trabajamos con repositorios locales descargados -por amigos y colegas- desde la WWW
  • Si después de reiniciar el sistema operativo al final de la instalación se le pide que lea y apruebe el Acuerdo de Licencia Final, el orden de las teclas es «1», «2» y «c», sin las comillas. De nada!. 😉

Galería de imágenes


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Zodiac Carburus dijo

    Muy buen Post, fico. Espero además por el próximo sobre la administración remota mediante virsh y virt-install. Estoy aplicando en producción casi todos tus artículos de la serie PYMES y hasta ahora me va muy bien. Gracias Fico

  2.   federico dijo

    Muchas gracias amigo Zodiac. Estos temas son del interés de pocos lectores, al parecer.

  3.   juanjo dijo

    Están buenos los artículos sirve como un ayuda memoria para las cosas que a uno se le olvidan o transpapelan se agradece mucho el aporte

    1.    federico dijo

      Gracias por comentar, Juanjo. Personalmente utilizo estos artículos como guías en las implementaciones.

  4.   Ismael Alvarez Wong dijo

    Fico, como siempre y a lo largo de toda la serie hasta ahora, esta muy bueno el articulo en cuestion.
    Siempre hay algo novedoso: aquí radica en que, en vez de instalar el CentOS «minimal» (es lo habitual); desde el mismo proceso de instalación se selecciona el entorno «Host de Virt» junto con su Plataforma de Virt y bibliotecas compatibles.
    Muy buena también la técnica de cambiar la fuente de instalación predeterminada y que todo el mundo usa (el repositorio contenido en el DVD ISO del instalador del CentOS) por un repositorio local en la red habilitado por http (aqui es obligatorio, configurar antes la tarjeta de red, muy bueno también esto). Lo usual es que después de logearnos por 1ra vez en el servidor y configurar nuestra interfase de red, que habilitemos el repositorio local.
    Utilisimo todos los pasos dados con tremendo detalle de como investigar todos los paquetes instalados que están relacionados con la Virt kemu (desde anaconda.cfg, hasta montar el repositorio del DVD ISO para trabajar entonces utilizando los Groups).
    Nada amigo, lo máximo en información y según el ultimo párrafo, el sgte articulo promete mucho mas.

  5.   federico dijo

    Gracias amigo Wong por tus comentarios. Traté de dar un enfoque diferente a cómo conocer los paquetes instalados. Pensé que era un tema interesante, y por eso lo expuse. Te espero en mis próximos artículos