• CentOS 7 Hypervisor I – Redes PYMES

    por  • 21 diciembre, 2016 • Desde Linux • 0 Comentarios

    ¡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

    El artículo CentOS 7 Hypervisor I – Redes PYMES aparece primero en CentOS 7 Hypervisor I – Redes PYMES.

    Artículo original: CentOS 7 Hypervisor I – Redes PYMES

    Deja un comentario

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