Stockage principal

De ISPWiki.

Sommaire

Pré-requis

Partition disque pour DRBD

Avant d'installer le serveur maître de stockage, il faut décider si le cluster a un serveur de stockage. Si vous n'allez pas utiliser celui-ci, vous pouvez ignorer ce point.

DRBD (Distributed Replicated Block Device) est un outil qui permet de synchroniser (par réplication) des périphériques de stockage (disque dur, partition, volume logique, etc.) entre deux nœuds via le réseau. Pour simplifier, il s'apparente à du RAID-1 sur IP. DRBD faire lier une unité virtuelle /dev/drbdX (Х est un numéro d'unité) avec la partition locale de disque sur chaque stockage. L'écriture est enregistrée sur le serveur maître de stockage dans l'unité /dev/drbdX qui passe les données vers la partition réelle du disque et en envoie via le réseau vers le serveur de stockage. En cas de fail-over du serveur maître, il sera déplacé par celui des sauvegardes.

Pour organiser le stockage sur la base de DRBD, il faut créer 2 partitions supplémentaires sur le disque dur pour:

  • métadonnées (en savoir plus ici);
  • stockage.

Personnalisation de réseau interne

S'il n'y a pas la deuxième interface réseau, passez ce point.

Ouvrez le fichier /etc/network/interfaces

 # nano /etc/network/interfaces

et les lignes suivantes

 auto ethX
 iface ethX inet static
     address 10.0.0.2
     netmask 255.0.0.0

où X est le numéro de l'interface réseau.

Lancez cette commande afin d'appliquer ces changements:

 # /etc/init.d/networking restart

Installation et personnalisation de quotas disques

Installez le programme utilitaire d'utilisateur afin de fonctionner sous quotas disques:

 # apt-get install quota

Si vous n'utilisez pas DRBD, ouvrez le fichier /etc/fstab

 # nano /etc/fstab

et ajoutez des options, telles que: grpquota et usrquota vers la partition de stockage

 ...
 /dev/sdaX / ext4 errors=remount-ro,grpquota,usrquota 0 1
 ...

où X est un numéro de partition de disque.

Remontez la partition

 # mount -o remount,grpquota,usrquota /dev/sdaX

Installation et personnalisation de libnss-extrausers

Installez des modules supplémentaires pour le service NSS qui donnent au système les enregistrements sur les utilisateurs et groupes depuis les fichiers supplémentaires : : /var/lib/extrausers/passwd, /var/lib/extrausers/shadow и /var/lib/extrausers/groups.

 # apt-get install libnss-extrausers

Ouvrez le fichier /etc/nsswitch.conf

 # nano /etc/nsswitch.conf

changez les options passwd, group и shadow

 ...
 passwd: compat extrausers
 group:  compat extrausers
 shadow: compat extrausers
 ...

Installation et personnalisation de serveur NFS

Installez le serveur NFS en utilisant la commande:

 # apt-get install nfs-kernel-server

Ouvrez le fichier /etc/default/nfs-common

 # nano /etc/default/nfs-common

et changez les options NEED_STATD и NEED_IDMAPD

 ...
 NEED_STATD="yes"
 ...
 NEED_IDMAPD="yes"
 ...

Ouvrez le fichier /etc/idmapd.conf

 # nano /etc/idmapd.conf

et changez les options Domain dans la partition General et Method dans la partition Translation

 [General]
 Domain = cluster.lan
 ...
 [Translation]
 Method = nsswitch
 ...

Ouvrez le fichier /etc/exports

 # nano /etc/exports

et ajoutez la ligne

 /storage 10.0.0.0/8(rw,async,secure,no_root_squash,no_all_squash,no_subtree_check,fsid=root,no_acl)

Redémarrez le serveur NFS en utilisant la commande:

 # /etc/init.d/nfs-common restart

Installation et personnalisation de DRBD

Si vous n'utilisez pas DRBD, passez ce point.

Installez des modules et programmes utilitaires afin de supporter DRBD:

 # apt-get install drbd8-utils drbd8-modules-`uname -r`

Ouvrez le fichier /etc/drbd.conf

 # nano /etc/drbd.conf

changez d'une manière suivante

 common {
     protocol C;
     syncer {
         rate 20M;
     }
     startup {
         wfc-timeout 1;
     }
 }
 resource storage {
     on H {
         address 10.0.0.2:7802;
         disk /dev/sdbX;
         flexible-meta-disk /dev/sdbY;
         device /dev/drbdZ;
     }
     on localhost {
         address 127.0.0.1:65535;
         disk /dev/sdbX;
         flexible-meta-disk /dev/sdbY;
         device /dev/drbdZ;
     }
 }

