viernes, 7 de octubre de 2011

Centos 5: Boot Xen 4.1 Gitco


 Me vi en la necesidad de instalar otra maquina con Xen, cuando se trata de virtualizar me gusta tener software mas actualizado, lo malo que Centos no esta a la vanguardia en esto, y en la rama 6 ya mejoraron las cosas.

 Desgraciadamente no puedo aun moverme a la rama 6 ya que varios de mis servidores estan en la 5.7 y migrar todos seria un poco complicado, y no complicado, con la carga de trabajo no me es facil(tiempo).

  Ahora si deseamos hacer unos de las funciones que nos brinda la version 4.1 de Xen tenemos solo 3 opciones:

1) Hacerlo a mano.
2) Hacer uso de repo externos como Gitco.
3) Usar la version que trae por default Centos si no queremos complicarnos la existencia.

Yo opto por la #2.

Ahora lo que tenemos que hacer es lo siguiente:

a)Deshistalar todo el paquete que no sea de utilidad.

yum remove ...

b)Actualizar nuestro sistema:

yum update

c) Apagar servicios que no sean necesarios, y deshabilitarlos:

service nombre-del-servicio stop
chkconfig nombre-del-servicio off

d) Bajar el repo de Gitco:

cd /etc/yum.repos/
wget http://www.gitco.de/repo/GITCO-XEN4.1.1_x86_64.repo

e) Deshistalar todo lo relacionado a Xen(si ya tenian algo):

yum groupremove Virtualization

NOTA: Yo no uso selinux lo tengo deshabilitado.

Con lo anterior hecho, reiniciamos.

Ya de regreso:

f)La instalacion:

yum groupinstall Virtualization

Por default Centos deja el el kernel normal como arranque, pero yo quiero el otro asi que modifico la prioridad, ademas, Xen tiene un footprint muy pequeo, no requerimos 1TB de memoria, los ultimos benchmark que saque me indicaron que con 1GB de memoria trabaja sin problemas.

Ademas decian que solo requeria un Core del #total que tenemos, pero el benchmark me dijo que deberia dejarle 2 ya que todas mis instalaciones llevan un arreglo de disco, ya sea Raid5/Raid10, el Raid1 no tiene problemas los otros si les beneficia dejarle 2 cores a el DOM-O.

Asi queda mi kernel:


default=0
timeout=5
splashimage=(hd1,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-274.3.1.el5xen)
        root (hd1,0)
        kernel /xen.gz-4.1.1 dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=1024MB
        module /vmlinuz-2.6.18-274.3.1.el5xen ro root=/dev/VolGroup00/LogVol00 pci=nomsi
        module /initrd-2.6.18-274.3.1.el5xen.img
title CentOS (2.6.18-274.3.1.el5)
        root (hd1,0)
        kernel /vmlinuz-2.6.18-274.3.1.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-274.3.1.el5.img
title CentOS (2.6.18-194.el5)
        root (hd1,0)
        kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-194.el5.img

Si usteds creen que 1 solo core es necesario para su DOM-0, entonces cambian el parametro: dom0_max_vcpus=1.

Con todo lo anterior le pedimos que:

Si tengo un server que me da N numero de cores
Me da M numero de memoria RAM

Que solo me de: 2 cores de mi N numero y que solo le asigne el M cantidad de memoria RAM, asi la demas Xen podra administrarla para sus VM's, de lo contrario Xen tendria que preocuparse en buscar que core ejecutar las tareas tanto del DOM-0 y como de sus DOM-U si no le especificamos estos datos.

Le agregue por ultimo el parametro:

pci=nomsi

Por que Xen no quiso arrancar, segun gitco en el README dice:


IMPORTANT: I cannot ensure the stability of these packages, 
so feel free, if you deploy them on a production environment !

xen3.4.3 (x86_64)   => stable
xen4.1.0 (x86_64)   => stable (in some cases, you need the kernel parameter pci=nomsi)

xen4.1.1 (x86_64)   => stable (in some cases, you need the kernel parameter pci=nomsi)

Asi que eso hice y funciono.
 
Ahora ya tengo un Xen listo para operar:
 

