10
INSTALACIÓN OPENVZ EN DEBIAN LENNY. Contenido. 1. ¿Que es OpenVZ? 2. Preparando los repositorios Debian Lenny. 3. Instalación del Kernel para Virtualización con OpenVZ. 4. Confirmar la correcta instalación de OpenVZ. 5. Configuración. 6. Creación de plantillas. 7. Preparando e iniciando en Entorno Virtual. 8. Personalizar la Instalación. 9. Empaquetar la plantilla. 10. Comprobar el correcto funcionamiento de la plantilla. 11. Limpieza Final. 12. Bibliografía.

Tutorial.instalar.OpenVZ

Embed Size (px)

Citation preview

Page 1: Tutorial.instalar.OpenVZ

INSTALACIÓN OPENVZ EN DEBIAN LENNY.

Contenido.

1. ¿Que es OpenVZ?

2. Preparando los repositorios Debian Lenny.

3. Instalación del Kernel para Virtualización con OpenVZ.

4. Confirmar la correcta instalación de OpenVZ.

5. Configuración.

6. Creación de plantillas.

7. Preparando e iniciando en Entorno Virtual.

8. Personalizar la Instalación.

9. Empaquetar la plantilla.

10. Comprobar el correcto funcionamiento de la plantilla.

11. Limpieza Final.

12. Bibliografía.

Page 2: Tutorial.instalar.OpenVZ

¿Que es OpenVZ?

Antes de empezar a instalar se necesita saber algo de teoría:http://es.wikipedia.org/wiki/OpenVZ

h

Preparando los repositorios Debian Lenny.

1. Verificar que los repositorios sean Debian Lenny (la versión mas reciente).

1

deb http://ftp.us.debian.org/debian/ lenny main contrib non-freedeb-src http://ftp.us.debian.org/debian/ lenny main contrib non-free

d

deb http://security.debian.org/ lenny/updates main contribdeb-src http://security.debian.org/ lenny/updates main contrib

d

* Si no es el caso agregar los repositorios al archivo /etc/apt/sources.list

*

Después hay que actualizar los repositorios y actualizar la distribución debían a la versión Lenny.

D

# apt-get update && apt-get dist-upgrade

#

Instalación del Kernel para Virtualización con OpenVZ.

I

# apt-get install linux-image-openvz-686

#

Este comando se encargara de configurar el Grub he instalar la imagen del kernel con todos los paquetes necesarios como:

p

iproute libatm1 linux-image-2.6.26-1-openvz-686 linux-image-openvz-686 rsync vzctl vzquota

i

Nota: si no se instalan todos los paquetes mencionados anteriormente instalarlos con apt.

Ahora hay que reiniciar la maquina y elegir el Kernel Linux con OpenVZ en el menú del Grub.

A

Por ejemplo: Debian GNU/Linux, kernel 2.6.26-2-openvz-686

P

Confirmar la correcta Instalación de OpenVZ.

C

1. El Kernel:

1

# uname -r2.6.26-2-openvz-686

22

Page 3: Tutorial.instalar.OpenVZ

2. Instalación del Kernel OpenVZ:

2

# ps ax | grep vz 2766 ? S 0:00 [vzmond] 6198 pts/1 R<+ 0:00 grep vz

3. Una Interfaz de Red para los Contenedores:

3

# ifconfigvenet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Configuración.

C

Hay un numero de parámetros en el Kernel que se tiene que establecer para que OpenVz funcione correctamente. Los parámetros se almacenan en el archivo /etc/sysctl.conf esta parte es importante que se modifique con la mayor pertinencia posible.

s

Un ejemplo básico seria el siguiente:

U

[...]

