Installation de AoE

Les notes disponibles ci-dessous sont issues des rushs de documentation d'installation sur le cluster du CBP : 48 noeuds Sun v22z.

L'objectif est d'installer XtreemFS sur les noeuds v22z de 1 à 8 avec la machine x2100 comme maître.

Prérequis

  • le système installé est une Debian stable Squeeze 6, sur le maître comme sur les noeuds
  • le paquet clustershell est installé sur le maître
  • le maître peut se connecter sur les noeuds sans login/mot de passe

Installation

Préparation sur le maître

Les commandes suivantes sont à taper comme root :

apt-get install uuid-runtime attr
apt-get install sun-java6-bin sudo default-jre-headless
apt-get install libboost-program-options1.42.0 libicu44 libboost-regex1.42.0 libboost-system1.42.0 libboost-thread1.42.0

cd /root
wget http://download.opensuse.org/repositories/home:/xtreemfs/Debian_6.0/amd64/xtreemfs-client_1.3.1_amd64.deb
wget http://download.opensuse.org/repositories/home:/xtreemfs/Debian_6.0/all/xtreemfs-backend_1.3.1_all.deb
wget http://download.opensuse.org/repositories/home:/xtreemfs/Debian_6.0/all/xtreemfs-server_1.3.1_all.deb
wget http://download.opensuse.org/repositories/home:/xtreemfs/Debian_6.0/all/xtreemfs-tools_1.3.1_all.deb
dpkg -i xtreemfs-tools_1.3.1_all.deb xtreemfs-server_1.3.1_all.deb xtreemfs-backend_1.3.1_all.deb xtreemfs-client_1.3.1_amd64.deb

Les commandes suivantes sont à taper comme root :

Sur les noeuds (les OSD)

apt-get install uuid-runtime attr
apt-get install sun-java6-bin sudo default-jre-headless
cd /root
clush -b -w v22z[1-8] --copy xtreemfs-backend_1.3.1_all.deb --dest /root/xtreemfs-backend_1.3.1_all.deb
clush -b -w v22z[1-8] --copy xtreemfs-server_1.3.1_all.deb --dest /root/xtreemfs-server_1.3.1_all.deb
clush -b -w v22z[1-8] --copy xtreemfs-tools_1.3.1_all.deb --dest /root/xtreemfs-tools_1.3.1_all.deb
clush -b -w v22z[1-8] 'dpkg -i xtreemfs-tools_1.3.0_all.deb xtreemfs-server_1.3.0_all.deb xtreemfs-backend_1.3.0_all.deb'

A l'installation, le /etc/xos/xtreemfs/osdconfig.properties est identique pour tous les noeuds : on en crée un spécifique

