CentOS 7 Hypervisor I – Redes PYMES
¡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?:
- 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
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.