
Xen es una máquina virtual de código abierto desarrollada por la Universidad de Cambridge.
La meta del diseño es poder ejecutar instancias de sistemas operativos con todas sus características, de forma completamente funcional en un equipo sencillo. Xen proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales en caliente. Los sistemas operativos pueden ser modificados explícitamente para correr Xen (aunque manteniendo la compatibilidad con aplicaciones de usuario). Esto permite a Xen alcanzar virtualización de alto rendimiento sin un soporte especial de hardware. Intel ha realizado diversas contribuciones a Xen que han permitido añadir soporte para sus extensiones de arquitectura VT-X Vanderpool.
Desde mi punto de vista Xen es una gran opción para la virtualización, lo he usado en entornos de producción y se ha comportado a la altura, yo lo sugeriría en entornos donde se va a instalar diversos sistemas operativos sobre la maquina vitual es decir, linux, windows, unix, etc. Si lo que se necesita es un entorno virtual donde habra solo maquinas *NIX yo sugiero usar OpenVZ facil de usar y de gran performance, tiene una penalización baja comparada con Xen.
1.- Crear el directorio vm en la raíz:
----------------
# mkdir /vm
----------------
2.- Apagar SELinux
---------------------------------
# setup
-> firewall configuration
-> Disabled -> Disabled
---------------------------------
3.- Instalar el Xen, su Kernel modificado y el Gestionador de Maquinas virtuales
--------------------------------------------------------
# yum install xen kernel-xen virt-manager
--------------------------------------------------------
4.- Ingresar en el gestor del boot y hacer que el kernel de xen botee por default:
--------------------------------
# vi /boot/grub/menu.lst
--------------------------------
###############################################################
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.1.13.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.13.el5
module /vmlinuz-2.6.18-92.1.13.el5xen ro root=/dev/VolGroup00/LogVol00
module /initrd-2.6.18-92.1.13.el5xen.img
...
###############################################################
5.- Luego
------------
# reboot
------------
6.- Verificamos el kernel en el cual estamos trabajando
----------------
# uname -r
----------------
debe aparecer algo similar a:
2.6.18-164.el5xen
7.- Ahora si todo ha ido bien podemos empezar usando el comando xm
------------
# xm list
------------
Para checkear que el Xen ha arrancado. Debe mostrar Domain-0(dom0)
[root@server1 ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 964 1 r----- 134.1
A partir de aqui hay varias posibles formas de trabajar con VM
===================================================
a.- Bajamos una imagen de un centos desde internet y la utilizamos directamente, con esto evitamos el tener que instalarlo
1ro Descargarlo:
----------------------------------------------------------------------------------------------------------------------
http://stacklet.com/downloads/images/lister/CentOS/5.3/x86
#wget http://stacklet.com/sites/default/files/centos/centos.5-3.x86.20090423.img.tar.bz2
----------------------------------------------------------------------------------------------------------------------
El password de root en todas estas maquinas virtuales descargadas es : password
2do Entrar al directorio donde descargo y descomprimirlo:
--------------------------------------------------------------
#tar xvfj centos.5-3.x86.20090423.img.tar.bz2
--------------------------------------------------------------
Esto descomprimira la imagen y el archivo de configuración también
3ero Mover la imagen al directorio vm que se creo previamente
---------------------------------------
#cp centos.5-3.x86.img /vm/
---------------------------------------
4to Luego renombrarlo y dar permiso de ejecucion
-----------------------------------------------
#cd /vm/
#mv centos.5-3.x86.img cloto.img
#chmod +x cloto.img
-----------------------------------------------
5to Copiar el archivo de configuración dentro del directorio xen, para nuestro caso la maquina virtual se llama cloto
--------------------------------------------------------
#cp centos.5-3.x86.xen3.cfg /etc/xen/cloto
--------------------------------------------------------
6to Editar el archivo de configuración recien copiado:
---------------------
vi /etc/xen/cloto
---------------------
###############################################################
kernel = "/boot/vmlinuz-2.6.18-164.el5xen"
memory = 300
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=es" ]
name = "cloto"
vif = [ '' ]
disk = ['file:/vm/cloto.img,sda1,w']
###############################################################
7mo Crear el dominio (domU)
-----------------------
#xm create cloto
#xm list
-----------------------
Debe mostrar algo similar a esto:
[root@oceano xen]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 736 2 r----- 32.2
cloto 1 255 1 r----- 9.9
8vo Ingresamos a la maquina virtual recien creada:
----------------------
#xm console 1
----------------------
se pone el numero del ID o el nombre de la VM
Para la imagen q descargamos se usa
user: root
password: password
9no A la maquina virtual agregarle network device (de forma grafica)
verificar que exista conectividad
10mo Instalarle vim ya que no lo tiene por defecto
#yum install vim
Algunos comandos importantes para la gestion:
========================================
#xm create
#xm shutdown - Stop a virtual machine.
#xm destroy - Stop a virtual machine immediately without shutting it down. It's as if you switch off the power button.
#xm list - List all running systems.
#xm console - Log in on a virtual machine.
Clonacion:
=========
Crea una imagen de cloto con el nombre de cronos:
#virt-clone --original cloto --name cronos --file /vm/cronos.img
Clonacion si la maquina tiene 2 discos:
#virt-clone --original cloto --name cronos --file /vm/cronos.img --file /vm/cronos-disco2.img
b.- Una segunda forma de instalar la maquina virtual es usando el virt-install, es la forma sugerida en la gran mayoria de HowTo pero la verdad a mi me dio un error que no logre superar, igual voy a intentarlo nuevamente luego.
1ro Ejecutamos
-------------------
# virt-install
-------------------
2do Llenamos los datos solicitados para la maquina virtual que estamos creando:
What is the name of your virtual machine? <-- cloto
How much RAM should be allocated (in megabytes)? <-- 256
What would you like to use as the disk (file path)? <-- /vm/cloto.img
How large would you like the disk (/vm/vm01.img) to be (in gigabytes)? <-- 4
Would you like to enable graphics support? (yes or no) <-- no
What is the install location? <-- http://mirrors.kernel.org/centos/5.3/os/i386/
3ro Procedemos con la instalacion normal de un centos
###############################################################
NOTA: cabe mencionar que bajo esta forma ha brindado el error en el paquete
chkconfig
No lo he logrado solucionar =( puede ser simplemente las versiones del centos
###############################################################
c.- Una 3ra forma seria una vez q tenemos instalado xen kernel-xen
1ro Usamos la linea con el comando dd, que nos permite crear una imagen con el nombre que deseemos
# dd if=/dev/zero of=/srv/xen/cloto.img oflag=direct bs=1M seek=2047 count=1
2do Luego se descarga :
initrd.img y
vmlinuz
de aqui http://mirror.centos.org/centos/5/os/i386/images/xen/
3ro Se crea el fichero de configuracion en /etc/xen/cloto
kernel = "/boot/vmlinuz-xen-install"
ramdisk = "/boot/initrd-xen-install"
extra = "text ks=http://localserver/minimal-ks.cfg" <-- Archivo kickstart
name = "cloto"
memory = "256"
disk = [ 'tap:aio:/vm/mailserver.img,xvda,w', ]
vif = [ 'bridge=xenbr0', ] <-- verificar q corresponda (es la tarjeta de red verificar con ifconfig)
vcpus=1
on_reboot = 'destroy'
on_crash = 'destroy'
###############################################################
Para nuestro ejemplo:
vmlinuz-xen-install --> vmlinuz
initrd-xen-install --> initrd.img
###############################################################
4to contenido del archivo minimal-ks.cfg
###############################################################
install
url --url http://mirror.centos.org/centos/5/os/i386
lang es_PE
network --device eth0 --bootproto dhcp
# Bogus password, change to something sensible!
rootpw C3nt05i386
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Europe/Amsterdam
bootloader --location=mbr --driveorder=xvda --append="console=xvc0"
reboot
# Partitioning
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 / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=256 --grow --maxsize=512
%packages
@core
###############################################################
tambien se puede usar este otro o sino combinar y personalizar
###############################################################
#platform=x86, AMD64 o Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use graphical install
graphical
# Text Mode
#text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --enable
# System keyboard
keyboard es
# System language
lang es_PE
# Installation logging level
logging --level=info
# Use network installation
url --url=http://161.132.7.61/centos/
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
#rootpw --iscrypted $1$tYYdP8B.$fKnMPXRSKXkiotdlxJTLz0
rootpw C3nt05i386
# SELinux configuration
selinux --disabled
# System timezone
timezone America/Lima
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=24 --resolution=800x600
%packages
@base
@spanish-support
@printing
@editors
###############################################################
5to Crear las maquinas virtuales, cuando se crea los archivos kickstart que son los archivos de arriba se logra una instalacion desatendida.
---------------------------
# xm create cronos
# xm console cronos
---------------------------
6to Luego deberia modificarse el archivo de configuracion post-instalacion
debe kedar asi + / -
###############################################################
name = "cloto"
memory = "256"
disk = [ 'tap:aio:/vm/cloto.img,xvda,w', ]
vif = [ 'bridge=xenbr0', ] <-- Verificar q coincida
bootloader="/usr/bin/pygrub"
vcpus=1
on_reboot = 'restart'
on_crash = 'restart'
###############################################################
7mo Iniciando dominios automáticamente
Si usted desea iniciar un dominio automáticamente cuando el sistema (dom0) sea iniciado,
mueva la configuración del dominio a el directorio /etc/xen/auto. Por ejemplo:
# mv /etc/xen/cronos /etc/xen/auto
Información adicional de Xen y lo que me ayudo a hacer este pequeño Howto:
===============================================================
http://tx.downloads.xensource.com/downloads/docs/user/#SECTION03200000000000000000
http://www.howtoforge.com/centos_5.0_xen
http://www.xen.org/support/documentation.html
http://www.vivaolinux.com.br/artigo/Instalando-Xen-3.3.0-no-Debian-Lenny-Linux?pagina=6
http://wiki.centos.org/es/HowTos/Xen/InstallingCentOSDomU#head-7f3137b9b998c75feb8173562ff083bee3dc47ba
1 comentario:
I get pleasure from, cause I found just what I used to
be looking for. You have ended my 4 day long hunt!
God Bless you man. Have a great day. Bye|
Here is my blog post: druk pit 37 za 2013
Publicar un comentario