Virtualizacion

nehemias jacob nurzua en solint.cl
Mar Oct 23 09:14:38 CLST 2007


Para virtualizar SERVIDORES, es recomendable utilizar un HIPERVISOR.
·ESX y XEN hasta ahora son los hipervisores con mejor desempeño
·Debes considerar si necesitas FullVirtualizacion o Paravirtualizacion.
La ventaja de XEN, es OpenSource.. pueden corregirme, pero creo que 
recientemente fue adquirido por Citrix..
VMWare Workstation es un producto de gama baja, comparable comparable 
con Virtualbox y Qemu, de ellos solo Qemu es Libre.

La ventaja de ESX, ademas de ser muy portable, tiene un abanico de 
productos que ghacen tu tarea administrativa mucho mas facil, eso si ni 
hablar el tema de licencias $$$$$$$$$
En conclusion, me quedo con Xen, por el hecho de ser libre, pero si 
tienes $$$$$$ ten por seguro que ESX es la solucion.


Aldrin Gonzalo Martoq Ahumada wrote:
> On 10/16/07, Víctor González Piña <victor.gonzalez en redsalud.gov.cl> wrote:
>   
>> He estado leyendo información respecto de la virtualización de servidores y
>> no he visto nada respecto a comparaciones de desempeño, por ahora he probado
>> vmware y virtualbox, con el primero he tenido algunos problemas con los
>> dispositivos externos, con virtualbox ninguno por ahora, ¿recomiendan algún
>> otro para probar?
>>     
>
> Prueba XEN, yo he tenido excelentes resultados. Los contras es que no
> es tan facil de configurar...
>
> Acabo de realizar las siguientes pruebas comparando la maquina HOST vs
> la maquina GUEST, aprovechando que el tarro no se esta usando a esta
> hora:
> 1. Leer 1GB desde el disco /
> 2. Descomprimir el kernel
> 3. Compilar el kernel
>
> Con XEN, en ambos casos me dio practicamente el mismo resultado. Mi
> configuracion es la siguiente:
> - HP ProLiant DL380 G5 Server series
> - 2 Procesadores Intel Xeon Dual Core 3Ghz, 4MB L2
> - 8 Discos SATA, 150GB configurado como 2 arreglos RAID-5 con 4 discos cada uno
>   - Configuracion de 8 discos por arreglos, 16 discos virtuales en total
> - 16 GB RAM
> - Debian 4.0, kernel 2.6.18-5-xen-vserver-amd64
> - 5 maquinas virtuales, 4 Paravirtual (mismo Debian 4.0) y 1 HVM (Windows 2000)
> - integracion es la maquina HOST, 4 procesadores, aprox 1GB libre de RAM
> - norberto es la maquina GUEST, 3 procesadores de 4, aprox 3GB libre de RAM
>
> De las pruebas, las conclusiones son:
> - La lectura desde disco parece no tener diferencia significante sea
> la maquina HOST o GUEST. Esto porque los discos de la maquina HOST asi
> como las maquinas VIRTUALES estan sobre LVM en el HOST. Al acceder el
> disco directamente, se aprecia una mejora de un 50%!!! (ver Pruebas
> 1-3 versus Prueba 4).
> - El overhead de CPU no es notable, la compilacion del kernel es muy similar.
> ==> En maquinas paravirtualizadas, obtienes el mismo performance tanto
> en la maquina host como guest.
>
>
> No tengo el tiempo de quitar LVM y probar si es mejor, pero buee..
>
> ================= INICIO LOG ===============
> --- Prueba #1 (GUEST) LEER DISCO / de DomU ---
> norberto:~# time dd if=/dev/sda1 of=/dev/null bs=1M count=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 10.342 seconds, 104 MB/s
>
> real    0m10.349s
> user    0m0.000s
> sys     0m0.164s
> norberto:~# time dd if=/dev/sda1 of=/dev/null bs=1M count=1024 skip=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 15.615 seconds, 68.8 MB/s
>
> real    0m15.619s
> user    0m0.000s
> sys     0m0.128s
> norberto:~# time dd if=/dev/sda1 of=/dev/null bs=1M count=1024 skip=2048
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 10.4133 seconds, 103 MB/s
>
> real    0m10.417s
> user    0m0.004s
> sys     0m0.160s
>
>
>
> --- Prueba #2 (HOST) LEER DISCO LVM / de Dom0  ---
> integracion:~/src# time dd if=/dev/mapper/integracion-root
> of=/dev/null bs=1M count=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 9.21706 seconds, 116 MB/s
>
> real    0m9.221s
> user    0m0.000s
> sys     0m0.316s
> integracion:~/src# time dd if=/dev/mapper/integracion-root
> of=/dev/null bs=1M count=1024 skip=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 9.21424 seconds, 117 MB/s
>
> real    0m9.220s
> user    0m0.004s
> sys     0m0.640s
> integracion:~/src# time dd if=/dev/mapper/integracion-root
> of=/dev/null bs=1M count=1024 skip=2048
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 9.9915 seconds, 107 MB/s
>
> real    0m10.004s
> user    0m0.000s
> sys     0m0.956s
>
>
>
> --- Prueba #3 (HOST) LEER DISCO LVM / de DomU ---
> integracion:~/src# time dd if=/dev/vm-norberto/root of=/dev/null bs=1M
> count=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 9.70968 seconds, 111 MB/s
>
> real    0m9.723s
> user    0m0.000s
> sys     0m0.356s
> integracion:~/src# time dd if=/dev/vm-norberto/root of=/dev/null bs=1M
> count=1024 skip=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 9.61394 seconds, 112 MB/s
>
> real    0m9.619s
> user    0m0.000s
> sys     0m0.352s
> integracion:~/src# time dd if=/dev/vm-norberto/root of=/dev/null bs=1M
> count=1024 skip=2048
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 9.69174 seconds, 111 MB/s
>
> real    0m9.696s
> user    0m0.000s
> sys     0m0.368s
>
>
>
> --- Prueba #4 (HOST) LEER DISCOS RAW-no-LVM ---
> integracion:~/src# time dd if=/dev/cciss/c0d8 of=/dev/null bs=1M count=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 5.89464 seconds, 182 MB/s
>
> real    0m5.905s
> user    0m0.000s
> sys     0m0.436s
> integracion:~/src# time dd if=/dev/cciss/c0d8 of=/dev/null bs=1M
> count=1024 skip=1024
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 7.89307 seconds, 136 MB/s
>
> real    0m7.900s
> user    0m0.000s
> sys     0m0.464s
> integracion:~/src# time dd if=/dev/cciss/c0d8 of=/dev/null bs=1M
> count=1024 skip=2048
> 1024+0 records in
> 1024+0 records out
> 1073741824 bytes (1.1 GB) copied, 6.22875 seconds, 172 MB/s
>
> real    0m6.234s
> user    0m0.000s
> sys     0m0.480s
>
>
>
> --- Prueba #5 Configuracion VG ---
> integracion:~/src# vgdisplay -v vm-norberto
>     Using volume group(s) on command line
>     Finding volume group "vm-norberto"
>
>   --- Volume group ---
>   VG Name               vm-norberto
>   System ID
>   Format                lvm2
>   Metadata Areas        1
>   Metadata Sequence No  5
>   VG Access             read/write
>   VG Status             resizable
>   MAX LV                0
>   Cur LV                2
>   Open LV               2
>   Max PV                0
>   Cur PV                1
>   Act PV                1
>   VG Size               19.53 GB
>   PE Size               4.00 MB
>   Total PE              4999
>   Alloc PE / Size       4998 / 19.52 GB
>   Free  PE / Size       1 / 4.00 MB
>   VG UUID               HHxzGM-qhbO-1HcD-NOq8-4xMh-JFtf-i1DpqB
>
>   --- Logical volume ---
>   LV Name                /dev/vm-norberto/swap
>   VG Name                vm-norberto
>   LV UUID                KPkpyw-rpo4-RmfB-G28V-P54X-ZUxZ-M8Y50C
>   LV Write Access        read/write
>   LV Status              available
>   # open                 1
>   LV Size                2.00 GB
>   Current LE             512
>   Segments               1
>   Allocation             inherit
>   Read ahead sectors     0
>   Block device           254:6
>
>   --- Logical volume ---
>   LV Name                /dev/vm-norberto/root
>   VG Name                vm-norberto
>   LV UUID                dXNOWH-Yy3D-1Zeo-Jlbi-fTqV-l4DB-wjoVnl
>   LV Write Access        read/write
>   LV Status              available
>   # open                 1
>   LV Size                17.52 GB
>   Current LE             4486
>   Segments               1
>   Allocation             inherit
>   Read ahead sectors     0
>   Block device           254:7
>
>   --- Physical volumes ---
>   PV Name               /dev/cciss/c0d8
>   PV UUID               gf1JwB-FO79-qgPT-w7HV-pfPF-i2Nz-Qd08Ig
>   PV Status             allocatable
>   Total PE / Free PE    4999 / 1
>
>
>
> --- Prueba #6 Configuracion maquina virtual ---
> integracion:~/src# more /etc/xen/norberto.cfg
>
> name="norberto"
> memory="4096"
> disk=["phy:/dev/vm-norberto/root,sda1,w", "phy:/dev/vm-norberto/swap,sda2,w", "p
> hy:/dev/vg-db2cert/db2cert,sda4,w" ]
> vif = [ 'mac=00:16:3e:46:1c:ef, bridge=xenbr0', ]
> vfb = ["type=vnc,vncdisplay=4,vnclisten=0.0.0.0"]
> uuid = "eb4c2a80-4cb7-e76e-5682-44b1213a6dd6"
> root="/dev/sda1 ro"
> kernel="/boot/vmlinuz-2.6.18-5-xen-vserver-amd64"
> ramdisk="/boot/initrd.img-2.6.18-5-xen-vserver-amd64"
> vcpus=3
> on_reboot   = 'restart'
> on_crash    = 'restart'
>
>
>
> --- Prueba #7 /proc/cpuinfo (4 procesadores) ---
> processor       : 3
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU            5160  @ 3.00GHz
> stepping        : 6
> cpu MHz         : 2999.718
> cache size      : 4096 KB
> physical id     : 3
> siblings        : 1
> core id         : 0
> cpu cores       : 1
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 10
> wp              : yes
> flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36
> clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc
> pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
> bogomips        : 7501.17
> clflush size    : 64
> cache_alignment : 64
> address sizes   : 36 bits physical, 48 bits virtual
> power management:
>
>
>
> --- Prueba #8 memoria (16 GB total) ---
> integracion:~/src# free
>              total       used       free     shared    buffers     cached
> Mem:       1664000    1641016      22984          0    1027116      25880
> -/+ buffers/cache:     588020    1075980
> Swap:       888824         88     888736
> norberto:~/src# free
>              total       used       free     shared    buffers     cached
> Mem:       4194304    4168208      26096          0    2323852     468552
> -/+ buffers/cache:    1375804    2818500
> Swap:      2097144       1864    2095280
>
>
>
> --- Prueba #9 (GUEST) Descomprimir linux kernel (3 veces, 2 siguientes
> debe haber hit en el cache) ---
> norberto:~/src# time tar xfj linux-2.6.23.1.tar.bz2
>
> real    0m14.044s
> user    0m11.141s
> sys     0m1.400s
> norberto:~/src# time tar xfj linux-2.6.23.1.tar.bz2
>
> real    0m12.836s
> user    0m10.997s
> sys     0m1.440s
> norberto:~/src# time tar xfj linux-2.6.23.1.tar.bz2
>
> real    0m11.858s
> user    0m11.277s
> sys     0m1.596s
>
>
>
> --- Prueba #10 (HOST) Descomprimir linux kernel (3 veces, 2 siguientes
> debe haber hit en el cache) ---
> integracion:~/src# time tar xfj linux-2.6.23.1.tar.bz2
>
> real    0m9.369s
> user    0m8.513s
> sys     0m1.236s
> integracion:~/src# time tar xfj linux-2.6.23.1.tar.bz2
>
> real    0m8.874s
> user    0m8.177s
> sys     0m1.576s
> integracion:~/src# time tar xfj linux-2.6.23.1.tar.bz2
>
> real    0m9.236s
> user    0m8.605s
> sys     0m1.488s
>
>
>
> --- Prueba #11 (GUEST) Compilacion kernel justo despues de descomprimir ---
> Extractos "tipicos" de TOP durante el proceso:
> Cpu0  : 20.2%us,  1.7%sy,  0.0%ni, 78.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu1  : 43.5%us,  3.0%sy,  0.0%ni, 53.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu2  : 25.1%us,  1.7%sy,  0.0%ni, 73.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>
> Cpu0  : 29.5%us,  3.6%sy,  0.0%ni, 66.2%id,  0.0%wa,  0.0%hi,  0.3%si,  0.3%st
> Cpu1  : 25.5%us,  3.3%sy,  0.0%ni, 71.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu2  : 31.3%us,  2.7%sy,  0.0%ni, 66.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>
> Cpu0  : 21.4%us,  2.3%sy,  0.0%ni, 76.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu1  : 50.8%us,  0.3%sy,  0.0%ni, 48.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu2  : 21.3%us,  1.7%sy,  0.0%ni, 77.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>
> norberto:~/src/linux-2.6.23.1# time make
> [...]
> real    4m44.849s
> user    3m57.975s
> sys     0m28.022s
>
> norberto:~/src/linux-2.6.23.1# time make clean
> [...]
>
> real    0m2.394s
> user    0m0.656s
> sys     0m0.724s
> norberto:~/src/linux-2.6.23.1# time make
> [...]
>
> real    4m41.089s
> user    3m55.195s
> sys     0m28.202s
> norberto:~/src/linux-2.6.23.1# time make clean
> [...]
>
> real    0m2.389s
> user    0m0.636s
> sys     0m0.828s
> norberto:~/src/linux-2.6.23.1# time make
> [...]
>
> real    4m44.040s
> user    3m58.015s
> sys     0m27.694s
> norberto:~/src/linux-2.6.23.1# time make clean
> [...]
>
> real    0m2.442s
> user    0m0.692s
> sys     0m0.816s
>
>
>
> --- Prueba #12 (HOST) Compilacion kernel justo despues de descomprimir ---
> Extractos "tipicos" de TOP durante el proceso:
> Cpu0  :  1.7%us,  2.7%sy,  0.0%ni, 95.0%id,  0.0%wa,  0.3%hi,  0.3%si,  0.0%st
> Cpu1  :  4.9%us,  1.4%sy,  0.0%ni, 93.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu2  : 55.7%us, 12.0%sy,  0.0%ni, 32.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu3  : 12.3%us,  3.3%sy,  0.0%ni, 84.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>
> Cpu0  :  2.0%us,  3.0%sy,  0.0%ni, 95.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu1  :  2.6%us,  1.6%sy,  0.0%ni, 95.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu2  : 41.3%us, 10.7%sy,  0.0%ni, 48.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu3  : 23.5%us,  4.0%sy,  0.0%ni, 72.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>
> Cpu0  :  5.0%us,  1.7%sy,  0.0%ni, 93.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu1  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu2  : 63.1%us, 10.0%sy,  0.0%ni, 26.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
> Cpu3  : 10.5%us,  4.9%sy,  0.0%ni, 84.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>
> integracion:~/src/linux-2.6.23.1# time make
> [...]
>
> real    4m45.273s
> user    3m47.066s
> sys     0m40.743s
> integracion:~/src/linux-2.6.23.1# time make clean
> [...]
>
> real    0m2.656s
> user    0m0.648s
> sys     0m0.892s
> integracion:~/src/linux-2.6.23.1# time make
> [...]
>
> real    4m42.694s
> user    3m46.166s
> sys     0m40.047s
> integracion:~/src/linux-2.6.23.1# time make clean
> [...]
>
> real    0m2.646s
> user    0m0.648s
> sys     0m0.792s
> integracion:~/src/linux-2.6.23.1# time make
> [...]
>
> real    4m45.965s
> user    3m47.342s
> sys     0m41.923s
>
> integracion:~/src/linux-2.6.23.1# time make clean
> [...]
>
> real    0m2.613s
> user    0m0.700s
> sys     0m0.848s
>
> ================= FIN   LOG ===============
>
>
>   



Más información sobre la lista de distribución Linux