Eucalyptus

De Ardemans Wiki
Saltar a: navegación, buscar

Enlaces relacionados

Instalación de plataforma de prueba

Preparación

Para las pruebas voy a usar vmware player 5.1, y los servidores anfitriones serán en realidad máquinas virtuales. Para que el rendimiento de kvm sea óptimo a los servidores que contendrán las vm, los nc (node controller) tendrán configurado en el procesador de vmware player la opción de virutalize Intel Vt-x/EPT or AMD-V/RVI

Infraestructura inicial

Para esta prueba vamos a contar con 3 servidores:

  • KOALACLC01 (cloud controller)
    • 1Gb de Ram
    • 1 CPU
    • 10Gb de Hd
  • KOALACC01 (cluster controller)
    • 1Gb de Ram
    • 1 CPU
    • 10Gb de Hd
  • KOALANC01 (node controller)
    • 4Gb de Ram
    • 1 CPU
    • 10Gb de Hd

Redes

Para las redes, inicialmente vamos a añadir 3 vlanes a las máquinas, aunque puede que solo usemos 1 o 2. Todas las máquinas tendrán 3 tarjetas, con las redes:

  • 192.168.3.X (NAT de vmware player)
  • 192.168.10.X (interna)
  • 192.168.20.X (interna)

y cada máquina tiene asignada una cifra final para cada una de esas redes:

  • KOALACLC01 -> 61
  • KOALACC01 -> 63
  • KOALANC01 -> 65

S.O.

Todas las máquinas están instaladas inicialmente con Centos 6.3 minimal, que nos podemos descargar desde este enlace.

Firewall y seguridad

Para evitar problemas durante las pruebas se desactiva selinux, cambiando el fichero de configuración /etc/sysconfig/selinux con el parámetro SELINUX=permissive

También se quitan las reglas por defecto de iptables, vaciando el fichero /etc/sysconfig/iptables

Verificación de VLAN y TAGs

En la máquina CC que hemos preparado, elegimos el interface de red eth1 (192.168.10.63) y le configuramos un TAG de VLAN, para el rango de ip's 192.168.100.X:

vconfig add eth1 100
ifconfig eth1.100 192.168.100.63

y lo mismo hacemos con la máquina Node Controller NC

vconfig add eth1 100
ifconfig eth1.100 192.168.100.65

Si todo hay ido bien, podremos hacer ping entre las dos máquinas a estas vlanes

Configuración de Hipervisores

Como hemos elegido CENTOS 6 con la instalación de los NC se instalará ya KVM, y por ello no tendremos que hacer nada, pero con otras distribuciones si que hay que realizar algunas tareas previas.

Configuración de Bridges

Al haber elegido el modo de red Managed no tenemos que realizar una configuración previa de los bridges para las VM.


Configuración de NTP

Cada una de las máquinas de eucalyptus necesita tener instalado el demonio NTP, para lo cual lo tenemos que instalar

# yum install ntp

Modificamos el fichero /etc/ntp.conf para poner los servidores de hora que tengamos nosotros, los que aparecen en el fichero por defecto también funcionan, y despues lo dejamos preparado para que arranque con cada inicio:

# chkconfig ntpd on


Instalación

Para la instalación seguimos los pasos que hay en esta pagina para Centos 6

En primer lugar vamos al servidor que hará de cloud controller, KOALACLC01, y añadimos todos los repositorios necesarios para la instalación:

# yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/centos/6/x86_64/eucalyptus-release-3.1.noarch.rpm
# yum install http://downloads.eucalyptus.com/software/euca2ools/2.1/centos/6/x86_64/euca2ools-release-2.1.noarch.rpm
# yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/centos/6/x86_64/epel-release-6.noarch.rpm
# yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/centos/6/x86_64/elrepo-release-6.noarch.rpm

Después instalamos el grupo de paquetes de cloud controller:

yum groupinstall eucalyptus-cloud-controller

Y tambien instalamos en este mismo servidor el walrus

# yum install eucalyptus-walrus


Ahora en el servidor node controller, KOALANC01, añadimos los repositorios necesarios.

# yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/centos/6/x86_64/eucalyptus-release-3.1.noarch.rpm
# yum install http://downloads.eucalyptus.com/software/euca2ools/2.1/centos/6/x86_64/euca2ools-release-2.1.noarch.rpm
# yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/centos/6/x86_64/epel-release-6.noarch.rpm

