Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

21

serveurs servers power Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Salut les geeks et geekettes,

Aujourd’hui je vous propose le must en terme de serveur Storage Area Network (SAN) en open source! Quoi ? En français, un SAN est un réseau de stockage spécialisé permettant de mutualiser des ressources de stockage. Il est différent du NAS (Network attached storage) par un accès bas niveau aux disques. Pour simplifier, le trafic sur un SAN est très similaire aux principes utilisés pour l’utilisation des disques internes (ATA, SCSI)… Pour en savoir plus, allez faire un tour sur Wikipedia.

Nous allons donc créer 2 serveurs de stockage qui seront répliqués en temps réel (synchrone) ou en décalé (asynchrone) pour les sites distants par exemple.

Dans un premier temps, nous verrons comment installer simplement et rapidement 1 SAN, puis nous verrons comment le synchroniser avec un second.

Le but ultime étant de fournir un ensemble de données cohérent en haute disponibilité.

Si vous aimez la lecture, vous allez être servi…

Installation d’un SAN

Qu’est-ce qu’un SAN, me direz-vous, et bien c’est un ensemble de disques durs accessibles depuis un réseau (même une box internet…) . Contrairement au NAS qui fournit un « partage » réseau d’un (ou plusieurs) répertoire(s) de son/ses disque(s), le SAN permet de « partager » un ou plusieurs disques (physiques ou virtuels) eux-mêmes.

Prérequis

  1. La dernière version de OpenMediaVault (basé sur Linux Debian[le top]) téléchargeable ici
  2. Un PC (physique ou virtuel) avec plusieurs disques durs

Installation

Après avoir téléchargé le fichier ISO d’OpenMediaVault, gravez-le (si vous devez l’installer sur un PC physique).

Pour mon exemple, je vais utiliser la machine virtuelle suivant :

VM Serveur1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
- 1 disque de 8Go pour le système d’exploitation (une Clé USB pour un PC réel)
- 4 Disques de différentes tailles pour mon stockage
- 3 cartes réseau (LAN/DRBD/HA)
(on pourra optimiser la mémoire au besoin)
- L’image ISO de OpenMediaVault allouée dans le lecteur CD virtuel

Démarrons notre Machine pour lancer l’installation.

À part entrer la langue d’utilisation, le mot de passe du superutilisateur (administrateur root) et le choix du serveur de packages Debian, il n’y a rien de particulier à faire.

OpenMediaVault1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault2 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault3 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault4 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault5 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
Entrez une 1ère fois le mot de passe superutilisateur
OpenMediaVault6 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
Entrez une seconde fois le mot de passe superutilisateur
OpenMediaVault7 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
Sélectionné le disque système

OpenMediaVault8 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault9 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
Sélectionnez le serveur de packages Debian
OpenMediaVault10 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
Si vous avez un serveur proxy, entrez ici son adresse et son port.
OpenMediaVault11 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
Voilà ! L’installation est terminée

