D. Virtualización
Resumen rápido
- Objetivo: configurar redes virtuales aisladas y automatizar la instalación de dos invitados (node01/node02) usando kickstart y virt-install.
- Resultado esperado: interfaces vnet0/vnet1 en el host, archivos kickstart listos y guests instalados con direcciones IP públicas/privadas según la configuración.
1. Redes virtuales
Ejecute como root:
virt-manager
Se abrirá la ventana de Virtual Machine Manager. Verá Domain-0 y los recursos que utiliza.
Importante: cerrar virt-manager cuando no lo use — consume mucha memoria.
1.a Crear la red virtual
- En el menú, haga clic en Editar y luego en “Detalles del host”.
- En la ventana Detalles del host verá sólo “default” en el marco izquierdo. Abajo, haga clic en “Agregar”.
- Aparecerá la ventana “Crear una nueva red virtual”, haga clic en “Siguiente”.
- Use el nombre public1 y pulse “Siguiente”.
- Red: 192.168.222.0/24, pulse “Siguiente”.
- Rango DHCP: Inicio: 192.168.222.128 Fin: 192.168.222.254, pulse “Siguiente”.
- Tipo de conectividad: “Red virtual aislada”. Pulse “Siguiente”.
- Resumen:
- Nombre de la red: public1
- Red IPv4: 192.168.222.0/24
- Gateway: 192.168.222.1
- Máscara: 255.255.255.0
- DHCP: 192.168.222.128–192.168.222.254
- Conectividad: Red virtual aislada
- Pulse “Finalizar”.
Repita los mismos pasos para crear la red private1 con estos parámetros:
- Nombre de la red: private1
- Red IPv4: 192.168.100.0/24
- Gateway: 192.168.100.1
- Máscara: 255.255.255.0
- DHCP: 192.168.100.128–192.168.100.254
- Conectividad: Red virtual aislada
Cuando termine, en la ventana Detalles del host haga “Archivo > Cerrar” para volver a Virtual Machine Manager y luego “Archivo > Salir”.
Nota importante: no deje virt-manager abierto si no lo usa; puede consumir mucha memoria y en algunos entornos requerir reiniciar Xen.
Una vez creadas las redes, verifique en el host con:
ifconfig
Debería ver interfaces similares a vnet0 y vnet1, por ejemplo:
vnet0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.222.1 Bcast:192.168.222.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:7782 (7.5 KiB)
vnet1 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:7712 (7.5 KiB)
2. Archivos kickstart
Los archivos kickstart automatizan la instalación. A continuación se proporciona el kickstart para node01; puede copiarlo y adaptarlo para node02 cambiando IPs y hostname.
2.a node01 (kickstart)
El contenido del archivo kickstart debe usarse tal cual (se muestra a continuación). Mantenga el archivo en un servidor accesible por HTTP o NFS para que virt-install lo lea.
#START of node01_ks.cfg
install
text
reboot
#uncomment the line you want to use
# for nfs
nfs --server=192.168.222.1 --dir=/var/ftp/pub/centos5u1
##url --url ftp://:@/
# this will be an anonymous ftp access
#url --url ftp://192.168.222.1/pub/centos5u1/i386
#key --skip
lang en_US.UTF-8
keyboard us
skipx
# private
network --device eth1 --bootproto static --ip 192.168.100.10 --netmask 255.255.255.0
# public - disabled on initial install
network --device eth0 --bootproto static --ip 192.168.222.10 --netmask 255.255.255.0 --gateway 192.168.222.1 --nameserver 192.168.222.1 --hostname node01.example.com
## password is n0de01pass
rootpw --iscrypted $1$Lqk1Y$Y8TIWCMLiiPjVt1GjRS0F1
## password is n0de02pass
#rootpw --iscrypted $1$Rn47b$DDwgrOv3IFGf3HVhsxv9X0
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Singapore
services --disabled ipsec,iptables,bluetooth,hplip,firstboot,cups,sendmail,xfs
bootloader --location=mbr --driveorder=xvda,xvdb --append="rhgb quiet"
clearpart --all --initlabel --drives=xvda
part /boot --fstype ext3 --size=100 --ondisk=xvda
part pv.2 --size=0 --grow --ondisk=xvda
volgroup VolGroup00 --pesize=32768 pv.2
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=1984
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
%packages
@development-libs
@system-tools
@gnome-software-development
@text-internet
@x-software-development
@dns-server
@core
@authoring-and-publishing
@base
@ftp-server
@network-server
@legacy-software-development
@java
@legacy-software-support
@smb-server
@base-x
@web-server
@printing
@server-cfg
@sql-server
@admin-tools
@development-tools
emacs
lsscsi
gnutls-utils
hwbrowser
audit
iptraf
mesa-libGLU-devel
kexec-tools
device-mapper-multipath
vnc-server
xorg-x11-utils
xorg-x11-server-Xnest
xorg-x11-server-Xvfb
imake
iscsi-initiator-utils
ypserv
-sysreport
%post
cat <> /etc/hosts
# private or replace with nodeXY-
192.168.100.10 node01-priv
192.168.100.20 node02-priv
192.168.100.1 node00-priv
#public or replace with nodeXY
192.168.222.10 node01
192.168.222.20 node02
192.168.222.1 node00
EOT
# yum local repo
mv /etc/yum.repos.d/*.repo /tmp
cat > /etc/yum.repos.d/centos5.repo << EOF
[centos5-Server]
name=CEntos5 Server
baseurl=http://node00/centos5u1/i386
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
EOF
#change default runlevel
ed /etc/inittab << EOF
,s/id:5:initdefault:/id:3:initdefault:/g
.
w
EOF
# vncserver stuff
cat << EOT > /opt/vnc_xstartup
#!/bin/sh
# run vncserver and copy to your $HOME/.vnc/xstartup file
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 130x30+12+12 -ls -bg black -fg green -title "$VNCDESKTOP Desktop" &
mwm &
EOT
# END of nod01_ks.cfg
2.b node02
Copie node01_ks.cfg a node02_ks.cfg y modifique los campos de hostname e IP para node02.
3. Instalación de los invitados (node01 y node02)
Usaremos virt-install desde CLI.
3.a Generación de direcciones MAC
Use el script macgen.py (proporcionado por la guía de Red Hat) para generar MACs:
#!/usr/bin/python
# macgen.py script to generate a MAC address for Red Hat Virtualization guests
import random
#
def randomMAC():
mac = [ 0x00, 0x16, 0x3e,
random.randint(0x00, 0x7f),
random.randint(0x00, 0xff),
random.randint(0x00, 0xff) ]
return ':'.join(map(lambda x: "%02x" % x, mac))
#
print randomMAC()
# careful with the indention
# this is from the Virtualization guide from redhat.com
# http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.2/html/Virtualization/index.html
Ejemplo de salida para node01:
node01 NICs
# for eth0 . public1
[root@node00 ~]# ./macgen.py
00:16:3e:33:32:07
# for eth1 . private1
[root@ node00 ~]# ./macgen.py
00:16:3e:55:6b:83
Genere también MACs para node02.
3.b virt-install para node01
Ejemplo de comando:
virt-install -p -n node01 -r 768 -f /dev/Virtual00VG/lvNODE01 -m 00:16:3e:33:32:07 \
-w network:public1 -m 00:16:3e:55:6b:83 -w network:private1 \
-l nfs:192.168.222.1:/var/ftp/pub/centos5u1/i386 \
-x "ksdevice=eth0 ks=http://192.168.222.1/centos5u1/node01_ks.cfg" --vnc
Parámetros clave:
- -n node01: nombre del invitado
- -r 768: memoria RAM en MiB
- -f /dev/Virtual00VG/lvNODE01: disco (LV o partición)
- -m
: dirección MAC por interfaz - -w network:public1|private1: asigna la interfaz a la red virtual
- -l nfs:…: origen de instalación (NFS)
- -x “ksdevice=eth0 ks=…”: url del kickstart
- –vnc: abrirá la instalación en una sesión VNC (útil si lanzó virt-install desde VNC)
3.c virt-install para node02
Comando ejemplo (ajuste MACs, LV y kickstart):
virt-install -p -n node02 -r 768 -f /dev/Virtual00VG/lvNODE02 -m 00:16:3e:1e:05:b6 \
-w network:public1 -m 00:16:3e:40:3d:b0 -w network:private1 \
-l nfs:192.168.222.1:/var/ftp/pub/centos5u1/i386 \
-x "ksdevice=eth0 ks=http://192.168.222.1/centos5u1/node02_ks.cfg" --vnc
Si ejecuta virt-install desde la consola física, las instalaciones se ejecutarán en background y podrá monitorizarlas con virt-manager abriendo cada invitado.
Caja de datos: parámetros clave
- Redes: public1 (192.168.222.0/24), private1 (192.168.100.0/24)
- Gateways: 192.168.222.1 (public1), 192.168.100.1 (private1)
- Rangos DHCP: .128–.254 en ambas redes
- Memoria por guest en el ejemplo: 768 MiB
Lista de verificación por rol
- Administrador de virtualización
- Crear redes public1 y private1 en virt-manager
- Generar MACs para cada NIC
- Proveer LVs o discos para invitados
- Administrador de red
- Reservar rangos DHCP y evitar solapamientos
- Confirmar rutas/gateways para cada subred
- Administrador de sistema (instalación)
- Publicar kickstart en HTTP/NFS accesible
- Ejecutar virt-install con parámetros correctos
- Verificar /etc/hosts y resolución interna
Comprobaciones y criterios de aceptación
- El host muestra vnet0 y vnet1 con las IPs .1 correspondientes.
- Los invitados obtienen/usan las IPs configuradas en el kickstart.
- Se puede acceder por SSH a node01/node02 desde la red privada o pública según corresponda.
- Las interfaces dentro del guest corresponden a las MACs generadas.
Solución de problemas comunes
- virt-manager consume mucha RAM: cierre la aplicación y, si es necesario, reinicie Xen o el host.
- Kickstart no alcanzable: verifique la URL (http/NFS) desde el host y que los permisos/firewall permitan acceso.
- Conflicto DHCP: asegúrese de que no existan otros servidores DHCP en las mismas subredes.
Pequeño método (pasos mínimos para desplegar un guest rápidamente)
- Crear redes en virt-manager (public1/private1).
- Generar MACs con macgen.py.
- Subir kickstart al servidor HTTP/NFS.
- Ejecutar virt-install con -x ks=… y revisar la instalación por VNC o virt-manager.
Glosario (una línea)
- virt-manager: interfaz gráfica para gestionar hipervisores y VMs.
- virt-install: herramienta CLI para crear e instalar máquinas virtuales.
- kickstart: archivo que automatiza la instalación de sistemas Red Hat/CentOS.
- MAC: dirección física única para una interfaz de red.
Resumen final
Siga la secuencia: crear redes → preparar kickstart → generar MACs → ejecutar virt-install. Verifique vnet0/vnet1 en el host y compruebe que los invitados reciban las IPs configuradas. Use la checklist y las comprobaciones de aceptación para validar el despliegue.
Notas: adapte los nombres, IPs y LVs a su entorno y no deje virt-manager abierto innecesariamente.
Materiales similares

Arreglar teclado Mac que no responde

Cómo conseguir más me gusta en Instagram Reels

Instalar Valheim Plus: guía rápida

Instalar MediaWiki con Nginx en CentOS 7

Desactivar caché de carpetas compartidas en Outlook
