
Open Vz es una herramienta de virtualización a nivel sistema operativo, esto quiere decir que los servidores se virtualizan encima del sistema operativo real, podemos decir que simplemente se aisla los servidores, esta técnica tiene como principal ventaja el rendimiento ya que este es igual a la ejecución nativa, la desventaja es que requiere realizar cambios en el kernel del sistema operativo raíz.
Estos cambios consisten en modificar el kernel de linux preparándolo para virtualizar, por medio de los parches que ofrecen en el sitio web de open vz.
Open Vz esta formado por 2 partes, OpenVz Kernel que es GPL y las user-level-tools que son QPL y nos permiten trabajar con las maquinas virtuales y administrarlas.
Open Vz es un software de virtualización linux sobre linux, esto quiere decir que no se pueden instalar otros sistemas operativos dentro de openvz pero si diferentes distribuciones de linux y versiones del kernel.
Gentoo y Debian Etch ofrecen soporte para virtualizar utilizando Open Vz en forma bien integrada con la distribución, de la misma forma en que Suse lo hace con Xen.
1.- Agregamos los repositorios de OpenVZ:
-------------------------------------------------------------------------------------------------------
#cd /etc/yum.repos.d
#wget http://download.openvz.org/openvz.repo
#rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
-------------------------------------------------------------------------------------------------------
2.- Hacemos una busqueda de los diferentes kernel para OpenVZ
------------------------------------
#yum search ovzkernel
------------------------------------
3.- Instalamos el kernel de openvz:
-----------------------------------
#yum install ovzkernel
-----------------------------------
4.- Debemos setear en grup para que sea el kernel del OpenVZ el que carge por defecto
--------------------------------------
#vi /boot/grub/menu.lst
--------------------------------------
###############################################################
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS OpenVZ (2.6.18-53.1.19.el5.028stab053.14)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.1.19.el5.028stab053.14 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-53.1.19.el5.028stab053.14.img
title CentOS (2.6.18-92.1.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.1.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-92.1.1.el5.img
title CentOS (2.6.18-92.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-92.el5.img
###############################################################
5.- Ahora instalamos herramientas de OpenVZ:
----------------------------------------
#yum install vzctl vzquota
----------------------------------------
6.- Seteamos los siguientes Valores en sysctl.conf
------------------------------
#vi /etc/sysctl.conf
------------------------------
Estos cambios consisten en modificar el kernel de linux preparándolo para virtualizar, por medio de los parches que ofrecen en el sitio web de open vz.
Open Vz esta formado por 2 partes, OpenVz Kernel que es GPL y las user-level-tools que son QPL y nos permiten trabajar con las maquinas virtuales y administrarlas.
Open Vz es un software de virtualización linux sobre linux, esto quiere decir que no se pueden instalar otros sistemas operativos dentro de openvz pero si diferentes distribuciones de linux y versiones del kernel.
Gentoo y Debian Etch ofrecen soporte para virtualizar utilizando Open Vz en forma bien integrada con la distribución, de la misma forma en que Suse lo hace con Xen.
1.- Agregamos los repositorios de OpenVZ:
-------------------------------------------------------------------------------------------------------
#cd /etc/yum.repos.d
#wget http://download.openvz.org/openvz.repo
#rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
-------------------------------------------------------------------------------------------------------
2.- Hacemos una busqueda de los diferentes kernel para OpenVZ
------------------------------------
#yum search ovzkernel
------------------------------------
3.- Instalamos el kernel de openvz:
-----------------------------------
#yum install ovzkernel
-----------------------------------
4.- Debemos setear en grup para que sea el kernel del OpenVZ el que carge por defecto
--------------------------------------
#vi /boot/grub/menu.lst
--------------------------------------
###############################################################
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS OpenVZ (2.6.18-53.1.19.el5.028stab053.14)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.1.19.el5.028stab053.14 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-53.1.19.el5.028stab053.14.img
title CentOS (2.6.18-92.1.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.1.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-92.1.1.el5.img
title CentOS (2.6.18-92.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-92.el5.img
###############################################################
5.- Ahora instalamos herramientas de OpenVZ:
----------------------------------------
#yum install vzctl vzquota
----------------------------------------
6.- Seteamos los siguientes Valores en sysctl.conf
------------------------------
#vi /etc/sysctl.conf
------------------------------
###############################################################
[...]
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
[...]
###############################################################
7.- Verificamos el archivo de sysctl.conf
---------------
#sysctl -p
---------------
8.- Modificamos el archivo vz.conf
-----------------------------
# vi /etc/vz/vz.conf
-----------------------------
###############################################################
[...]
NEIGHBOUR_DEVS=all
[...]
###############################################################
NEIGHBOUR_DEVS=all
[...]
###############################################################
9.- Debemos desabilitar SELinux
----------------------------------------
#vi /etc/sysconfig/selinux
----------------------------------------
###############################################################
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
###############################################################
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
###############################################################
Esto tambien lo podemos hacer ingresando al modo setup
-----------
#setup
-----------
Luego entrar en Firewall Configuration y ahi deshabilitar
Security Level : Disabled
SELinux : Disabled
10.- Reiniciar y luego verificar que haya booteado con el kernel de OpenVZ
----------------
#reboot
#uname -r
----------------
Debera mostrar algo similar a:
2.6.18-53.1.19.el5.028stab053.14
Hasta aqui ya tenemos instalado correctamente OpenVZ ahora viene la parte de crear y administrar nuestras maquinas virtuales.
11.- Usamos los templates de OpenVZ
OpenVz se basa en templates que usa como sistemas operativos para sus maquinas virtuales; por lo tanto debemos de bajar algun template del sistema operativo que deseamos para poder crear nuestra maquina virtual.
Aqui encontraras los templates que necesites:
http://wiki.openvz.org/Download/template/precreated
-------------------------------------------------------------------------------------------------------------------------
#cd /vz/template/cache
#wget http://download.openvz.org/template/precreated/contrib/centos-5-i386-default.tar.gz
-------------------------------------------------------------------------------------------------------------------------
12.- Creamos la VM (virtual Machine)
-----------------------------------------------------------------------------------------------
#vzctl create 101 --ostemplate centos-5-i386-default --config vps.basic
-----------------------------------------------------------------------------------------------
Tener en cuenta que el ID 101 debe ser el unico que exista si se crea otra maquina debera tener 102 y asi sucesivamente.
13.- Seteamos para que la VM inicie automaticamente cuando se reinicie el anfitrion
----------------------------------------------
#vzctl set 101 --onboot yes --save
----------------------------------------------
14.- Setear el hostname e IP de la VM
-------------------------------------------------------------------------
#vzctl set 101 --hostname test.example.com --save
#vzctl set 101 --ipadd 192.168.0.101 --save
-------------------------------------------------------------------------
Nota: Si queremos borrar un IP ya seteado
-----------------------------------------------------------
#vzctl set 101 --ipdel 192.168.0.101 --save
-----------------------------------------------------------
15.- Ahora seteamos el numero de sockets y los nameservers
--------------------------------------------------------------------------------------------------
#vzctl set 101 --numothersock 120 --save
#vzctl set 101 --nameserver 213.133.98.98 --nameserver 213.133.99.99
--------------------------------------------------------------------------------------------------
16.- Seteamos tamaños de HD
Aqui encontraras los templates que necesites:
http://wiki.openvz.org/Download/template/precreated
-------------------------------------------------------------------------------------------------------------------------
#cd /vz/template/cache
#wget http://download.openvz.org/template/precreated/contrib/centos-5-i386-default.tar.gz
-------------------------------------------------------------------------------------------------------------------------
12.- Creamos la VM (virtual Machine)
-----------------------------------------------------------------------------------------------
#vzctl create 101 --ostemplate centos-5-i386-default --config vps.basic
-----------------------------------------------------------------------------------------------
Tener en cuenta que el ID 101 debe ser el unico que exista si se crea otra maquina debera tener 102 y asi sucesivamente.
13.- Seteamos para que la VM inicie automaticamente cuando se reinicie el anfitrion
----------------------------------------------
#vzctl set 101 --onboot yes --save
----------------------------------------------
14.- Setear el hostname e IP de la VM
-------------------------------------------------------------------------
#vzctl set 101 --hostname test.example.com --save
#vzctl set 101 --ipadd 192.168.0.101 --save
-------------------------------------------------------------------------
Nota: Si queremos borrar un IP ya seteado
-----------------------------------------------------------
#vzctl set 101 --ipdel 192.168.0.101 --save
-----------------------------------------------------------
15.- Ahora seteamos el numero de sockets y los nameservers
--------------------------------------------------------------------------------------------------
#vzctl set 101 --numothersock 120 --save
#vzctl set 101 --nameserver 213.133.98.98 --nameserver 213.133.99.99
--------------------------------------------------------------------------------------------------
16.- Seteamos tamaños de HD
Algo a tener en cuenta es que cuando se crea una maquina virtual este por defecto tiene solo 1GB de HD por lo tanto no olvidar setear este valor a uno mas conveniente. Tambien seteamos las unidades de cpu.
---------------------------------------------------------------------------------
#vzctl set 101 --diskspace 30G:30G --cpuunits 33000 –save
---------------------------------------------------------------------------------
17.- Iniciamos la VM
--------------------
#vzctl start 101
--------------------
18.- Fijamos el password de root
-------------------------------
#vzctl exec 101 passwd
-------------------------------
19.- Podemos conectarnos a la maquina virtual via ssh o directamente
---------------------
#vzctl enter 101
---------------------
20.- Iniciar, detener, reiniciar, status, eliminar, el VPS:
--------------------------------------------------------
---------------------------------------------------------------------------------
#vzctl set 101 --diskspace 30G:30G --cpuunits 33000 –save
---------------------------------------------------------------------------------
17.- Iniciamos la VM
--------------------
#vzctl start 101
--------------------
18.- Fijamos el password de root
-------------------------------
#vzctl exec 101 passwd
-------------------------------
19.- Podemos conectarnos a la maquina virtual via ssh o directamente
---------------------
#vzctl enter 101
---------------------
20.- Iniciar, detener, reiniciar, status, eliminar, el VPS:
--------------------------------------------------------
#vzctl start stop restart status destroy 101
--------------------------------------------------------
21.- Listar las VM
-------------
#vzlist -a
-------------
Ahora para generar un dump de las maquinas virtuales podemos usar VZdump , que es una herramienta muy util para generar snapshots de nuestras VMs
1.- descargar el rpm cstream-2.7.4-3.el4.rf.i386.rpm
-----------------------------------------------------------------------------------------------------------------------------------
#wget ftp://fr.rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/cstream-2.7.4-3.el4.rf.i386.rpm
--------------------------------------------------------
21.- Listar las VM
-------------
#vzlist -a
-------------
Ahora para generar un dump de las maquinas virtuales podemos usar VZdump , que es una herramienta muy util para generar snapshots de nuestras VMs
1.- descargar el rpm cstream-2.7.4-3.el4.rf.i386.rpm
-----------------------------------------------------------------------------------------------------------------------------------
#wget ftp://fr.rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/cstream-2.7.4-3.el4.rf.i386.rpm
-----------------------------------------------------------------------------------------------------------------------------------
2.- luego descargar vzdump-1.1-2.noarch.rpm del siguiente enlace:
http://download.openvz.org/contrib/utils/vzdump/
3.- Instalar un MTA ya que es necesario para vzdump por que tiene esa dependencia.
------------------------
#yum install MTA
------------------------
4.- Instalar el cstream
-------------------------------------------------------
#rpm -ivh cstream-2.7.4-3.el4.rf.i386.rpm
-------------------------------------------------------
5.- Instalar finalmente el vzdump
-----------------------------------------------
#rpm -ivh vzdump-1.1-2.noarch.rpm
-----------------------------------------------
6.- Ahora instalamos el rsync
-------------------------
#yum install rsync
-------------------------
7.- Ahora como lo usamos pues bien
-------------------------------------------------------------------------------
#vzdump --compress --dumpdir /home/backup --stop --all
-------------------------------------------------------------------------------
Esto genera un backup de todas nuestras VMs
--compress genera un tgz de cada VMs
--dumpdir se indica donde se desea que almacene el tgz
--stop detiene previamente las VMs antes de generar el snapshot hay otras opciones mas optimas que la de el detener las VMs para generar su snapshot como la de suspend
--suspend: suspende las VMs , hace una copia via rsync a un directorio temporal.
--all: todas las VMs
Nota: Sino se indica el dumpdir por default guardara el snapshot en /vz/dump or /var/lib/vz/dump
Usando la opcion suspend seria mas o menos asi:
----------------------------------------------------
#vzdump --compress --suspend 101
----------------------------------------------------
8.- Si se quiere llevar nuestra VM a otra PC y restaurarlo; primero lo copiamos con security copy (scp), si no sabes como usar este comando la sintaxys es muy simple
scp filequequierocopiar user@lapcdestino:/ruta
Nota: el usuario user debe existir en el equipo 192.168.0.101
-------------------------------------------------------------------------------
#scp /vz/dump/vzdump-101.tgz root@192.168.0.101:/home
-------------------------------------------------------------------------------
9.- Para restaurar la VMs en la maquina en la que fue copiada:
---------------------------------------------------------------
#vzdump --restore /home/vzdump-101.tgz 250
---------------------------------------------------------------
10.- Ahora iniciamos la VM
--------------------
#vzctl start 250
--------------------
11.- Ahora seteamos un nuevo nombre a nuestra VM recien copiada
------------------------------------------------------------------
#vzctl set 250 --hostname vm.example.com --save
------------------------------------------------------------------
12.- No olvidar ponerle un nuevo IP para eso borramos el IP que tenia y añadimos el nuevo
-----------------------------------------------------------
#vzctl set 250 --ipdel 192.168.0.101 --save
-----------------------------------------------------------
-----------------------------------------------------------
#vzctl set 250 --ipadd 192.168.0.102 --save
-----------------------------------------------------------
13.- Prendemos nuestra nueva VMs
--------------------
#vzctl start 250
--------------------
http://download.openvz.org/contrib/utils/vzdump/
3.- Instalar un MTA ya que es necesario para vzdump por que tiene esa dependencia.
------------------------
#yum install MTA
------------------------
4.- Instalar el cstream
-------------------------------------------------------
#rpm -ivh cstream-2.7.4-3.el4.rf.i386.rpm
-------------------------------------------------------
5.- Instalar finalmente el vzdump
-----------------------------------------------
#rpm -ivh vzdump-1.1-2.noarch.rpm
-----------------------------------------------
6.- Ahora instalamos el rsync
-------------------------
#yum install rsync
-------------------------
7.- Ahora como lo usamos pues bien
-------------------------------------------------------------------------------
#vzdump --compress --dumpdir /home/backup --stop --all
-------------------------------------------------------------------------------
Esto genera un backup de todas nuestras VMs
--compress genera un tgz de cada VMs
--dumpdir se indica donde se desea que almacene el tgz
--stop detiene previamente las VMs antes de generar el snapshot hay otras opciones mas optimas que la de el detener las VMs para generar su snapshot como la de suspend
--suspend: suspende las VMs , hace una copia via rsync a un directorio temporal.
--all: todas las VMs
Nota: Sino se indica el dumpdir por default guardara el snapshot en /vz/dump or /var/lib/vz/dump
Usando la opcion suspend seria mas o menos asi:
----------------------------------------------------
#vzdump --compress --suspend 101
----------------------------------------------------
8.- Si se quiere llevar nuestra VM a otra PC y restaurarlo; primero lo copiamos con security copy (scp), si no sabes como usar este comando la sintaxys es muy simple
scp filequequierocopiar user@lapcdestino:/ruta
Nota: el usuario user debe existir en el equipo 192.168.0.101
-------------------------------------------------------------------------------
#scp /vz/dump/vzdump-101.tgz root@192.168.0.101:/home
-------------------------------------------------------------------------------
9.- Para restaurar la VMs en la maquina en la que fue copiada:
---------------------------------------------------------------
#vzdump --restore /home/vzdump-101.tgz 250
---------------------------------------------------------------
10.- Ahora iniciamos la VM
--------------------
#vzctl start 250
--------------------
11.- Ahora seteamos un nuevo nombre a nuestra VM recien copiada
------------------------------------------------------------------
#vzctl set 250 --hostname vm.example.com --save
------------------------------------------------------------------
12.- No olvidar ponerle un nuevo IP para eso borramos el IP que tenia y añadimos el nuevo
-----------------------------------------------------------
#vzctl set 250 --ipdel 192.168.0.101 --save
-----------------------------------------------------------
-----------------------------------------------------------
#vzctl set 250 --ipadd 192.168.0.102 --save
-----------------------------------------------------------
13.- Prendemos nuestra nueva VMs
--------------------
#vzctl start 250
--------------------
No hay comentarios:
Publicar un comentario