GNU/Linux >> Tutoriels Linux >  >> Cent OS

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

Ce guide explique comment configurer une cible AoE et un initiateur AoE (client), tous deux exécutant CentOS 6.3. 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.

1 Remarque préliminaire

J'utilise ici deux serveurs CentOS 6.3 :

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

2 Activer les référentiels supplémentaires

serveur1/serveur2 :

Nous importons d'abord les clés GPG pour les packages logiciels :

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Ensuite, nous activons le référentiel EPEL6 sur nos deux systèmes CentOS :

rpm --import https://fedoraproject.org/static/0608B895.txt
cd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities

Modifier /etc/yum.repos.d/epel.repo...

vi /etc/yum.repos.d/epel.repo

... et ajoutez la ligne priority=10 à la section [epel] :

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

Le package vblade est disponible uniquement à partir de l'EPEL5 référentiel, nous devons donc ajouter la section suivante à /etc/yum.repos.d/epel.repo, mais uniquement sur le serveur2 :

serveur2 :

vi /etc/yum.repos.d/epel.repo

Assurez-vous d'utiliser la priorité=100 et de désactiver les vérifications GPG avec gpgcheck=0 :

[...]
[epel5]
name=Extra Packages for Enterprise Linux 5 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch
failovermethod=priority
enabled=1
priority=100
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

3 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                    26466  0
[[email protected] ~]#

Pour que le module soit chargé automatiquement au démarrage du système, nous ajoutons la ligne suivante à /etc/rc.local :

vi /etc/rc.local
[...]
modprobe aoe
[...]

4 Configuration de la cible (server2)

serveur2 :

Nous configurons d'abord la cible (serveur2) :

yum 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é stockage1 dans le groupe de volumes vg_server2 :

lvcreate -L20G -n storage1 vg_server2