Une fois la machine redémarrée, la configuration utilisateur est la suivante :

  • Pour l’interface xterm (terminal linux ligne de commande) :
    terminalcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    Utilisateur  : root
    Mot de passe : [LE MOT DE PASSE SAISI LORS DE L'INSTALLATION]
  • Pour l’interface web :
    web-uicode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    Utilisateur  : admin
    Mot de passe : openmediavault

Paramétrage de votre SAN

Ça y est! Votre SAN est prêt à être utilisé.

Auparavant, nous allons le paramétrer afin qu’il réponde à nos besoins.

Connexion à l’interface de gestion WebUI

Pour se connecter, il faut récupérer l’adresse IP du serveur. Pour cela, regardez sur l’écran de la machine installée, l’adresse IP apparaît :

OpenMediaVault12 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Pour ce cas, l’IP est : 192.147.147.47

Rendez-vous donc sur la page web : http:/192.147.147.47 et logguez vous avec le couple login/password suivant :

web-uicode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Utilisateur  : admin
Mot de passe : openmediavault

OpenMediaVault13 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Après connexion, nous retrouvons l’interface de gestion d’OpenMediaVault qui, je trouve, est d’assez belle facture!

OpenMediaVault14 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Pensez à changer le mot de passe de connexion du compte « admin » pour plus de sécurité. Pour cela, rendez-vous dans le Menu de gauche Système-> »Paramètres généraux », onglet « Sécurité Administrateur » et tapez 2 fois votre nouveau mot de passe, puis cliquez sur OK.

De plus, il faut que vous renommiez le SAN de façon à ce qu’il soit « unique » dans votre réseau. Allez dans le Menu de gauche Système->Réseau et changez le nom de l’hôte.

Paramétrage réseau

Rendez-vous dans le Menu gauche, Système->Réseau, puis dans l’onglet « Interfaces » et sélectionnez la 2 ème interface eth1

Network 1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur « Modifier »

Network 2 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Validez et faites de même pour la 3ème interface eth2 (Attention, pas la même adresse IP)

Network 3 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Paramétrage du SSH

Dans le Menu de gauche, cliquez sur Services->SSH.

Cochez « Activer » et cliquez sur OK.

OpenMediaVault SSH Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Testez maintenant la connexion SSH en utilisant votre logiciel client SSH préféré (pour ma part, ça sera putty). Pour cela, entrez l’adresse IP du serveur et connectez-vous avec le couple login/mot de passe suivant :

Laissez éventuellement la fenêtre ouverte, nous aurons à nous en servir un peu plus loin…

terminalcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Utilisateur  : root
Mot de passe : [LE MOT DE PASSE SAISI LORS DE L'INSTALLATION]

OpenMediaVault putty1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault putty2 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Installation des plugins

Nous allons aussi installer les plugins qui nous intéressent, à savoir LVM2 et iSCSITarget. Pour cela, rendez-vous dans le Menu de gauche Système->Plugins, puis en maintenant la touche « Ctrl » gauche, cliquez sur les packages nommés :

  • openmediavault-iscsitarget
  • openmediavault-lvm2

OpenMediaVault plugins Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur le bouton OpenMediaVault plugins install Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

 

L’installation débute

OpenMediaVault plugins install start Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Après l’installation, 2 nouveaux menus sont apparus :

  • Stockage-> »Gestion des volumes logiques »
  • Services->iSCSI

Configuration des Volumes Logiques

Rendez-vous dans le Menu de gauche, Stockage-> »Gestion des volumes logiques »

Création des Volumes Physiques (PV dans le jargon « LVMique »)

OpenMediaVault LVM1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur le bouton OpenMediaVault LVM créer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault LVM sélection disque Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Sélectionnez un disque (on va les faire dans l’ordre, ici le 1er), puis cliquez sur OK.

OpenMediaVault LVM PV confirmer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Confirmer la création.

Faites ceci pour tous les autres disques! A la fin, vous obtenez le résultat suivant :

OpenMediaVault LVM all PV created Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Création des Groupes de Volumes (VG dans le jargon « LVMique »)

Sélectionnez l’onglet « Groupes de volumes »

OpenMediaVault LVM VG Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur le bouton OpenMediaVault LVM créer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault LVM VG select PV Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Sélectionnez les disques qui vont faire partie du groupe (ici, tous les disques), nommez le groupe (ici « DATAS ») puis cliquez sur OK.

OpenMediaVault LVM VG confirmer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Confirmez

OpenMediaVault LVM VG created Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Et voilà le groupe « DATAS » est créé!

Création des Volumes Logiques (LV dans le jargon LVMique)

Sélectionnez l’onglet « Volumes logiques »

OpenMediaVault LVM LV Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur le bouton OpenMediaVault LVM créer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

OpenMediaVault LVM LV select Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Nommez votre volume, sélectionnez le groupe auquel il appartient et définissez-lui une taille. Cliquez sur OK pour valider.

OpenMediaVault LVM LV confirmer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBDConfirmez!

Répétez cette opération afin de créer les Volumes Logiques souhaitez (ici 3 volumes nommés D1, D2 et D3).

OpenMediaVault LVM all LV created Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Voilà! C’est tout pour la création de volumes logiques! Nous allons passer maintenant à l’étape suivante, et c’est là que les choses vont se compliquer un peu.

Installation du DRBD

Introduction

DRBD1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Le DRBD permet de synchroniser par le réseau 2 périphériques de stockage entre eux, à l’instar d’un RAID1 mais au niveau réseau. Ces périphériques peuvent être :

  • 1 disque entier
  • 1 partition d’un disque
  • 1 volume logique (LV) créé avec LVM

Petit rappel : Un RAID1 est un Miroir (tout ce qui est écrit sur un disque est automatiquement écrit sur l’autre) entre 2 disques durs physiques sur une même machine. Cela permet une continuité de travail, en cas de plantage d’un des 2 disques, de façon transparente.

Avec le DRBD, on peut ainsi aisément synchroniser 1 disque dur entier avec une partition d’un autre disque ou un volume logique ou même un autre disque entier. Attention toutefois à la taille des disques (ou partitions) qui doivent être identiques…

Installation des Packages

Connectez-vous à l’aide de votre logiciel client SSH préféré (putty pour moi) comme plus haut (chapitre Paramétrage du SSH) !

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
apt-get -y install drbd8-utils
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Lecture des informations d'état... Fait
Paquets suggérés :
heartbeat
Les NOUVEAUX paquets suivants seront installés :
drbd8-utils
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/206 ko dans les archives.
Après cette opération, 606 ko d'
espace disque supplémentaires seront utilisés.
Sélection du paquet drbd8-utils précédemment désélectionné.
(Lecture de la base de données... 53081 fichiers et répertoires déjà installés.)
Dépaquetage de drbd8-utils (à partir de .../drbd8-utils_2%3a8.3.7-2.1_amd64.deb) ...
Paramétrage de drbd8-utils (2:8.3.7-2.1) ...

Voilà! DRBD est maintenant installé! Simple non? C’est maintenant que les choses vont se gâter!

Création d’un 2e SAN

Avec la même procédure que précédemment, créez un nouveau SAN (physique ou Virtuel) avec, si possible les même caractéristiques techniques! En effet, pour synchroniser 2 disques ensemble, il faut qu’ils aient la même taille…

Les adresses IP 2 (eth1) et 3 (eth2) seront :

  • eth1 : 192.168.98.2
  • eth2 : 192.168.99.2

Liaison (Synchronisation) des 2 SANs

En théorie, vous devriez avoir 2 SANs identiques avec le même nombre de volumes logiques et DRBD d’installés. Ce sont précisément ces volumes logiques que nous allons synchroniser.

Tout va maintenant se passer dans votre logiciel client SSH.

Pour que tout soit plus simple, nous allons les lier entre eux en SSH afin de pouvoir tout exécuter depuis le 1er SAN.

Créer une liaison SSH

Connectez-vous en SSH sur le SAN N°1

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
ssh-keygen -t dsa -b 1024

Appuyez sur « Entrée » puis y à la réponse à la question « Enter file in which to save the key (/root/.ssh/id_rsa): »

Lorsqu’il vous demande la passphrase, appuyez sur « Entrée » sans taper de passphrase.

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
4e:23:77:55:d9:68:ef:3c:79:a3:2e:1c:c9:73:f1:01 root@san-test-1
The key's randomart image is:
+--[ DSA 1024]----+
|              .+ |
|             E+ .|
|            .... |
|           . . ..|
|      . S o . ooo|
|       = o = . =+|
|        . . + . +|
|           o .   |
|            o.   |
+-----------------+

Copiez maintenant le fichier « /root/.ssh/id_dsa.pub » dans le SAN N°2 avec la commande suivante :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
ssh-copy-id -i /root/.ssh/id_dsa.pub root@192.147.147.47
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
The authenticity of host '192.147.147.47 (192.147.147.47)' can't be established.
RSA key fingerprint is 8d:b1:09:9c:8e:3c:4d:27:4a:9b:02:9c:c6:f0:9c:c6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '
192.147.147.47' (RSA) to the list of known hosts.
root@192.147.147.47'
s password:
Now try logging into the machine, with "ssh 'root@192.147.147.47'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Désormais, lorsque vous exécuterez la commande suivante, il ne vous sera plus demandé de mot de passe distant :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
root@san-test-1:~# ssh root@192.147.147.47
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Linux san-test-2 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Dec 17 19:36:24 2012
root@san-test-2:~#

On remarque que nous sommes loggués sur le 2e SAN !

Bien, nous pouvons donc continuer notre quête du GRAAL…

Création de ressources DRBD

Configuration préalable

Une fois connecté sur votre SAN N°1, éditez le fichier /etc/hosts avec la commande suivante :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
nano /etc/hosts

Ajoutez les lignes suivantes :

Remplacez les IP avec celles correspondantes à votre plan d’adressage ainsi que le nom des SANs

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
192.147.147.30  san-test-1
192.147.147.47  san-test-2

Après modification, fermez « nano » en appuyant simultanément sur les touches « Ctrl » + X, puis appuyez sur O pour sauvegarder, puis Entrée et enfin Entrée pour valider.

Éditez maintenant le même fichier sur le SAN N°2 depuis le SAN N°1 en tapant la commande :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
ssh root@san-test-2

Puis

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
nano /etc/hosts

Sauvegardez comme précédemment, puis sortez du SAN N°2 en appuyant simultanément sur les touches « Ctrl » + D.

Paramétrage des resources

Si vous tapez la commande suivante, vous aurez la liste des volumes logiques des 2 machines :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
echo "SAN 1" && lvs && echo "SAN 2" && ssh root@san-test-2 "lvs"

Si tout s’est bien passé, vous devriez avoir cela :

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
SAN 1
LV   VG    Attr   LSize  Origin Snap%  Move Log Copy%  Convert
D1   DATAS -wi-a- 17,72g
D2   DATAS -wi-a- 40,64g
D3   DATAS -wi-a- 27,62g
SAN 2
LV   VG    Attr   LSize  Origin Snap%  Move Log Copy%  Convert
D1   DATAS -wi-a- 17,72g
D2   DATAS -wi-a- 40,64g
D3   DATAS -wi-a- 27,62g

Créons maintenant la ressource concernant D1. Pour cela, éditez le fichier suivant :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
nano /etc/drbd.d/rD1.res

Puis saisissez le code suivant :

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
resource rD1 {
protocol C;
device     /dev/drbd0;
disk       /dev/DATAS/D1; # partition a prendre en compte
meta-disk internal;
startup {
become-primary-on both;
}
disk {
on-io-error   detach;
}
net {
allow-two-primaries;
after-sb-0pri discard-least-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
rr-conflict violently;
}
syncer {
rate 100M;
}
on san-test-1 { # nom du serveur 1
address    192.168.98.1:7788; # adresse ip et port d'écoute
}
on san-test-2 { # nom du serveur 2
address 192.168.98.2:7788; # adresse ip et port d'écoute
}
}

Puis sauvegardez comme précédemment!

Exécutez la commande suivante pour copier ce fichier sur le SAN N°2 :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
scp /etc/drbd.d/rD1.res root@san-test-2:/etc/drbd.d/rD1.res
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
D1.res    100%  840     0.8KB/s   00:00

Petites choses à savoir concernant le paramétrage d’une resource

Comme vous avez pu les saisir ci-dessus, une ressource est définie selon plusieurs paramètres que je vais vous expliquer ici.

  1. Le nom de la ressource : resource rD1
  2. le protocole de synchronisation : protocol C
    Il y a 3 types de protocoles :
    - A : L’écriture des données est considérée complète si elle est effectivement écrite sur le disque local ET qu’elle a été transmise dans le tampon TCP (dans les tuyaux réseau). On parle de transfert asynchrone (en décalé).
    Cette solution est utile dans le cas de réseaux distants séparés par une longue distance (par connexion internet, par exemple).
    Précision : Dans le cas d’un fail-over (crash du SAN principal, par exemple), des données seront inévitablement perdues!
    Pour ce cas, il existe une solution qui serait d’utiliser un Proxy DRBD qui va stocker les informations à transmettre au SAN secondaire et donc ne pas perdre de données, malgré un temps de transfert qui pourrait être long. On peut d’ailleurs utiliser le Proxy DRBD pour qu’il compresse et décompresse les données envoyées au serveur secondaire pour économiser encore de la bande passante. Mais ceci est un autre problème que je n’aborderais que si vous êtes demandeurs!- B : L’écriture des données est considérée complète si elle est effectivement écrite sur le disque local ET qu’elle a été écrite dans le cache du disque distant (mémoire tampon avant écriture réelle dans le disque). On parle de transfert semi-synchrone (Memory Synchronous).
    Cette solution est utile dans le cas de réseaux distants séparés par une courte distance.
    Précision : Dans le cas d’un fail-over, il n’y aura (normalement selon DRBD.org) aucune perte de données, sauf si bien sûr la coupure des 2 SAN intervient simultanément!!! Toutefois, ce qui aura été écrit sur le SAN principal sera récupéré par le SAN secondaire par la suite…
    La solution pour ce cas est de bien onduler les 2 SANs!- C : L’écriture des données est considérée complète si elle est effectivement écrite sur le disque local ET qu’elle a été écrite sur le disque distant. On parle de transfert synchrone (en temps réel).
    Cette solution est utile dans le cas de réseaux locaux. Elle est aussi la plus fréquente en terme d’utilisation.c
    Précision : La perte d’un seul SAN est garantie de ne pas conduire à une perte de données! La perte de données est, bien sûr, inévitable même avec ce protocole de réplication si les deux SANs (ou leurs sous-systèmes de stockage) sont irrémédiablement détruits en même temps.
    La solution pour ce cas est de bien onduler les 2 SANs!
  3. Device : device /dev/drbd0
    C’est l’identifiant du disque physique final. Il doit être unique. De ce fait, les ressources suivantes pourront être affectées aux N° de devices suivants (/dev/drbd1 , /dev/drbd2 , …)
  4. Le Disque : disk /dev/DATAS/D1
    On pourrait aussi affecter un disque physique, comme /dev/sdb, mais on a opté pour des disques en LVM qui nous permettent une plus grande souplesse!
  5. Les Meta-Données de disque : meta-disk internal
    Il existe plusieurs façon de stocker les métadonnées des disques :
    - internal : Ce signifie que la dernière partie de l’unité de support est utilisé pour stocker les métadonnées.
    - device [index]: Vous pouvez utiliser un périphérique unique (un disque à part entière) en mode bloc pour stocker les métadonnées de plusieurs ressources DRBD.
  6. Les paramètres startup : become-primary-on both
    Cette propriété définie que les 2 SANs démarreront en tant que serveur primaire (dans le cas d’une configuration Actif-Actif). On pourra définir 1 SAN primaire et 1 SAN secondaire si on le souhaite. Dans ce cas, il faudra spécifier le nom du SAN à la place de « both ».
  7. Les paramètres disk : on-io-error   detach
    Cette propriété permet au moteur DRBD de savoir ce qu’il doit faire en cas d’erreur de lecture ou d’écriture. Ici, on détachera le disque en erreur, ce qui équivaut au débranchement d’un disque d’une grappe.
  8. Les paramètres net : Ce sont des propriétés permettant de faire des réglages fins du DRBD. Reportez-vous à la documentation DRBD (en Anglais) pour plus d’informations!
  9. Les paramètres syncer : rate 100M
    Ces paramètres servent à régler la bande passante utilisée par la synchronisation des données.
  10. Les paramètres on [nom du SAN]: address [IP de synchro du SAN]:[Port d'écoute]
    Ces paramètres servent à régler la liaison de synchronisation entre les ressources respectives des 2 SANs. Vous pouvez dédier une carte réseau supplémentaire sur chaque SAN à la synchronisation. Il est très important de savoir que pour une ressource, 1 port d’écoute est attribué. Concernant les adresses IP, il faut qu’elles soient sur le même plan d’adressage!!!

Concernant les paramètres device, disk et meta-disk, ils peuvent être différents selon le SAN! Pour qu’un réglage différent soit pris en compte, il faut reporter ces lignes dans les paramètres on [nom du SAN]des SANs respectifs!
Par exemple :

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
resource rD1 {
protocol C;
startup {
become-primary-on both;
}
disk {
on-io-error   detach;
}
net {
allow-two-primaries;
after-sb-0pri discard-least-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
rr-conflict violently;
}
syncer {
rate 100M;
}
on san-test-1 { # nom du serveur 1
address    192.168.98.1:7788; # adresse ip et port d'écoute
device     /dev/drbd0;
disk       /dev/DATAS/D1; # partition a prendre en compte
meta-disk internal;
}
on san-test-2 { # nom du serveur 2
address 192.168.98.2:7788; # adresse ip et port d'écoute
device     /dev/drbd5;
disk       /dev/DATAS/D2; # partition a prendre en compte
meta-disk /dev/sdc8;
}
}

Après une bonne prise de tête sur les particularités, passons aux étapes suivantes

Démarrage des services

Nos 2 SANs sont prêts à démarrer. Il faut maintenant initialiser la ressource que l’on vient de créer. Pour cela, exécutons ces commandes :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
drbdadm create-md rD1 && ssh root@san-test-2 "drbdadm create-md rD1"
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
--==  Thank you for participating in the global usage survey  ==--
The server's response is:
you are the 20455th user to install this version
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
success
NOT initialized bitmap
Writing meta data...
initializing activity log
New drbd meta data block successfully created.

Nous avons créé les ressources sur les 2 SANs en une seule commande. C’est pour cela que nous retrouvons certaines lignes en double.

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
modprobe drbd && ssh root@san-test-2 "modprobe drbd"
drbdadm attach rD1 && ssh root@san-test-2 "drbdadm attach rD1"
drbdadm connect rD1 && ssh root@san-test-2 "drbdadm connect rD1"

Vérifions maintenant ce que ces 3 commandes successives ont fait :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
cat /proc/drbd
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
version: 8.3.7 (api:88/proto:86-91)
srcversion: EE47D8BF18AC166BE219757
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:18582948

Nous voyons dans le résultat, que le SAN N°1 est secondaire (1er Secondary), que le SAN N°2 l’est aussi (2e Secondary), que le disque drbd0 (1er caractère de la ligne en rouge) est inconsistant sur les SAN N°1 et N°2.

Avec la commande qui va suivre, nous allons rendre le SAN N°1 comme Primaire, ce qui aura pour conséquence de rendre disque drbd0 UpToDate (à jour) sur ce SAN, et de lancer la synchronisation :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
drbdadm -- --overwrite-data-of-peer primary rD1

Vérifions maintenant l’effet produit par cette commande :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
cat /proc/drbd
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----
ns:33648 nr:0 dw:0 dr:33848 al:0 bm:2 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:18549300
[>....................] sync'ed:  0.2% (18112/18144)M
finish: 19:19:19 speed: 244 (240) K/sec

Les données du SAN N°2 seront inconsistantes tout le temps de la synchronisation initiale (qui peut d’ailleurs être très longue).

Petite astuce pour que la synchro se fasse un peu plus rapidement jusqu’au prochain redémarrage que vous effectuerez :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
drbdsetup /dev/drbd0 syncer -r 4194304k
Cela aura pour effet de synchroniser les serveurs à la vitesse la plus importante!

Une fois les SANs synchronisés, nous aurons le résultat suivant :

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
version: 8.3.7 (api:88/proto:86-91)
srcversion: EE47D8BF18AC166BE219757
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
ns:18582948 nr:0 dw:0 dr:18583248 al:0 bm:1135 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

Que reste-t-il à faire ?

Il ne vous reste qu’à répéter ces opérations pour les autres ressources (rD2 et rD3) et vos SANs seront répliqués!

Maintenant que toutes nos ressources existent, il faut pouvoir les utiliser!

Utilisation des ressources dans différents environnements

Les ressources créées, nous allons voir comment nous pouvons les utiliser sur notre réseau ou même sur les SANs eux-mêmes !

Quelles sont mes options ?

Partages réseau

Nous pouvons créer des partages réseau. Nous avons les choix entre différentes solutions :

  1. Le partage NFS
    Nous pouvons partager un des disques en NFS pour les ordinateurs sous Linux (Mac OS et Windows possible).
    Pour effectuer vos partages, je vous invites à suivre cet excellent post!
  2. Le partage Samba
    Pour partager vos ressources avec Samba, suivez ce tuto!
  3. Le iSCSI
    Pour le iSCSI, c’est moi qui m’en occupe ci-dessous!

Partager un disque dur avec iSCSI

Bon, vous allez me dire, c’est quoi iSCSI ? Et bien je vais vous répondre. Si s i!

Le iSCSI est un protocole qui va vous permettre non pas de partager un dossier ou le contenu d’un disque, mais le disque lui-même comme faisant partie intégrale du système le recevant! En d’autres termes, c’est comme si vous preniez le disque que vous partagez et que vous le mettiez physiquement dans l’ordinateur hôte ! Flex non?

Pour info : un disque alloué à un ordinateur devient le disque DE l’ordinateur. On ne peu plus s’y connecter depuis un autre ordinateur !!!

Bon allez, je vous sens trépigner d’impatience. On y va…

1ère Étape, on paramètre le disque source

On paramètre le disque source afin de le rendre disponible aux ordinateurs. Pour cela, procédez comme suit :

  1. Connectez-vous à l’interface web du SAN N°1 avec votre navigateur
  2. Dans le Menu gauche, Services->iSCSI, Activez l’option puis cliquez sur OK
    iSCSI1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD
  3. Connectez-vous sur le 2e SAN et faites de même
  4. Rendez-vous maintenant en SSH sur le SAN N°1
  5. Éditez le fichier /etc/iet/ietd.conf
    commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    nano /etc/iet/ietd.conf
    En dessous de # Target options, ajoutez les lignes suivantes :
    commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    Target iqn.2012-12.san-tests:rD1.rD1
    Lun 0 Path=/dev/drbd0,Type=blockio
    Alias rD1
    Ajoutez les autres ressources (si vous en ressentez le besoin)
  6. Redémarrez iSCSI
    commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    service iscsitarget restart
    résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    Removing iSCSI enterprise target devices: :.
    Stopping iSCSI enterprise target service: :.
    Removing iSCSI enterprise target modules: ... (warning).
    .
    Starting iSCSI enterprise target service:.
    .
  7. Copiez le fichier de configuration iSCSI depuis le SAN N°1 vers le SAN N°2
    commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    scp /etc/iet/ietd.conf root@san-test-2:/etc/iet/ietd.conf
    résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    ietd.conf  100%  173     0.2KB/s   00:00
  8. Relancez le service iSCSI sur le SAN N°2 depuis les SNA N°1
    commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    ssh root@san-test-2 "service iscsitarget restart"
    résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
    Removing iSCSI enterprise target devices: :.
    Stopping iSCSI enterprise target service: :.
    Removing iSCSI enterprise target modules: ... (warning).
    .
    Starting iSCSI enterprise target service:.
    .

2e Étape : Se connecter à la cible iSCSI avec un ordinateur

Sous Windows

La 1ère des choses à faire est de télécharger et d’installer l’initiateur iSCSI pour votre Windows. Pour cela, rendez-vous sur cette page.

Les systèmes pris en charge sont les suivants :

  • Windows 2000 Sp4 ou plus
  • Windows 2003 Sp1 ou plus
  • Windows XP Sp2 ou plus

Les systèmes comme Windows Vista/7/8/2008 prennent déjà en charge cet initiateur. Il n’est donc pas nécessaire de le télécharger!

Si vous êtes sous Windows 3.11, c’est déjà un miracle que vous puissiez lire ces lignes, faut quand même pas abuser icon wink Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Bref! une fois tout ça installé, il ne reste qu’à le paramétrer!

Vous trouverez l’initiateur iSCSI :

  • pour Windows 7/Vista/2008 dans le menu démarrer->Outils d’administration->Initiateur iSCSI.
  • pour Windows XP dans le menu démarrer->Panneau de configuration->iSCSI Initiator

Les copies d’écran ont été faites avec Windows XP, mais pour les autres, c’est sensiblement pareil !

Initiateur iSCSI XP1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Sélectionnez l’onglet « Discovery » (« Découverte »)

Initiateur iSCSI XP2 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur le bouton « Add » (« Découvrir un portail »)

Initiateur iSCSI XP3 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Entrez l’adresse IP du SAN N°1, puis cliquez sur OK. Une fois la fenêtre précédente revenue, sélectionnez l’onglet « Targets » (« Cibles »)

Initiateur iSCSI XP4 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Sélectionnez la ressource que vous souhaitez et cliquez sur « Log On… » (« Connexion »)

Initiateur iSCSI XP5 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Vérifiez bien que les cases « Automatically restore this connection when the system boots » (« Ajoutez cette connexion à la liste des cibles favorites. Le système tentera ainsi de restaurer la connexion à chaque redémarrage de l’ordinateur ») et « Enable multipath » (« Activer la prise en charge de plusieurs chemins d’accès ») soient décochées et Cliquez sur OK.

Initiateur iSCSI XP18 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Fermez la fenêtre une fois que le statut de la connexion passe de « Inactive » à « Connected » et ouvrez le menu démarrer->Clique droit sur « Poste de travail » (« Ordinateur » sur Vista/7/8/2008)->Gérer.

Initiateur iSCSI XP6 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Placez-vous sur Stockage->Gesion des disques, une fenêtre d’assistant d’initialisation de disque va apparaître automatiquement.

Initiateur iSCSI XP7 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur « Suivant » et sélectionnez le nouveau disque pour l’initialiser (en théorie le disque iSCSI qui vient d’être ajouté!)

Initiateur iSCSI XP8 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Désélectionnez la conversion de ce même disque (inutile pour l’instant)Initiateur iSCSI XP9 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Puis terminez l’initialisation.Initiateur iSCSI XP10 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Voilà, votre disque est ajouté comme si on avait ajouté un disque physique dans l’ordinateur en lui même !

Cliquez droit sur le disque dans l’interface de gestion pour le formater puis formatez-le.

Initiateur iSCSI XP11 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Assistant de création de partitions et formatageInitiateur iSCSI XP16 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI XP15 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI XP14 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI XP13 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI XP12 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Tadaaaaaa… Votre disque est maintenant prêt à être utilisé par Windows ! Ce n’est pas beau tout ça ?

Initiateur iSCSI XP17 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Sous Linux (Ubuntu ou Debian)

Connectez-vous en SSH ou avec le terminal.

Installez les packages avec la commande suivante :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
apt-get install open-iscsi
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'
état... Fait
Les NOUVEAUX paquets suivants seront installés :
open-iscsi
0 mis à jour, 1 nouvellement installés, 0 à enlever et 95 non mis à jour.
Il est nécessaire de prendre 0 o/592 ko dans les archives.
Après cette opération, 1 503 ko d'espace disque supplémentaires seront utilisés.
ATTENTION : les paquets suivants n'
ont pas été authentifiés.
open-iscsi
Faut-il installer ces paquets sans vérification (o/N) ? o
Sélection du paquet open-iscsi précédemment désélectionné.
(Lecture de la base de données... 83909 fichiers et répertoires déjà installés.)
Dépaquetage de open-iscsi (à partir de .../open-iscsi_2.0.871-0ubuntu5.1_amd64.deb) ...
Traitement des actions différées (« triggers ») pour « ureadahead »...
Traitement des actions différées (« triggers ») pour « man-db »...
Paramétrage de open-iscsi (2.0.871-0ubuntu5.1) ...
update-rc.d: warning: open-iscsi stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (0 6)
* Starting iSCSI initiator service iscsid                     [ OK ]
* Setting up iSCSI targets                                    [ OK ]

Éditez le fichier /etc/iscsi/iscsid.conf et décommentez la ligne node.startup = automatic

Redémarrez le service :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
/etc/init.d/open-iscsi restart
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
* Disconnecting iSCSI targets                  [ OK ]
* Stopping iSCSI initiator service             [ OK ]
* Starting iSCSI initiator service iscsid      [ OK ]
* Setting up iSCSI targets                     [ OK ]

Lancez la découverte des cibles :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
iscsiadm -m discovery -t st -p 192.147.147.30
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
192.147.147.30:3260,1 iqn.2012-12.san-tests:rD2.rD2
192.147.147.30:3260,1 iqn.2012-12.san-tests:rD1.rD1
192.147.147.30:3260,1 iqn.2012-12.san-tests:rD3.rD3

Vérifiez que les cibles sont accèssibles :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
iscsiadm -m node
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
192.147.147.30:3260,1 iqn.2012-12.san-tests:rD2.rD2
192.147.147.30:3260,1 iqn.2012-12.san-tests:rD1.rD1
192.147.147.30:3260,1 iqn.2012-12.san-tests:rD3.rD3

Ajoutez une cible :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
iscsiadm -m node --targetname "iqn.2012-12.san-tests:rD3.rD3" --portal "192.147.147.30:3260"
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
# BEGIN RECORD 2.0-871
node.name = iqn.2012-12.san-tests:rD3.rD3
node.tpgt = 1
node.startup = manual
iface.hwaddress = <empty>
iface.ipaddress = <empty>
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.transport_name = tcp
iface.initiatorname = <empty>
node.discovery_address = 192.147.147.30
node.discovery_port = 3260
node.discovery_type = send_targets
node.session.initial_cmdsn = 0
node.session.initial_login_retry_max = 8
node.session.xmit_thread_priority = -20
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.auth.authmethod = None
node.session.auth.username = <empty>
node.session.auth.password = <empty>
node.session.auth.username_in = <empty>
node.session.auth.password_in = <empty>
node.session.timeo.replacement_timeout = 120
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 20
node.session.err_timeo.host_reset_timeout = 60
node.session.iscsi.FastAbort = Yes
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.session.iscsi.DefaultTime2Retain = 0
node.session.iscsi.DefaultTime2Wait = 2
node.session.iscsi.MaxConnections = 1
node.session.iscsi.MaxOutstandingR2T = 1
node.session.iscsi.ERL = 0
node.conn[0].address = 192.147.147.30
node.conn[0].port = 3260
node.conn[0].startup = manual
node.conn[0].tcp.window_size = 524288
node.conn[0].tcp.type_of_service = 0
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.auth_timeout = 45
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.HeaderDigest = None
node.conn[0].iscsi.DataDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORD

Maintenant que la cible est enregistrée, nous pouvons nous y connecter :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
iscsiadm -m node --targetname "iqn.2012-12.san-tests:rD3.rD3" --portal "192.147.147.30:3260" --login
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Logging in to [iface: default, target: iqn.2012-12.san-tests:rD3.rD3, portal: 192.147.147.30,3260]
Login to [iface: default, target: iqn.2012-12.san-tests:rD3.rD3, portal: 192.147.147.30,3260]: successful

Ou par un redémarrage du service :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
/etc/init.d/open-iscsi restart
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
* Disconnecting iSCSI targets                  [ OK ]
* Stopping iSCSI initiator service             [ OK ]
* Starting iSCSI initiator service iscsid      [ OK ]
* Setting up iSCSI targets                     [ OK ]

Si vous souhaitez vous déconnecter du disque, voici la commande :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
iscsiadm -m node --targetname "iqn.2012-12.san-tests:rD3.rD3" --portal "192.147.147.30:3260" --logout
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Logging out of session [sid: 1, target: iqn.2012-12.san-tests:rD3.rD3, portal: 192.147.147.30,3260]
Logout of [sid: 1, target: iqn.2012-12.san-tests:rD3.rD3, portal: 192.147.147.30,3260]: successful

Désormais, le disque distant fait partie intégrante du système. Vérifiez-le par la commande :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
fdisk -l

Pour ma part, c’est le disque /dev/sdd qui a été ajouté!

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Disque /dev/sdd: 29.7 Go, 29652787200 octets
64 têtes, 32 secteurs/piste, 28279 cylindres
Unités = cylindres de 2048 * 512 = 1048576 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00000000
Le disque /dev/sdd ne contient pas une table de partition valide

Dorénavant, vous avez la possibilité d’en faire ce que vous voulez, tout comme dans Windows!!! Top!!!

Sous OS X

Malheureusement, je n’ai pas trouvé d’initiateur iSCSI gratuit pour Mac OSX (Pas cool Apple)!!!

Toutefois, il existe des initiateurs payants, comme globalSAN ou Xtend SAN!

Pour mes tests, je vais utiliser globalSAN qui propose une version gratuite pendant 14 jours (enregistrement sur le site requis), ça nous permettra de voir tout ça!

Enregistrez-vous sur la page : http://www.studionetworksolutions.com/support/faq.php?pi=11&fi=51 en sélectionnant « Get globalSAN »

Initiateur iSCSI MacOSX Download 1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI MacOSX Download 2 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Après inscription, un mail vous est envoyé avec le lien de téléchargement suivant.

Télécharger le dernier dmg à l’adresse suivante : http://www.snsftp.com/public/globalsan/

Installez le produit et redémarrez

Initiateur iSCSI MacOSX 1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI MacOSX 2 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI MacOSX 3 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI MacOSX 4 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI MacOSX 5 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI MacOSX 6 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Initiateur iSCSI MacOSX 7 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Configurez l’initiateur en lançant l’application globalSAN :

Initiateur iSCSI MacOSX Param 1 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Une fois lancée, déverrouillez le cadenas en bas à gauche pour pouvoir effectuer des modifs

Initiateur iSCSI MacOSX Param 2 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Une fois déverrouillée, cliquez sur le bouton « Licence » juste au-dessus du cadenas

Initiateur iSCSI MacOSX Param 12 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur le bouton « Get Activation Key », vous allez être redirigé sur la page d’enregistrement de l’initiateur

Initiateur iSCSI MacOSX Param 13 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

N’entrez pas d’information et cliquez sur « Sign Up »

Initiateur iSCSI MacOSX Param 14 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Entrez maintenant un mail valide et un mot de passe (celui de votre choix), puis cliquez sur le bouton « SUBMIT »

Initiateur iSCSI MacOSX Param 15 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur « START TRIAL »

Initiateur iSCSI MacOSX Param 16 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Vous n’avez normalement rien à saisir, votre clé est déjà présaisie, cliquez sur « VERIFY »

Initiateur iSCSI MacOSX Param 17 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Après un court instant, le site vous fournit votre clé d’activation temporaire. Copiez là (Pomme + A = tout sélectionner / Pomme + C = copier)

Initiateur iSCSI MacOSX Param 18 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Collez là (Pomme + V = coller) dans le champ sous le texte « Paste your Activation Key here », puis cliquez sur « Activate », puis dans le message vous indiquant la durée de test, cliquez sur le bouton « OK »

Initiateur iSCSI MacOSX Param 19 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Cliquez sur le bouton « + » juste au-dessus du cadenas pour ajouter un nouveau serveur et sélectionnez « Portal/Group »

Initiateur iSCSI MacOSX Param 9 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Puis définissez un nom de Groupe et saisissez l’adresse IP du SAN N°1

Initiateur iSCSI MacOSX Param 11 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Choisissez maintenant la ressource que vous souhaitez

Initiateur iSCSI MacOSX Param 21 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Donnez un nom d’Alias (celui que vous verrez comme disque dans Mac OSX), sélectionnez la connexion (sous le texte « Connections » à droite) et cliquez sur le bouton « Connect »

Initiateur iSCSI MacOSX Param 22 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Dès la connexion, le disque va être détecté par le système. Il va alors vous proposer automatiquement de l’utiliser pour la sauvegarde « Time Machine », cliquez sur « Ne pas utiliser »

Initiateur iSCSI MacOSX Param 23 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Voilà ! Ouvrez maintenant l’outil de gestion de disque dans les utilitaires et vous verrez votre nouveau disque. Vous pourrez alors le formater à votre guise.

Initiateur iSCSI MacOSX Param 24 Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD

Mise en place d’une adresse IP flottante

Le but est de faire en sorte que si 1 des SANs, notamment le N°1 plante, que le second prenne le relai avec un minimum de latence. On parle alors de failover et de haute disponibilité!

En effet, l’adresse IP va être transférée depuis le 1er SAN vers le second de façon quasi transparente pour l’utilisateur!

Le principe est le suivant :

On configure les 2 SANs pour qu’ils s’écoutent l’un l’autre. On part du principe que le SAN N°1 est les SAN actifs en cours d’utilisation. Si le SAN N°2 n’entend plus le SAN N°1 lui dire, « Je suis vivant! Je suis vivant! Je suis vivant! » toute les x secondes ou millisecondes, alors le SAN N°2 va s’approprier l’adresse IP définie.

Prérequis

Installer keepalived et le configurer! Simple non?

Installation

Connectez-vous en SSH ou en terminal sur le SAN N°1.

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
apt-get install keepalived
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'
état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
libidn11 libheartbeat2 corosync libnspr4-0d python-central libtimedate-perl cluster-agents cluster-glue libcurl3 libssh2-1 libopenhpi2 libcluster-glue libcorosync4 libnet1 libnss3-1d
Veuillez utiliser « apt-get autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés :
ipvsadm
Paquets suggérés :
heartbeat ldirectord
Les NOUVEAUX paquets suivants seront installés :
ipvsadm keepalived
0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 191 ko dans les archives.
Après cette opération, 664 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? o
Réception de : 1 http://mirror.ovh.net/debian/ squeeze/main ipvsadm amd64 1:1.25.clean-1 [47,6 kB]
Réception de : 2 http://mirror.ovh.net/debian/ squeeze/main keepalived amd64 1:1.1.20-1+squeeze1 [144 kB]
191 ko réceptionnés en 0s (328 ko/s)
Préconfiguration des paquets...
Sélection du paquet ipvsadm précédemment désélectionné.
(Lecture de la base de données... 56166 fichiers et répertoires déjà installés.)
Dépaquetage de ipvsadm (à partir de .../ipvsadm_1%3a1.25.clean-1_amd64.deb) ...
Sélection du paquet keepalived précédemment désélectionné.
Dépaquetage de keepalived (à partir de .../keepalived_1%3a1.1.20-1+squeeze1_amd64.deb) ...
Paramétrage de ipvsadm (1:1.25.clean-1) ...
update-rc.d: warning: ipvsadm start runlevel arguments (2 3 4 5) do not match LSB Default-Start values (2 3 5)
ipvsadm is not configured to run. Please run dpkg-reconfigure ipvsadm.
Paramétrage de keepalived (1:1.1.20-1+squeeze1) ...

Éditez le fichier /etc/keepalived/keepalived.conf

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
# Configuration File for Keepalived
# Global Configuration
global_defs {
notification_email {
mon_mail@mondomaine.com
}
notification_email_from noreply@cicp2r.org
smtp_server smtp.mondomaine.com
smtp_connect_timeout 30
router_id LVS_MASTER          # string identifying the machine
}
# describe virtual service ip
vrrp_instance VI_1 {
# initial state
state MASTER
interface eth0
# arbitary unique number 0..255
# used to differentiate multiple instances of vrrpd
virtual_router_id 51
# for electing MASTER, highest priority wins.
# to be MASTER, make 50 more than other machines.
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass xxx
}
virtual_ipaddress {
192.147.147.15/24
}
notify_master "service iscsitarget restart"
notify_backup "service iscsitarget restart"
}

L’adresse IP doit être libre et sera donc réservée aux SANs!!!

Éditez le fichier /etc/sysctl.conf et décommentez la ligne : net.ipv4.ip_forward=1

Connectez-vous au SAN N°2 en utilisant la commande suivante depuis le SAN N°1 :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
ssh 192.147.147.47
commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
apt-get install keepalived
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'
état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
libidn11 libheartbeat2 corosync libnspr4-0d python-central libtimedate-perl cluster-agents cluster-glue libcurl3 libssh2-1 libopenhpi2 libcluster-glue libcorosync4 libnet1 libnss3-1d
Veuillez utiliser « apt-get autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés :
ipvsadm
Paquets suggérés :
heartbeat ldirectord
Les NOUVEAUX paquets suivants seront installés :
ipvsadm keepalived
0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 191 ko dans les archives.
Après cette opération, 664 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? o
Réception de : 1 http://mirror.ovh.net/debian/ squeeze/main ipvsadm amd64 1:1.25.clean-1 [47,6 kB]
Réception de : 2 http://mirror.ovh.net/debian/ squeeze/main keepalived amd64 1:1.1.20-1+squeeze1 [144 kB]
191 ko réceptionnés en 0s (328 ko/s)
Préconfiguration des paquets...
Sélection du paquet ipvsadm précédemment désélectionné.
(Lecture de la base de données... 56166 fichiers et répertoires déjà installés.)
Dépaquetage de ipvsadm (à partir de .../ipvsadm_1%3a1.25.clean-1_amd64.deb) ...
Sélection du paquet keepalived précédemment désélectionné.
Dépaquetage de keepalived (à partir de .../keepalived_1%3a1.1.20-1+squeeze1_amd64.deb) ...
Paramétrage de ipvsadm (1:1.25.clean-1) ...
update-rc.d: warning: ipvsadm start runlevel arguments (2 3 4 5) do not match LSB Default-Start values (2 3 5)
ipvsadm is not configured to run. Please run dpkg-reconfigure ipvsadm.
Paramétrage de keepalived (1:1.1.20-1+squeeze1) ...

Éditez le fichier /etc/keepalived/keepalived.conf

résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
# Configuration File for Keepalived
# Global Configuration
global_defs {
notification_email {
mon_mail@mondomaine.com
}
notification_email_from noreply@cicp2r.org
smtp_server smtp.mondomaine.com
smtp_connect_timeout 30
router_id LVS_MASTER          # string identifying the machine
}
# describe virtual service ip
vrrp_instance VI_1 {
# initial state
state BACKUP
interface eth0
# arbitary unique number 0..255
# used to differentiate multiple instances of vrrpd
virtual_router_id 51
# for electing MASTER, highest priority wins.
# to be MASTER, make 50 more than other machines.
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass xxx
}
virtual_ipaddress {
192.147.147.15/24
}
notify_master "service iscsitarget restart"
notify_backup "service iscsitarget restart"
}

Éditez le fichier /etc/sysctl.conf et décommentez la ligne : net.ipv4.ip_forward=1

Déconnectez-vous du SAN N°2 en tapant « exit » (ou Crtl+D).

Redémarrez le service keepalived :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
service keepalived restart && ssh 192.147.147.47 "service keepalived restart"
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
Restarting keepalived keepalived....
Restarting keepalived keepalived....

Redémarrez les SANs :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
ssh 192.147.147.47 "reboot" && reboot

Vérifiez maintenant que l’adresse IP a bien été affectée au SAN N°1 :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
echo "SAN N°1" && ip addr sh eth0 && echo "SAN N°2" && ssh 192.147.147.47 "ip addr sh eth0"
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
SAN N°1
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:35:84:ad brd ff:ff:ff:ff:ff:ff
inet 192.147.147.30/24 brd 192.147.147.255 scope global eth0
inet 192.147.147.15/24 scope global secondary eth0
SAN N°2
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:3e:87:b9 brd ff:ff:ff:ff:ff:ff
inet 192.147.147.47/24 brd 192.147.147.255 scope global eth0

Maintenant, admettons que l’on perde SAN N°1 (on l’éteint malencontreusement…Ooops), alors, si on se connecte en SSH sur le SAN N°2 et qu’on exécute la commande suivante :

commandecode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
ip addr sh eth0
résultatcode Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD printer Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD info Installer 2 serveurs de données (SAN) répliqués avec OpenMediaVault et DRBD 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:3e:87:b9 brd ff:ff:ff:ff:ff:ff
inet 192.147.147.47/24 brd 192.147.147.255 scope global eth0
inet 192.147.147.15/24 scope global secondary eth0

Le but de tout ça, c’est quoi?

Très bonne question de moi-même!

En fait, maintenant que notre adresse IP transite entre le SAN N°1 et le SAN N°2 en cas de perte du SAN N°1 nous permet de conserver une connexion iSCSI. De ce fait, si vous êtes en train de copier des données dans votre disque iSCSI et que le SAN N°1 s’éteint, vous ressentirez une microcoupure, mais vos données continueront à être copiées!

Pour que cela fonctionne, il faut paramétrer votre initiateur pour qu’il interroge l’adresse IP virtuelle. Pour mon exemple, l’adresse est 192.147.147.15 !

Voilà! Vous pouvez maintenant tester tout ça!

Conclusion

Bon, ça y est, vous savez tout (ou presque)! Amusez-vous pendant vos vacances (ou pas)! Moi, je vais me reposer! Des tutos comme ça, c’est un peu long et je suis sur les rotules!!!!

Je vais bien me reposer et vous donner d’autres fils à retordre !

En attendant, je vous souhaite de très bonnes fêtes de fin d’année, un Joyeux Noël et une bonne années!

Partager.
  • thomas cossart

    Très bien cet article, beau travail !

    • Julien

      Merci Thomas!

  • papydroid

    pour ce travail et la mise à dispo : merci !!!! Kolosal je vais pouvoir aller plus loin avec OMV

  • http://nutfile.com Razique Mahroua

    Wow, excellent article. Merci Julien pour tout ça

    • Julien

      Merci Razique!

  • Miranthil

    Bonjour,
    Tres bien comme travail,
    J’ai une petite remarque ou plutôt une question.
    Voila, dans ta configuration tu utilises 3 cartes réseau;
    1 pour le LAN
    1 pour DRDB
    et 1 pour HA

    Dans ta doc tu parles de la 1ere et la 2eme mais à aucun moment tu parles de la 3 eme dans toute la doc à part le paramétrage réseau.

    A t-elle une configuration differentes, si elle secours la 2eme carte qui gere DRDB ne devrait-elle pas etre aussi dans cette configuration?

    Pour l’instant je ne vois vraiment à quoi cette 3eme carte?

    • http://nutfile.com Razique Mahroua

      Je pense que c’est une patte administrative – de backup, comme s’est souvent le cas :) (mais je peux me tromper)

      • http://twitter.com/jchenavas Julien CHENAVAS

        Merci Razique pour ta réponse perspicace qui pourrait être très utile! cf la réponse à Miranthil!

    • http://twitter.com/jchenavas Julien CHENAVAS

      Salut Miranthil!

      Mea culpa!

      Tu as effectivement raison, le lien HA n’est absolument pas utile. Il est même à banir dans la mesure ou ce lien doit se faire exclusivement sur le lien LAN, et cela pour une bonne raison :

      Si le SAN 1 perd le lien LAN (carte réseau HS, Patte du switch HS ou simplement une coupure/un débranchement physique du câble réseau), le SAN 2 doit prendre le relai en prenant les rôles iSCSI!

      Pour cela, il ne doivent communiquer que sur un seul lien, le LAN.

      Si le lien HA existait et que nous nous trouvions dans une des situations précédentes, le SAN 2 ne prendrait pas le relai et les rôles iSCSI seraient perdus!!!

      Toutefois, le lien HA sur un lien dédié n’a qu’une utilité en cas de monitoring (daemon « mon » pour linux) d’un ou de plusieurs services. Dans ce cas là, il serait effectivement pertinent.

      Vous pouvez aussi allez plus loin dans le paramétrage de keepalived en arrêtant ce service si un des services « iscsitarget » ou « drbd » s’arrêtait! Mais c’est une config plus poussée, mais faisable!

      Bref, vous pouvez donc ne pas tenir compte de ce lien si vous vous en tenez à cette config!

      Merci pour vos remarques et @ bientôt!

  • Yakakliker

    Bonjour,

    Très bon tuto apparemment (je confirmerai certainement sous peu).

    Juste une petite question :

    Pourquoi ceci…

    notify_master « service iscsitarget restart »
    notify_backup « service iscsitarget restart »

    .. dans le fichier /etc/keepalived/keepalived.conf ?

    S’agit-il d’un redémarrage du service iscsi en cas de failover du san1 ?

    Est-ce indispensable ?

    • Julien

      Bonjour Franck et désolé d’avoir mis 100 ans à te répondre, ça n’est pas 2.0!

      Effectivement, il est nécessaire d’effectué ce redémarrage pour que le SAN secondaire, après avoir récupéré sa nouvelle adresse IP, récupère les connexions des serveurs connectés!

      Si les SANs sont virtuels et sont stockés dans le même ESX ou Workstation, ça ne sera pas utile car les connexions réseau arrivent sur la même carte au final, mais si ce sont 2 PC bien distincts, il faut le faire!

      Keepalived va informer tous les serveurs connectés de la nouvelle association MAC/IP!

      Voilou!

    • Julien CHENAVAS

      Bonjour Franck et désolé d’avoir mis 100 ans à te répondre, ça n’est pas 2.0!

      Effectivement, il est nécessaire d’effectué ce redémarrage pour que
      le SAN secondaire, après avoir récupéré sa nouvelle adresse IP, récupère
      les connexions des serveurs connectés!

      Si les SANs sont virtuels et sont stockés dans le même ESX ou
      Workstation, ça ne sera pas utile car les connexions réseau arrivent sur
      la même carte au final, mais si ce sont 2 PC bien distincts, il faut le
      faire!

      Keepalived va informer tous les serveurs connectés de la nouvelle association MAC/IP!

      Voilou!

      • Yakakliker

        Merci pour la réponse, mieux vaut tard que jamais comme on dit.

        Pour continuer le fil, si tu redémarres le service iscsi (les VMS étant démarrées), la coupure du lien doit les faire planter non ?

      • Julien CHENAVAS

        Saloute!

        J’utilise cette solution à titre professionnelle. J’ai donc effectué une bonne batterie de tests afin d’être sûre de mon choix!

        Pour l’instant, tout roule! J’ai eu des soucis de déconnexion mais quand j’utilisais un autre moteur de HA, à savoir « heartbeat ».

        J’ai atteins ses limites et je me suis donc tourné vers « keepalived » qui fait mieux son taf!

        En effet, keepalive qui utilise VRRP (utilisé par tous les systèmes pro concernant la Haute Dispo) va informer tous les matériels de l’infrastructure afin de fournir la nouvelle adresse MAC correspondante à l’IP flottante!

        Je serais intéressé par un retour, même négatif, concernant ce tuto! En effet, je ne cherche qu’à m’améliorer!

        Tu peux me contacter directement sur mon twitter (@jchenavas) ou sur mon mail jchenavas@cachem.fr

        N’hésites pas au besoin!!!

      • Julien

        Saloute!

        J’utilise cette solution à titre professionnelle. J’ai donc effectué une bonne batterie de tests afin d’être sûre de mon choix!

        Pour l’instant, tout roule! J’ai eu des soucis de déconnexion mais quand j’utilisais un autre moteur de HA, à savoir « heartbeat ».

        J’ai atteins ses limites et je me suis donc tourné vers « keepalived » qui fait mieux son taf!

        En effet, keepalive qui utilise VRRP (utilisé par tous les systèmes pro concernant la Haute Dispo) va informer tous les matériels de l’infrastructure afin de fournir la nouvelle adresse MAC correspondante à l’IP flottante!

        Il devrait donc se produire une micro-coupure mais ça devrait tenir!

        Je serais intéressé par un retour, même négatif, concernant ce tuto! En effet, je ne cherche qu’à m’améliorer!

        Tu peux me contacter directement sur mon twitter (@jchenavas) ou sur mon mail jchenavas@cachem.fr

        N’hésites pas au besoin!!!

  • jo43

    Bonjour, tuto très complet.
    Mon seul soucis comment exploiter les ressources DRBD via l’interface web de OpenMediavault ???je vois bien ma ressource dans système de fichier mais je ne la vois plus lorsque je veux créer un dossier partagé alors qu’elle st bien monté et en ligne
    Peux t’on m’aider sur ce point svp ???

    • Julien CHENAVAS

      Salut jo43!

      Je suis vraiment navré de ne pas t’avoir répondu plus tôt!

      As-tu trouvé ta réponse entre temps?

      Sinon, tes ressources DRBD (/dev/drbd0 par exemple) représente un disque dur à part entière. En d’autre terme, il est de même nature que la ressource /dev/sda. Il ne possède pas de partition.

      D’autre part, c’est au niveau d’OpenMediaVault que le soucis se produit. En effet, ils ne listent que les disques durs physiques, c’est-à-dire /dev/hdX /dev/sdX, …

      Il faut donc aller dans les fichiers sources php afin d’ajouter à l’expression régulière les ressources /dev/drbdX

      Il fût un temps ou j’avais tenté de le faire mais sans réèl succès!

      Si tu y arrives, n’hésites pas à nous en faire part!

      Je retenterai l’expérience à l’occasion et si je trouve, je publierai une MAJ du code.

      Voilà, encore désolé pour le délai de réponse!

      @+

  • aandi

    J’ai une question. Est ce que ce cas d’utilisation peut être utiliser pour stocker mes machines virtuelles.

    • Julien CHENAVAS

      Salut aandi!

      Même discours que pour jo43, un grand désolé pour le temps de réponse.

      Oui, tu peux t’en servir comme stockage de machines virtuelles. Toutefois, je te conseil de paramétrer les disques iSCSI sur le vSphere Server qui gèrera mieux le failover du iSCSI.

      Voilà!

      @+

  • billouk

    Bonjour et merci pour ce superbe tuto !
    J’ai une question : Serait-il possible de répliquer également la config d’OMV d’une façon ou d’une autre ? Je trouve assez laborieux de devoir configurer chaque machine à l’identique notamment pour tout ce qui est des utilisateurs, des partages etc…

    • Julien CHENAVAS

      Salut Billok!

      Désolé aussi pour le délai de réponse!!!

      Sinon, pour ta question, il y a certainement moyen de le faire. Ceci-dit, il faut faire attention au nom du serveur.

      Si tu veux, une fois terminé la configuration d’un SAN, tu peux l’arrêter, le cloner (clone autonome), reparamètrer la conf réseau pour avoir une autre adresse MAC dans VMWare, démarrer le second, changer son IP si tu l’as créée en fixe, lui donner un autre nom, et le tour sera joué…

      Tu peux aussi sauvegarder les config d’un serveur sur l’autre et vice et versa pour pouvoir faire un restart from scratch en rappliquant la conf!

      @+

Lire les articles précédents :
nintendo wii u
La Wii U crackée ?

Il y a 1 mois, on vous avait annoncé que 2 petits malins avaient réussi à malmener la sécurité de la nouvelle...

Fermer