Imprimir

Crear un entorno de 4 máquinas virtuales Xen para un cluster

Xen nos permite crear un cluster virtual en un único ordenador sobre un grupo de máquinas virtuales Xen. Veamos cómo crear un entorno de 4 máquinas virtuales Xen (4 domU, 1 master + 3 esclavos) para poder configurar posteriormente un cluster PVM, MPI, etc.

  1. Instalamos Xen en nuestra máquina.
  2. Creamos 4 domU: uno de ellos (master) se encargará de administrar el cluster, los otros 3 (slave1, slave2, slave3) serán los esclavos.
  3. DNS local: en cada domU añadiremos en el archivo /etc/hosts sus IPs y sus nombres:
    192.168.0.200 master
    192.168.0.201 slave1
    192.168.0.202 slave2
    192.168.0.203 slave3
  4. Filesystem compartido: el master exportará mediante NFS (paquete nfs-kernel-server) su directorio /home, añadiendo en el archivo /etc/exports la línea:
    /home       192.168.0.0/255.255.255.0(rw,sync)

    En los esclavos usaremos mount para montar el directorio exportado:

    # mount -t nfs 192.168.0.200:/home /home

    Para que los esclavos lo monten al arrancar editaremos /etc/fstab y añadiremos la línea:

    # File_system            Mount_point Type Options       Dump Pass
    192.168.0.200:/home      /home       nfs  rw,hard,intr  0    0

    Comprobaremos en cada esclavo que podemos escribir en /home:

    # touch delete.me
  5. Habilitar SSH sin password: para que el master pueda ejecutar comandos remotos en los esclavos vía SSH instalaremos en los esclavos el servidor SSH (paquete openssh-server) y los configuraremos para que acepten conexiones desde el master sin pedir password ni pass-phrase (utilizaremos el mismo usuario en todas las máquinas). Para ello:

    - crearemos una clave RSA en el master:

    francis@master:~$ ssh-keygen -t rsa -f ~/.ssh/id_rsa

    - activaremos ssh-agent en el master para que no nos pida la pass-phrase:

    francis@master:~$ eval `ssh-agent -s`
    Agent pid 12297
    francis@master:~$ ssh-add
    Enter passphrase for /home/francis/.ssh/id_rsa:
    Identity added: /home/francis/.ssh/id_rsa (/home/francis/.ssh/id_rsa)

    - copiaremos la clave pública (~/.ssh/id_rsa.pub) en todos los esclavos:

    francis@master:~$ scp ~/.ssh/id_rsa.pub francis@slave1:~/.ssh/id_rsa.pub

    - la añadiremos al final del fichero ~/.ssh/authorized_keys en cada esclavo:

    francis@slave1:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    - y comprobaremos que podemos iniciar sesión SSH en los esclavos sin que nos pida password:

    francis@master:~$ ssh slave1
    francis@slave1:~$

Deja un comentario