# Préparation des partitions
# Purge de la table des partitions (MBR compris)
clush -b -w v22z[1-8] 'dd if=/dev/zero of=/dev/sda bs=512 count=65536'
# Création d'une MBR minimale
clush -b -w v22z[1-8] 'parted -s -- /dev/sda mklabel msdos'
# Création d'une partition sur la totalité du disque
clush -b -w v22z[1-8] 'parted -s -- /dev/sda mkpart primary 1 -1'
# Vérification de la création de la table de partition
clush -b -w v22z[1-8] 'fdisk -l /dev/sda'
# Formatage de la partitions
clush -b -w v22z[1-8] 'mkfs.ext4 -m 0 /dev/sda1'
# Vérifier le contenu des montages automatique dans /etc/fstab
clush -b -w v22z[1-8] 'cat /etc/fstab'
# Valider le montage automatique dans /etc/fstab
clush -b -w v22z[1-8] 'echo -e "/dev/sda1\t/media/sda\tauto\tnoatime,nodiratime,user_xattr\t0\t0" >> /etc/fstab'
# Création de la partition de montage
clush -b -w v22z[1-8] "[ ! -d /media/sda ] && mkdir /media/sda" 
# Monter les partitions /dev/sda
clush -b -w v22z[1-8] 'mount /media/sda'
# Vérifier le montage de /dev/sda
clush -b -w v22z[1-8] 'df /media/sda | grep sda'
# Suppression dans le /etc/xos/xtreemfs/osdconfig.properties de l'UUID en fin
# Conservation du fichier originel
clush -b -w v22z[1-8] mv /etc/xos/xtreemfs/osdconfig.properties /etc/xos/xtreemfs/osdconfig.properties.orig 
clush -b -w v22z[1-8] 'cat /etc/xos/xtreemfs/osdconfig.properties.orig | grep -v "uuid = " >  /etc/xos/xtreemfs/osdconfig.properties'
clush -b -w v22z[1-8] cat /etc/xos/xtreemfs/osdconfig.properties
clush -b -w v22z[1-8] '/etc/xos/xtreemfs/generate_uuid /etc/xos/xtreemfs/osdconfig.properties'
# Vérification de la création de l'uuid
clush -b -w v22z[1-8] 'cat /etc/xos/xtreemfs/osdconfig.properties | grep "uuid =" '
# Modifier la designation du DIR et du MRC dans osdconfig.properties
# dir_service.host = 172.16.20.95
clush -b -w v22z[1-8] 'sed -i "s/localhost/172.16.20.95/g" /etc/xos/xtreemfs/osdconfig.properties'
# Vérification du hostname précisé de l'uuid
clush -b -w v22z[1-8] 'cat /etc/xos/xtreemfs/osdconfig.properties | grep "dir_service" '
# Modifier object_dir avec le contenant
# object_dir = /media/sda
clush -b -w v22z[1-8] 'sed -i "s/\/var\/lib\/xtreemfs\/objs\//\/media\/sda/g" /etc/xos/xtreemfs/osdconfig.properties'
# Vérification du hostname précisé de l'uuid
clush -b -w v22z[1-8] 'cat /etc/xos/xtreemfs/osdconfig.properties | grep object_dir'
# Modifier hostname avec le nom
clush -b -w v22z[1-8] 'echo -e "hostname = $(hostname)" >> /etc/xos/xtreemfs/osdconfig.properties'
0 | grep -v inet6 | grep inet | awk '{ print $2 }' | awk -F':' '{ print $2 }' '
mkdir /etc/scripts
tee /etc/scripts/GetIP.sh <<EOF
#!/bin/bash
/sbin/ifconfig \$1 | grep -v inet6 | grep inet | awk '{ print \$2 }' | awk -F: '{ print \$2 }'
EOF
chmod 755 /etc/scripts/GetIP.sh
clush -w v22z[1-8] mkdir /etc/scripts
clush -w v22z[1-8] tee /etc/scripts/GetIP.sh < /etc/scripts/GetIP.sh
clush -w v22z[1-8] chmod 755 /etc/scripts/GetIP.sh
# Modifier listen avec l'IP de eth0
clush -b -w v22z[1-8] 'echo -ne "listen.address = $(/etc/scripts/GetIP.sh eth0) " >> /etc/xos/xtreemfs/osdconfig.properties '
# Modifier les droits sur l'object_dir 
# Tres important !!!
clush -b -w v22z[1-8] 'chown -R xtreemfs.xtreemfs /media/sda'
clush -b -w v22z[1-8] 'cd /etc/xos/xtreemfs ; /etc/xos/xtreemfs/postinstall_setup.sh'
clush -b -w v22z[1-8] 'chown root.xtreemfs /etc/xos/xtreemfs/osdconfig.properties'
# Lancer les clients (il est nécessaire que le DIR soit lancé, sinon cela casse !)
clush -b -w v22z[1-8] '/etc/init.d/xtreemfs-osd restart'
# Au bout de quelques secondes, le service s'arrête
  1. Pb sur les volumes
    clush -b -w v22z[1-8] 'update-java-alternatives -s java-6-sun'