où H est le nom d'hôte local, X est le numéro d'unité de stockage, Y est le numéro d'unité pour les métadonnées et Z est le numéro d'unité de DRBD.

Téléchargez le module de DRBD:

 # modprobe drbd

Nettoyez l'unité à sauvegarder les métadonnées:

 # dd if=/dev/zero of=/dev/sdbY bs=1M

où Y est le numéro d'unité pour les métadonnées.

Créer une unité de DRBD:

 # drbdadm -- --force create-md storage

Connectez l'unité de DRBD:

 # drbdadm up storage

Déplacez l'unité en rôle principal:

 # drbdadm -- --overwrite-data-of-peer primary storage

Créez un nouveau système de fichiers:

 # mkfs.X /dev/drbdY

où X est le système de fichiers et Y est le numéro d'unité de DRBD.

Installation et personnalisation de Heartbeat

Si vous n'utilisez pas DRBD, passez ce point. Installez heartbeat en utilisant la commande:

 # apt-get install heartbeat

Créez et ouvrez le fichier /etc/ha.d/authkeys

 # touch /etc/ha.d/authkeys && nano /etc/ha.d/authkeys

et ajoutez les lignes suivantes

 auth 1
 1 md5 X

où X est une phrase confidentielle pour l'authentification.

Spécifiez les droits pour le fichier /etc/ha.d/authkeys:

 # chmod 0600 /etc/ha.d/authkeys

Créez et ouvrez le fichier /etc/ha.d/ha.cf

 # touch /etc/ha.d/ha.cf && nano /etc/ha.d/ha.cf

et ajoutez les lignes suivantes

 logfile /var/log/ha-log
 keepalive 1
 warntime 2
 deadtime 10
 initdead 30
 bcast ethX
 ucast ethX 10.0.0.2
 auto_failback off
 autojoin none
 node H fake
 stonith_host H external/fake

où X est le numéro d'interface réseau et H est le nom d'hôte local.

Créez et ouvrez le fichier /usr/lib/stonith/plugins/external/fake

 # touch /usr/lib/stonith/plugins/external/fake && nano /usr/lib/stonith/plugins/external/fake

et ajoutez les lignes suivantes

 #!/bin/sh
 exit 0

Spécifiez les droits pour le fichier /usr/lib/stonith/plugins/external/fake:

 # chmod +x /usr/lib/stonith/plugins/external/fake

Créez et ouvrez le fichier /etc/ha.d/haresources

 # touch /etc/ha.d/haresources && nano /etc/ha.d/haresources

et ajoutez la ligne suivante

 H IPaddr2::10.0.0.1/32/ethX drbddisk::storage Filesystem::/dev/drbdY::/storage::Z::usrquota,grpquota nfs-kernel-server

où H est le nom d'hôte local, X est le numéro d'interface réseau, Y est le numéro d'unité de DRBD et Z est le système de fichiers de DRBD. L'adresse IP 10.0.0.1 est indiquée au lieu de 10.0.0.2 ! Cette adresse IP, qui se nomme "flottante", sera assignée au serveur de stockage des sauvegardes en cas de panne du serveur maître. Il faut indiquer l'adresse IP "flottante" lors de l'installation d'un maître noeud et des back-ends HTTP.

Redémarrez heartbeat:

 # /etc/init.d/heartbeat restart

Installez le système de base dans le stockage

Installez debootstrap:

 # apt-get install debootstrap

Vérifiez les quotas disques:

 # quotacheck -ugm /storage

Installez lesystème de base GNU/Linux Debian "Lenny" dans le stockage:

 # debootstrap lenny /storage

Ajoutez les liens symboliques pour les fichiers /etc/passwd et /etc/group dans /var/lib/extrausers/:

 # ln -s /etc/passwd /etc/group /var/lib/extrausers/

Créez et ouvrez le fichier /storage/etc/mtab

 # touch /storage/etc/mtab && nano /storage/etc/mtab

et ajoutez la ligne

 /storage / X rw,usrquota,grpquota 0 0

où X est le système de fichiers de DRBD.

Créez et ouvrez le fichier /storage/etc/adduser.conf

 # cp /storage/usr/share/adduser/adduser.conf /storage/etc/ && nano /storage/etc/adduser.conf

et changez les options FIRST_SYSTEM_UID et FIRST_SYSTEM_GID:

 ...
 FIRST_SYSTEM_UID=501
 ...
 FIRST_SYSTEM_GID=501
 ...
Cet article vous a-t-il été utile? Oui | Non
Outils personnels