[

# On Hardware Node we generally need# packet forwarding enabled and proxy arp disabled

#

net.ipv4.conf.default.forwarding=1net.ipv4.conf.default.proxy_arp = 0net.ipv4.ip_forward=1

n

# Enables source route verificationnet.ipv4.conf.all.rp_filter = 1

n

# Enables the magic-sysrq keykernel.sysrq = 1

k

# TCP Explict Congestion Notification#net.ipv4.tcp_ecn = 0

#

# we do not want all our interfaces to send redirectsnet.ipv4.conf.default.send_redirects = 1net.ipv4.conf.all.send_redirects = 0

n

[...]

Page 4: Tutorial.instalar.OpenVZ

Ejecute el siguiente comando para cargar la nueva configuración del archivo.

E

# sysctl -p

#

Si cuenta con una partición independiente para sus Plantillas puede crear un enlace simbólico como el siguiente:

s

# ln -s /var/lib/vz /vz

#

Hasta este punto se tiene una completa instalación y configuración de OpenVZ es posible agregar seguridad y otras herramientas parala administración de los entornos virtuales, pero son aspectos que se verán otro tutoríal.

��

Creación de Plantillas.

C

Las plantillas son imágenes pre-creadas que se usan para crear un nuevo Entorno Virtual (EV). Básicamente, una plantilla es un conjunto de paquetes.

B

Prerrequisitos.

P

Se necesita que instale el paquete debootstrap para que se ejecute en su servidor físico OpenVZ (también conocido como nodo de HW).

(

# apt-get install debootstrap

#

Bootstrapping Debian.

B

Se pueden instalar diferentes versiones debian en el directorio /vz/private usando el comando debootstrap.

Los parámetros del comando son:

L

debootstrap --arch ARCH NAME DIRECTORY URL

Dentro de los parámetros del comando es necesario especificar correctamente la arquitectura:

● Para i386/x86 se usa i386● Para MD64/x86_64 se usa AMD64● Para ia64 se usa ia64

P

Instalar una versión debian para la arquitectura i386 en el directorio /vz/private/ con el ID 333 (El ID puede ser cualquier otro):

p

# debootstrap --arch i386 lenny /vz/private/333 http://http.us.debian.org/debian/

hh

Page 5: Tutorial.instalar.OpenVZ

Preparando e iniciando en Entorno Virtual.

P

Se necesita configurar el entorno virtual:

S

# vzctl set 333 --applyconfig vps.basic --save

#

Establecer el VE Ostemplate.

E

También, necesitamos que OSTEMPLATE se establezcan en el archivo de configuración de VE, para el vzctl pueda funcionar correctamente.

e

# sh -c 'echo "OSTEMPLATE=debian-5.0" >> /etc/vz/conf/333.conf'

#

Establecer la dirección para VE.

E

# vzctl set 333 --ipadd x.x.x.x --save

#

Establecer el servidor de nombres para VE.

E

# vzctl set 333 --nameserver x.x.x.x --save

#

Iniciando el Entorno Virtual.

I

1. Iniciar el VE:

1

# vzctl start 333Starting VE ...Initializing quota ...VE is mountedAdding IP address(es): 148.228.20.169Setting CPU units: 1000Configure meminfo: 65536File resolv.conf was modifiedVE start in progress...

V

Personalizar la Instalación.

P

Antes de empaquetar nuestro Entorno virtual a una plantilla es necesario realizar varios aspectos importantes:

i

1. Entrando al entorno virtual y estableciendo rutas:

1

# vzctl enter 333# export PATH=/sbin:/usr/sbin:/bin:/usr/bin

#

2. Establecer los repositorios Debian dentro de VE y obtener actualizaciones:

2

Page 6: Tutorial.instalar.OpenVZ

cat <<EOF > /etc/apt/sources.listdeb http://ftp.us.debian.org/debian/ lenny main contrib non-freedeb-src http://ftp.us.debian.org/debian/ lenny main contrib non-free

d

deb http://security.debian.org/ lenny/updates main contribdeb-src http://security.debian.org/ lenny/updates main contribEOF

E

# apt-get update# apt-get upgrade

#

3. Instalar mas paquetes:

3

# apt-get install ssh quota

#

4. Establecer los permisos correctos al directorio /root:

4

# chmod 700 /root

#

5. Deshabilitar el login root:

5

# usermod -L root

#

6. Deshabilitar getty. Ya que los entornos virtuales no cuentan con getty:

6

# sed -i -e '/getty/d' /etc/inittab

#

7. Fijar /etc/mtab:

7

# rm -f /etc/mtab# ln -s /proc/mounts /etc/mtab

#

8. Borrar algunos paquetes innecesarios. Si tienes cualquier paquete que quieras eliminar, ahora es el momento para ello. He aquí un ejemplo:

m

# dpkg --purge modutils ppp pppoeconf pppoe pppconfig

#

9. Deshabilitar servicios:

9

# update-rc.d -f klogd remove# update-rc.d -f quotarpc remove# update-rc.d -f exim4 remove# update-rc.d -f inetd remove

#

10. Fijar llaves SSH:

1

Esto sólo es útil si se ha instalado SSH. VE Cada persona debe tener su propio par de claves de host SSH. El código siguiente acabará con las claves SSH existentes y dar instrucciones a la recién creada VE para crear nuevas claves SSH en el primer arranque.

Page 7: Tutorial.instalar.OpenVZ

# rm -f /etc/ssh/ssh_host_*

#

cat << EOF > /etc/rc2.d/S15ssh_gen_host_keys#!/bin/bashssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ''ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ''rm -f \$0EOF

E

# chmod a+x /etc/rc2.d/S15ssh_gen_host_keys

#

11. Cambiar Zona Horaria:

1

# ln -sf /usr/share/zoneinfo/Mexico/General /etc/localtime

#

12. Limpiar paquetes:

1

# apt-get clean

#

Ahora todo está hecho. Salir de la plantilla y volver al nodo de hardware.

A

# exitlogoutexited from VE 333

e

Empaquetar la plantilla.

E

1. No se necesita una dirección IP para cualquier VE y definitivamente no lo necesita la cache de la plantilla, por tal motivo hay que removerlo:

p

# vzctl set 333 --ipdel all --save

#

2. Además, eliminar el servidor DNS y la información de dominio en el archivo /etc/resolv.conf de VE:

# nano /vz/private/333/etc/resolv.conf

#

3. También se tiene que liminar el archivo /etc/hostname en VE:

3

# rm -f /vz/private/333/etc/hostname

#

5. Parar el VE:

5

# vzctl stop 333Stopping VE ...VE was stoppedVE is unmounted

Page 8: Tutorial.instalar.OpenVZ

A

6. Posicionarse en el directorio del Entorno Virtual:

6

# cd /vz/private/333

#

7. Ahora se tiene que crear un fichero OS Cache es decir la plantilla como tal, con el siguiente comando:

c

# tar --numeric-owner -zcf /vz/template/cache/debian-5.0-i386-minimal.tar.gz .

#

Nota: es importante establecer de forma correcta la arquitectura y version de su plantilla.

8. Mira el archivo .tar resultante para ver su tamaño:

8

# ls -lh /vz/template/cachetotal 71M-rw-r--r-- 1 root root 71M mar 11 02:53 debian-5.0-i386-minimal.tar.gz

-

Comprobar el correcto funcionamiento de la plantilla.

C

Ahora podremos crear un Entorno Virtual en base a la plantilla recien creada.

A

# vzctl create 123 --ostemplate debian-5.0-i386-minimalCreating VE private area (debian-5.0-i386-minimal)Performing postcreate actionsVE private area was created

V

Ahora hay que asegurarnos de que funcione:

A

# vzctl start 123Starting VE ...VE is mountedSetting CPU units: 1000Configure meminfo: 65536VE start in progress...

V

# vzctl exec 123 ps ax PID TTY STAT TIME COMMAND 1 ? S<s 0:00 init [2] 243 ? S<l 0:00 /usr/sbin/rsyslogd -c3 256 ? S<s 0:00 /usr/sbin/sshd 271 ? S<s 0:00 /usr/sbin/cron 283 ? R<s 0:00 ps ax

Se debe de ver que se están ejecutando algunos procesos.

S

Configuración básica después de crear el entorno virtual:

Page 9: Tutorial.instalar.OpenVZ

C

# vzctl set 123 --ipadd 148.228.20.169 --saveAdding IP address(es): 148.228.20.169Saved parameters for VE 123

S

# vzctl set 123 --nameserver 148.228.20.8 --saveFile resolv.conf was modifiedSaved parameters for VE 123

S

Entrando al VE:

# vzctl enter 123

#

Cambiar nombre de la maquina:

C

# hostname virtual# nano /etc/hostname --> agregar el nombre de la maquina al archivo# nano /etc/hosts --> agregar:

#

127.0.0.1 localhost.localdomain localhost148.228.20.169 virtual.cs.buap.mx virtual

1

Con esto se tendrá un Entorno Virtual con Red y con un nombre diferente y ahora si a trabajar como si fuera un servidor normal.

ff

Limpieza Final.

L

Parar y Eliminar la prueba del Entorno Virtual:

P

# vzctl stop 123# vzctl destroy 123# rm /etc/vz/conf/123.conf.destroyed

#

Por último, vamos a eliminar el VE que se utilizó para la creación de la plantillas de caché:

P

# vzctl destroy 777# rm /etc/vz/conf/777.conf.destroyed

Page 10: Tutorial.instalar.OpenVZ

Bibliografía.

http://wiki.openvz.org/Installation_on_Debianhttp://wiki.openvz.org/Debian_template_creation

Autor del tutorial:

Jorge Alberto Leonor González.Estudiante Ing. Ciencias Computación.Facultad Ciencias Computación BUAP.mail FCC: [email protected] id: jorge.leonorSitio Web: http://shuster.cs.buap.mx