GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Utilisation d'ATA sur Ethernet (AoE) sur Ubuntu 12.10 (initiateur et cible)

Ce guide explique comment configurer une cible AoE et un initiateur AoE (client), tous deux exécutant Ubuntu 12.10. AoE signifie "ATA over Ethernet" et est un protocole de réseau de stockage (SAN) qui permet aux initiateurs AoE d'utiliser des périphériques de stockage sur la cible AoE (distante) en utilisant un câblage Ethernet normal. "Distant" dans ce cas signifie "à l'intérieur du même LAN" car AoE n'est pas routable en dehors d'un LAN (c'est une différence majeure par rapport à iSCSI). Pour l'initiateur AoE, le stockage distant ressemble à un disque dur normal, connecté localement.

Je n'émets aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

J'utilise ici deux serveurs Ubuntu 12.10 :

  • server1.example.com (initiateur) :adresse IP 192.168.0.100
  • server2.example.com (cible) :adresse IP 192.168.0.101

2 Chargement du module noyau aoe sur les deux systèmes

serveur1/serveur2 :

Avant de commencer, nous devons nous assurer que le noyau prend en charge AoE :

grep ATA_OVER /boot/config-`uname -r`

Cela devrait afficher quelque chose comme ceci :

[email protected] :~# grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
[email protected] :~#

Cela signifie qu'AoE a été construit en tant que module du noyau. Vérifions si le module est déjà chargé :

lsmod | grep aoe

Si vous ne recevez rien en retour, cela signifie qu'il n'est pas chargé. Dans ce cas, nous pouvons le charger comme suit :

modprobe aoe

Vérifions à nouveau si le module est chargé :

lsmod | grep aoe
[email protected] :~# lsmod | grep aoe
aoe                    26960  0
[email protected] :~#

Pour que le module soit chargé automatiquement au démarrage du système, nous ajoutons le module aoe à /etc/modules :

vi /etc/modules
# /etc/modules :modules du noyau à charger au démarrage.## Ce fichier contient les noms des modules du noyau qui doivent être chargés# au démarrage temps, un par ligne. Les lignes commençant par "#" sont ignorées.looplprtcaoe

3 Configuration de la cible (server2)

serveur2 :

Nous configurons d'abord la cible (serveur2) :

apt-get install vblade

Nous pouvons utiliser des volumes logiques inutilisés, des fichiers image, des disques durs (par exemple /dev/sdb), des partitions de disque dur (par exemple /dev/sdb1) ou des périphériques RAID (par exemple /dev/md0) pour le stockage. Dans cet exemple, je vais créer un volume logique de 20 Go nommé storage1 dans le groupe de volumes vg0 :

lvcreate -L20G -n stockage1 vg0

(Si vous souhaitez utiliser un fichier image, vous pouvez le créer comme suit :

mkdir /storage
dd if=/dev/zero of=/storage/storage1.img bs=1024k count=20000

Cela crée le fichier image /storage/storage1.img d'une taille de 20 Go.

)

Maintenant, nous exportons notre périphérique de stockage comme suit :

vbladed 0 1 eth0 /dev/vg0/storage1

Le premier chiffre (0) est le numéro d'étagère (majeur), le second (1) le numéro d'emplacement (mineur), changez ces chiffres à votre convenance. Chaque appareil AoE est identifié par un couple majeur/mineur qui doit être unique (si vous exportez plusieurs appareils), avec majeur entre 0-65535 et mineur entre 0-255. La partie eth0 indique à vbladed quel périphérique Ethernet utiliser (si votre périphérique Ethernet est eth1, utilisez eth1 - vous pouvez en savoir plus sur vos périphériques Ethernet en exécutant

ifconfig

).

Pour démarrer l'exportation automatiquement chaque fois que vous démarrez la cible, ouvrez /etc/rc.local...

vi /etc/rc.local

... et ajoutez-y la ligne suivante (avant la ligne exit 0) :