xm info
host                   : impexpo.import.local
release                : 2.6.18-274.3.1.el5xen
version                : #1 SMP Tue Sep 6 20:57:11 EDT 2011
machine                : x86_64
nr_cpus                : 4
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 3000
hw_caps                : 178bf3ff:efd3fbff:00000000:00001710:00802001:00000000:000037ff:00000000
virt_caps              : hvm
total_memory           : 3839
free_memory            : 2766
free_cpus              : 0
xen_major              : 4
xen_minor              : 1
xen_extra              : .1
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=1024MB
cc_compiler            : gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)
cc_compile_by          : root
cc_compile_domain      : gitco.tld
cc_compile_date        : Sun Sep  4 23:28:19 CEST 2011
xend_config_format     : 4

\ \/ /___ _ __   | || |  / | / |
 \  // _ \ '_ \  | || |_ | | | |
 /  \  __/ | | | |__   _|| |_| |
/_/\_\___|_| |_|    |_|(_)_(_)_|

(XEN) Xen version 4.1.1 (root@gitco.tld) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) Sun Sep  4 23:28:19 CEST 2011
(XEN) Latest ChangeSet: unavailable
(XEN) Bootloader: GNU GRUB 0.97
(XEN) Command line: dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=1024MB
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 2 MBR signatures
(XEN)  Found 2 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f400 (usable)
(XEN)  000000000009f400 - 00000000000a0000 (reserved)
(XEN)  00000000000e6000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cffb0000 (usable)
(XEN)  00000000cffb0000 - 00000000cffbe000 (ACPI data)
(XEN)  00000000cffbe000 - 00000000cffe0000 (ACPI NVS)
(XEN)  00000000cffe0000 - 00000000d0000000 (reserved)
(XEN)  00000000ff700000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000120000000 (usable)
(XEN) ACPI: RSDP 000FB4E0, 0014 (r0 ACPIAM)
(XEN) ACPI: RSDT CFFB0000, 0040 (r1 060710 RSDT1719 20100607 MSFT       97)
(XEN) ACPI: FACP CFFB0200, 0084 (r2 060710 FACP1719 20100607 MSFT       97)
(XEN) ACPI: DSDT CFFB0450, 99F6 (r1  78LCP 78LCP607       16 INTL 20051117)
(XEN) ACPI: FACS CFFBE000, 0040
(XEN) ACPI: APIC CFFB0390, 007C (r1 060710 APIC1719 20100607 MSFT       97)
(XEN) ACPI: MCFG CFFB0410, 003C (r1 060710 OEMMCFG  20100607 MSFT       97)
(XEN) ACPI: OEMB CFFBE040, 0071 (r1 060710 OEMB1719 20100607 MSFT       97)
(XEN) ACPI: SRAT CFFB9E50, 00E8 (r3 AMD    FAM_F_10        2 AMD         1)
(XEN) ACPI: HPET CFFB9F40, 0038 (r1 060710 OEMHPET  20100607 MSFT       97)
(XEN) ACPI: SSDT CFFB9F80, 088C (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 3839MB (3931452kB)
(XEN) Domain heap initialised
(XEN) Processor #0 0:5 APIC version 16
(XEN) Processor #1 0:5 APIC version 16
(XEN) Processor #2 0:5 APIC version 16
(XEN) Processor #3 0:5 APIC version 16
(XEN) IOAPIC[0]: apic_id 4, version 33, address 0xfec00000, GSI 0-23
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) Table is not found!
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3000.291 MHz processor.
 
A trabajar sobre el, saludos!!! 



4 comentarios:

burff dijo...

te hago una consulta he seguido los pasoss tal cual en un centos 5.7 y cuando monto los drivers pvgpl de windows la tarjeta de red se ccomporta malisimo en el upload no llega a 200kbps si no instalo el driver se maneja entre los 7mbps

Pedro Moreno dijo...

mmmm yo nunca he necesitado esos drivers, no tengo ninguna informacion que te pudiera ayudar, si tienes info al respecto me gustaria saverla, saludos!!!

burff dijo...

probe con la nueva version de xen la 4.1.2 y ahora no tengo problemas con el driver pvgpl lo otro hay que estar muy pendiente q si tienes una giga ethernet contra un swicth gigaethernet el enlace este a 1000mbps pq si no presenta la falla

Pedro Moreno dijo...

Gracias por la info, no he probado la 4.1.2 pero ya pronto estoy por meterle mano ya que ahi que moverse, y sobre todo seguirle los pasos a KVM eee este viene bueno, saludos!!!