# Démarrer les deux services MRC et DIR
/etc/init.d/xtreemfs-mrc restart
/etc/init.d/xtreemfs-dir restart
# Lancer les clients (il est nécessaire que le DIR soit lancé, sinon cela casse !)
clush -b -w v22z[1-8] '/etc/init.d/xtreemfs-osd restart'

Paramétrage des listen dans la définition du MRC

  1. Aller sur l'interface web : x2100-5:30638
  1. Création d'un volume XTreemFS
mkfs.xtreemfs -w 2 -s 256 --chown-non-root x2100-5/xtreemfs
# Création du point de montage
mkdir /media/xtreemfs
# Montage
mount.xtreemfs x2100-5/xtreemfs /media/xtreemfs

Test

cd /media/xtreemfs

time dd if=/dev/zero of=test bs=2048k count=3330
3330+0 records in
3330+0 records out
6983516160 bytes (7.0 GB) copied, 178.591 s, 39.1 MB/s
root@x2100-5:/media/xtreemfs# dd if=test of=/dev/null bs=2048k count=3330
3330+0 records in
3330+0 records out
6983516160 bytes (7.0 GB) copied, 121.184 s, 57.6 MB/s

# Infos sur un fichier
xtfsutil test 
Path (on volume)     /test
XtreemFS file Id     c68c553b-247e-43e1-a04b-f8838685b4c7:2
XtreemFS URL         pbrpc://localhost:32638/xtreemfs/test
Owner                root
Group                root
Type                 file
Replication policy   WqRq
XLoc version         2
Replicas:
  Replica 1
     Striping policy     STRIPING_POLICY_RAID0 / 1 / 128kB
     OSD 1               eb2d7b15-b628-417d-8790-dab0c5373b06/172.16.20.25:32640
  Replica 2
     Striping policy     STRIPING_POLICY_RAID0 / 1 / 128kB
     OSD 1               be3fc0ea-ca86-4afc-aa1b-b17d9368e9e6/172.16.20.26:32640
# Choix entre none, ronly, WqRq, WaRa
xtfsutil --set-replication-policy WqRq test 
Changed replication policy to: WQRQ

# 
xtfsutil --add-replica auto test
Added new replica on OSD: be3fc0ea-ca86-4afc-aa1b-b17d936

xtfsutil --add-replica auto test
Added new replica on OSD: 524bff85-5c5e-4d5a-9366-2dcb3d16004f

xtfsutil test 
Path (on volume)     /test
XtreemFS file Id     c68c553b-247e-43e1-a04b-f8838685b4c7:2
XtreemFS URL         pbrpc://localhost:32638/xtreemfs/test
Owner                root
Group                root
Type                 file
Replication policy   WqRq
XLoc version         3
Replicas:
  Replica 1
     Striping policy     STRIPING_POLICY_RAID0 / 1 / 128kB
     OSD 1               eb2d7b15-b628-417d-8790-dab0c5373b06/172.16.20.25:32640
  Replica 2
     Striping policy     STRIPING_POLICY_RAID0 / 1 / 128kB
     OSD 1               be3fc0ea-ca86-4afc-aa1b-b17d9368e9e6/172.16.20.26:32640
  Replica 3
     Striping policy     STRIPING_POLICY_RAID0 / 1 / 128kB
     OSD 1               524bff85-5c5e-4d5a-9366-2dcb3d16004f/172.16.20.27:32640

 xtfsutil -l test
OSDs suitable for new replicas: 
  ab57ccd6-04fa-475b-86bc-fa829d4dcfde
  526efdd1-c474-43cc-8290-12ea3088e353
  861d772f-4729-48d3-96f8-f25a4c6950bc
  ab23c9d4-4903-4e53-a3ea-cfed5fb61fa0
  79f05257-eb5b-442f-9bbd-734ae175b8b7