(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/vg_server2/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 (après la ligne modprobe aoe !) :

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

5 Configuration de l'initiateur (server1)

serveur1 :

Sur le serveur1, nous installons l'initiateur :

yum install aoetools

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

aoe-discover

La commande

aoe-stat

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

[[email protected] ~]# aoe-stat
      e0.1        21.474GB   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 Dec 11 16:24 .
drwxr-xr-x. 20 root root    3620 Dec 11 16:00 ..
c-w--w----.  1 root disk 152,  3 Dec 11 16:00 discover
brw-rw----.  1 root disk 152, 16 Dec 11 16:24 e0.1
cr--r-----.  1 root disk 152,  2 Dec 11 16:00 err
c-w--w----.  1 root disk 152,  6 Dec 11 16:00 flush
c-w--w----.  1 root disk 152,  4 Dec 11 16:00 interfaces
c-w--w----.  1 root disk 152,  5 Dec 11 16:00 revalidate
[[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 0xed572fd4 .
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.


Le nombre de cylindres pour ce disque est défini sur 2610.
Il n'y a rien de mal à cela, mais c'est plus que 1024,
et pourrait dans certaines configurations provoquer des problèmes avec :
1) le logiciel qui s'exécute au démarrage (par exemple, les anciennes versions de LILO)
2) démarrer et partitionner un logiciel à partir d'autres systèmes d'exploitation
   (par exemple, DOS FDISK, OS/2 FDISK)
Attention : indicateur non valide 0x0000 de la table de partition 4 sera corrigée par w(rite)

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

Commande (m pour l'aide) : <-- t
Partition sélectionnée 1
Code hexadécimal (tapez L pour répertorier les codes) : <-- L

0 vide 1e caché W95 FAT1 80 Old Minix BF Solaris
1 FAT12 24 NEC DOS 81 MINIX / OLD LIN C1 DRDOS / SEC (FAT-
2 Root Xenix 39 Plan 9 82 Linux Swap / So C4 Drdos / sec (FAT-
3 Xenix USR 3C Partionmagic 83 Linux C6 DRDOS / SEC (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS / 2 Hidden C:C7 Syrinx
5 étendu 41 PPC Prep Boot 85 Linux étendues DA non-FS Données
6 FAT16 42 SFS 86 NTFS Volume Set DB CP / M / CTO
 8  AIX             4e  QNX4.x 2e partie 88  Linux plaintext df  BootIt
9 AIX BOOTABLE 4F QNX4.X 3RD PARTIE 8E LINUX LVM E1 DOS ACCES BBT      e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0    IBM Thinkpad Ext'd (LBA) 54 ONTRACKDM6 A5 FREEBSD EF EFI (FAT-12/16 /
10 OPUS 55 EZ-DRIVE A6 OpenBSD F0 Linux / Pa-Risc B
11 Hidden Fat12 56 Golden Bow A7 NextStep F1 SpeedStor
12 Compaq Diagnostic 5c Priam Edisk A8 Darwin UFS F4 SpeedStor
14 Hidden Fat16 <3 61 SpeedStor A9 NetBSD F2 DOS SECONDARY
16 Hidden Fat16 63 GNU HURD Or Sys AB Darwin Boot FB VMware VMFS
17  Caché HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netwa re  b8  BSDI swap       fd  Linux raid auto
1b  Masqué W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Masqué W95 FAT3 75  PC/IX    br        être  Solaris type B boot   L pour lister les codes : <-- 83

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

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

Ensuite, il y a un nouveau périphérique /dev/etherd/e0.1p1 que vous pouvez voir dans la sortie de

ls -l /dev/etherd/
[[email protected] ~]# ls -l /dev/etherd/
total 0
c-w--w----. 1 root disk 152,  3 Dec 11 16:00 discover
brw-rw----. 1 root disk 152, 16 Dec 11 16:27 e0.1
brw-rw----. 1 root disk 152, 17 Dec 11 16:27 e0.1p1
cr--r-----. 1 root disk 152,  2 Dec 11 16:00 err
c-w--w----. 1 root disk 152,  6 Dec 11 16:00 flush
c-w--w----. 1 root disk 152,  4 Dec 11 16:00 interfaces
c-w--w----. 1 root disk 152,  5 Dec 11 16:00 revalidate
[[email protected] ~]#

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 :

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

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

mount
[[email protected] ~]# mount
/dev/mapper/vg_server1-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/etherd/e0.1p1 on /mnt type ext4 (rw)
[[email protected] ~]#

... et

df -h
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_server1-LogVol00
                      9.7G  1.7G  7.5G  18% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             504M   39M  440M   9% /boot
/dev/etherd/e0.1p1     20G  151M   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 /storage

... 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 (après la ligne modprobe aoe !) :

[...]
aoe-discover
sleep 5
mount -a
[...]

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

reboot

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

mount
[[email protected] ~]# mount
/dev/mapper/vg_server1-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/etherd/e0.1p1 on /storage type ext4 (rw,_netdev)
[[email protected] ~]#
df -h
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_server1-LogVol00
                      9.7G  1.7G  7.5G  18% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             504M   39M  440M   9% /boot
/dev/etherd/e0.1p1     20G  151M   19G   1% /storage
[[email protected] ~]#

  • Définition du protocole AoE :http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • CentOS :http://www.centos.org/

Cent OS
  1. Utilisation d'ATA sur Ethernet (AoE) sur Ubuntu 12.10 (initiateur et cible)

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

  3. Utilisation d'Ansible pour installer et initialiser Mysql 8 sur Rocky Linux/Centos 8

  4. Comment configurer DM-Multipath d'un initiateur iSCSI vers une cible iSCSI dans CentOS / RHEL

  5. Comment configurer l'association d'interfaces réseau dans CentOS/RHEL 7 et 8

Surveillance et détection des fichiers modifiés à l'aide de Tripwire sur CentOS 7

Comment installer et gérer des packages sur CentOS à l'aide de RPM

Installation et utilisation de Perf dans Ubuntu et CentOS

Comment installer Webmin sur CentOS 8 et Rocky Linux 8

Comment configurer la cible iSCSI à l'aide de targetcli dans CentOS / RHEL 7

Comment configurer une interface Fibre-Channel Over Ethernet (FCoE) dans CentOS/RHEL