[...]vbladed 0 1 eth0 /dev/vg0/storage1[...]

4 Configuration de l'initiateur (server1)

serveur1 :

Sur le serveur1, nous installons l'initiateur :

apt-get install aoetools

Nous vérifions maintenant quels périphériques de stockage AoE sont disponibles :

découvrir aoe

La commande

stat-aoe

devrait maintenant afficher les périphériques de stockage :

[email protected] :~# aoe-stat
      e0.1        21,474 Go   eth0 up
[email protected] :~#

À ce stade, nous avons un nouveau périphérique de bloc disponible sur la boîte client nommé /dev/etherd/e0.1. Si nous regardons l'arborescence /dev, un nouveau nœud apparaît :

ls -la /dev/etherd/
[email protected] :~# ls -la /dev/etherd/
total 0
drwxr-xr-x  2 root root     160 2012-10-01 16:24 .
drwxr-xr-x 16 root root    3800 2012-10-01 16:21 ..
c-w--w----  1 disque racine 152,  3 2012-10-01 16:21 découvrir
brw-rw----  1 disque racine 152,  16 2012-10-01 16:24 e0.1
cr--r-----  1 disque racine 152,  2 2012-10-01 16 :21 err
c-w--w----  1 disque racine 152,  6 2012-10-01 16:21 flush
c-w--w----  1 disque racine 152,  4 2012-10 -01 16:21 interfaces
c-w--w----  1 disque racine 152,  5 2012-10-01 16:21 revalider
[email protected] :~#

Dans la sortie de

fdisk -l

vous devriez maintenant également trouver le nouveau disque dur :

[email protected] :~# fdisk -l

Disque /dev/sda : 32,2 Go, 32212254720 octets
255 têtes, 63 secteurs/piste, 3 916 cylindres
Unités = cylindres de 16 065 * 512 = 8225 280 octets
Taille de secteur (logique/physique) : 512 octets / 512 octets 
Taille d'E/S (minimale/optimale) : 512 octets / 512 octets
Identificateur de disque:0x00016BE9

Démarrage du périphérique Blocs de fin Blocs ID Système
/ dev / sda1 * 1 32 248832 83 Linux
La partition 1 ne se termine pas sur la limite du cylindre.
/ dev / sda2 32 3917 31205377 5 étendus
/ dev / sda5 32 3917 31205376 8e Linux LVM

disque /dev/Etherd/e0.1:21,5 gb, 21474836480 bocaux
255 têtes, 63 secteurs/piste, 2 610 cylindres
Unités = cylindres de 16 065 * 512 = 8225 280 octets
Taille de secteur (logique/physique) : 512 octets / 512 octets
Taille d'E/S ( minimum/optimal) : 512 octets / 512 octets
Identifiant de disque : 0x00000000

Di sk /dev/etherd/e0.1 ne contient pas une table de partition valide 
[email protected] :~#

Pour utiliser cet appareil, nous devons le formater :

fdisk /dev/etherd/e0.1

[email protected] :~# fdisk /dev/etherd/e0.1
L'appareil ne contient ni une table de partition DOS valide, ni Sun, SGI ou OSF disklabel 
Création d'un nouveau DOS disklabel avec identifiant de disque 0x3093ae28.
Les modifications resteront en mémoire uniquement, jusqu'à que vous décidiez de les écrire.
Après cela, bien sûr, le contenu précédent ne sera pas récupérable.

Attention : indicateur non valide 0x0000 de la table de partition 4 sera corrigée par w(rite)

AVERTISSEMENT : le mode compatible DOS est obsolète. Il est fortement recommandé de 
         désactiver le mode (commande 'c') et changer les unités d'affichage en 
          secteurs (commande 'u').

Commande (m pour l'aide) :<-- n
Action de commande
   e   étendu
   p   partition principale (1-4)
<-- p
Numéro de partition (1-4) : <- - 1
Premier cylindre (1-2610, 1 par défaut) : <-- ENTER
En utilisant la valeur par défaut 1
Dernier cylindre, + cylindres ou +taille{K, M, G} (1 -2610, 2610 par défaut) : <-- ENTER
En utilisant la valeur par défaut 2610

Command (m for help) : <-- t
Partition sélectionnée 1
Hex code (tapez L pour répertorier les codes) : <-- 83

Commande (m pour l'aide) : <-- w
La table de partition a été modifiée !

Appeler ioctl() pour relire la table de partition.
Synchronisation des disques.
[email protected] :~#

Ensuite, la sortie de

fdisk -l

devrait ressembler à ceci :

[email protected] :~# fdisk -l

Disque /dev/sda : 32,2 Go, 32212254720 octets
255 têtes, 63 secteurs/piste, 3 916 cylindres
Unités = cylindres de 16 065 * 512 = 8225 280 octets
Taille de secteur (logique/physique) : 512 octets / 512 octets 
Taille d'E/S (minimale/optimale) : 512 octets / 512 octets
Identificateur de disque:0x00016BE9

Démarrage du périphérique Blocs de fin Blocs ID Système
/ dev / sda1 * 1 32 248832 83 Linux
La partition 1 ne se termine pas sur la limite du cylindre.
/ dev / sda2 32 3917 31205377 5 étendus
/ dev / sda5 32 3917 31205376 8e Linux LVM

disque /dev/Etherd/e0.1:21,5 gb, 21474836480 bocaux
255 têtes, 63 secteurs/piste, 2 610 cylindres
Unités = cylindres de 16 065 * 512 = 8225 280 octets
Taille de secteur (logique/physique) : 512 octets / 512 octets
Taille d'E/S ( minimum/optimal) : 512 octets / 512 octets
Identifiant de disque : 0x3093ae28

            Démarrage de l'appareil      Démarrer         Fin      Blocs   Id  Système
/dev/etherd/e0.1p1               1        2610    20964793+  83  Linux
~# Maintenant, nous créons un système de fichiers sur /dev/etherd/e0.1p1...

mkfs.ext4 /dev/etherd/e0.1p1

... et montez-le à des fins de test :

monter /dev/etherd/e0.1p1 /mnt

Vous devriez maintenant voir le nouvel appareil dans les sorties de...

monter
[email protected] :~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec ,nosuid,nodev)
aucun sur /sys type sysfs (rw,noexec,nosuid,nodev)
aucun sur /sys/fs/fuse/connections type fusectl (rw)
aucun sur / sys/kernel/debug type debugfs (rw)
aucun sur /sys/kernel/security type securityfs (rw)
aucun sur /dev type devtmpfs (rw,mode=0755)
aucun sur /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
aucun sur /dev/shm type tmpfs (rw,nosuid,nodev)
aucun sur /var/run tapez tmpfs (rw,nosuid,mode=0755)
aucun sur /var/lock tapez tmpfs (rw,noexec,nosuid,nodev)
aucun sur /lib/init/rw tapez tmpfs (rw,nosuid ,mode=0755)
aucun sur /var/lib/ureadahead/debugfs type debugfs (rw,relatime)
/dev/sda1 sur /boot type ext2 (rw)
/dev/etherd /e0.1p1 sur /mnt type ext4 (rw)
[email protected] :~#

... et

df -h
[email protected] :~# df -h
Système de fichiers            Taille  Utilisé Disponible Utilisation % Monté sur
/dev/mapper/server1-root
                       18G  838M   16G    5 % /
Aucun 243M 180K 242M 1% / dev
Aucun 247m 0 247m 0% / dev / shm
Aucun 247m 32k 247m 1% / var / run
Aucun 247m 0 247m 0% / var / Lock
Aucun 247m 0 247m 0% / lib / init / rw
Aucun 18G 838M 16G 5% / var / lib / ureadahead / debugfs
/ dev / sda1 228m 17m 199m 8% / démarrage
/dev/etherd/e0.1p1     20G  172M   19G   1 % /mnt
[email protected] :~#

Vous pouvez le démonter comme ceci :

umount /mnt

Pour que l'appareil soit monté automatiquement au démarrage, par ex. dans le répertoire /storage, on crée ce répertoire...

mkdir /stockage

... et ajoutez la ligne suivante à /etc/fstab :

vi /etc/fstab
[...]/dev/etherd/e0.1p1 /storage ext4 defaults,auto,_netdev 0 0

Cela seul n'est pas suffisant pour que le périphérique soit monté au démarrage, car les éléments AoE sont chargés après la lecture de /etc/fstab. Nous ouvrons donc /etc/rc.local...

vi /etc/rc.local

... et ajoutez-y les lignes suivantes (avant la ligne exit 0) :

[...]aoe-discoversleep 5mount -a[...]

À des fins de test, vous pouvez maintenant redémarrer le système :

redémarrer

Après le redémarrage, l'appareil doit être monté :

monter
[email protected] :~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec ,nosuid,nodev)
aucun sur /sys type sysfs (rw,noexec,nosuid,nodev)
aucun sur /sys/fs/fuse/connections type fusectl (rw)
aucun sur / sys/kernel/debug type debugfs (rw)
aucun sur /sys/kernel/security type securityfs (rw)
aucun sur /dev type devtmpfs (rw,mode=0755)
aucun sur /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
aucun sur /dev/shm type tmpfs (rw,nosuid,nodev)
aucun sur /var/run tapez tmpfs (rw,nosuid,mode=0755)
aucun sur /var/lock tapez tmpfs (rw,noexec,nosuid,nodev)
aucun sur /lib/init/rw tapez tmpfs (rw,nosuid ,mode=0755)
aucun sur /var/lib/ureadahead/debugfs type debugfs (rw,relatime)
/dev/sda1 sur /boot type ext2 (rw)
/dev/etherd /e0.1p1 sur /storage type ext4 (rw,_netdev)
[email protected] :~#
df -h
[email protected] :~# df -h
Système de fichiers            Taille  Utilisé Disponible Utilisation % Monté sur
/dev/mapper/server1-root
                       18G  838M   16G    5 % /
Aucun 243M 180K 242M 1% / dev
Aucun 247m 0 247m 0% / dev / shm
Aucun 247m 32k 247m 1% / var / run
Aucun 247m 0 247m 0% / var / Lock
Aucun 247m 0 247m 0% / lib / init / rw
Aucun 18G 838M 16G 5% / var / lib / ureadahead / debugfs
/ dev / sda1 228m 17m 199m 8% / démarrage
/dev/etherd/e0.1p1     20G  172M   19G   1 % /stockage
[email protected] :~#

  • Définition du protocole AoE :http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • Ubuntu :http://www.ubuntu.com/

Ubuntu
  1. Utilisation de ATA sur Ethernet (AoE) sur CentOS 7 (initiateur et cible)

  2. Utilisation d'ATA sur Ethernet (AoE) sur Debian Squeeze (initiateur et cible)

  3. Configurer ATA sur Ethernet (AoE) sur Debian 8 (initiateur et cible)

  4. Utilisation de ATA sur Ethernet (AoE) sur CentOS 6.3 (initiateur et cible)

  5. Comment utiliser Ansible pour installer et configurer Redis 6 sur Ubuntu 20.04

Utilisation de Yarn sur Ubuntu et d'autres distributions Linux

Utilisation de fichiers et de dossiers sur l'écran du bureau dans Ubuntu

Le guide définitif d'utilisation et de personnalisation du Dock dans Ubuntu

Installez les derniers outils de développement et IDE sur Ubuntu à l'aide d'Ubuntu Make

Trucs et astuces pour utiliser Ctrl + Z dans Ubuntu Linux

Comment utiliser apt-get reinstall sur Debian et Ubuntu