El servidor en el que estoy haciendo la instalación tiene procesador intel, así que tenemos que cargar el módulo apropiado para kvm:

modprobe kvm_intel
modprobe vhost_net

y después instalamos el paquete de node controller

# yum install eucalyptus-nc

Ahora le toca el turno al cluster controller, que es el KOALACC01. Primero añadimos los repositorios:

# yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/centos/6/x86_64/eucalyptus-release-3.1.noarch.rpm
# yum install http://downloads.eucalyptus.com/software/euca2ools/2.1/centos/6/x86_64/euca2ools-release-2.1.noarch.rpm
# yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/centos/6/x86_64/epel-release-6.noarch.rpm

y en este instalamos los paquetes de eucalyptus-cc y eucalyptus-sc.

# yum install eucalyptus-cc eucalyptus-sc

Configuración

La configuración de los componentes de Eucalyptus se realiza a través del fichero de configuración /etc/eucalyptus/eucalyptus.conf

En primer lugar editamos el .conf de la máquina CC con los siguientes parámetros:

  • Añadimos el parámetro que configura el modo de red en Managed
VNET_MODE="MANAGED"
  • Añadimos la subred en la que estarán nuestras VM, en nuestro caso es la red 192.168.100
VNET_SUBNET="192.168.100.0"
VNET_NETMASK="255.255.255.0"
  • Especifiamos el DNS que vamos a usar (en mi caso estoy usando el del router, y es probable que lo tenga que cambiar)
VNET_DNS="192.168.3.2"
  • Numero de instancias simultaneas en el mismo grupo de seguirdad
VNET_ADDRSPERNET="32"
  • La ip (o varias) pública para nuestra granja
VNET_PUBLICIPS="192.168.3.71 192.168.3.72"
  • La ip que es accesible desde el Cloud Controller
VNET_LOCALIP="192.168.3.63"
  • Los parámetros que definien el uso del servidor DHCP Local (los he dejado por defecto)
VNET_DHCPDAEMON="/usr/sbin/dhcpd41"
VNET_DHCPUSER="dhcpd"

Además, vamos a tratar a los NC como si estuvieran aislado de las redes de usuario final que accede a estas máquinas virtuales, para lo cual vamos a definier el como se comunicacan los CC a los NC (por el eth1):

VNET_PRIVINTERFACE="eth1"
VNET_PUBINTERFACE="eth0"

Ahora nos conectamos al servidor NC KOALANC01 y configuramos los siguientes parámetros del fichero .conf:

  • Ponemos la red en modo managed
  • Configuramos el interface público para que sea el eth1

Configuración de los hipervisores

Al haber elegido Centos 6 no hace falta que toquemos nada, pero si hemos elegido otra distribución si que habría que realizar algunas configuraciones.

Configurar los dispositivos de bucle

En Centos 6 no hace falta hacer cambios, a no ser que queramos modificar el numero máximo de dispositivos que queramos realizar. Ver el pdf de instalación para más info

Primer inicio

Arrancamos el servicio por primera vez, primero empezamos con el servicio cloud controller (CLC). Antes de arrancarlo hay que iniciarlizarlo, ejecutando:

euca_conf --initialize

y con eso, el servicio ya está arrancado, aunque si no es así tendremos que hacerlo a mano:

service eucalyptus-cloud start

Esto además arranca el walrus, ya que lo hemos instalado en la misma maquina que el clc

Después nos vamos a la máquina KOALACC01 y arrancamos el servicios CC:

service eucalyptus-cc start

y de paso arrancamos el servico SC, que también se arranca con es mismo script que la cloud

service eucalyptus-cloud start

Por último, arrancamos los node controller, en KOALANC01:

service eucalyptus-nc start

Registro de componentes

Desde la máquina CLC tendremos que ejecutar los siguientes comandos para registrar todos los componentes dentro del cloud controller:

#euca_conf --register-walrus --partition walrus --host 192.168.3.61 --component walrus-KOALACLC0
#euca_conf --register-cluster --partition cluster01 --host 192.168.3.63 --component cc-KOALACC01
#euca_conf --register-sc --partition cluster01 --host 192.168.3.63 --component sc-KOALACC01

y los NC se registran desde los CC: