GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Verwenden von ATA über Ethernet (AoE) auf CentOS 6.3 (Initiator und Ziel)

Diese Anleitung erläutert, wie Sie ein AoE-Ziel und einen AoE-Initiator (Client) einrichten, die beide CentOS 6.3 ausführen. AoE steht für „ATA over Ethernet“ und ist ein Storage Area Network (SAN)-Protokoll, das es AoE-Initiatoren ermöglicht, Speichergeräte auf dem (entfernten) AoE-Ziel mit normaler Ethernet-Verkabelung zu verwenden. „Remote“ bedeutet in diesem Fall „innerhalb desselben LANs“, da AoE außerhalb eines LANs nicht geroutet werden kann (dies ist ein wesentlicher Unterschied zu iSCSI). Für den AoE-Initiator sieht der Remote-Speicher wie eine normale, lokal angeschlossene Festplatte aus.

1 Vorbemerkung

Ich verwende hier zwei CentOS 6.3-Server:

  • server1.example.com (Initiator):IP-Adresse 192.168.0.100
  • server2.example.com (Ziel):IP-Adresse 192.168.0.101

2 Zusätzliche Repositories aktivieren

server1/server2:

Zuerst importieren wir die GPG-Schlüssel für Softwarepakete:

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

Dann aktivieren wir das EPEL6-Repository auf unseren beiden CentOS-Systemen:

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

Bearbeiten Sie /etc/yum.repos.d/epel.repo...

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

... und fügen Sie die Zeile priority=10 zum Abschnitt [epel] hinzu:

[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
[...]

Das vblade-Paket ist nur über EPEL5 verfügbar Repository, daher müssen wir den folgenden Abschnitt zu /etc/yum.repos.d/epel.repo hinzufügen, aber nur auf server2:

server2:

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

Stellen Sie sicher, dass Sie priority=100 verwenden und GPG-Prüfungen mit gpgcheck=0:

deaktivieren
[...]
[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 Laden des aoe-kernel-moduls auf beiden systemen

server1/server2:

Bevor wir beginnen, müssen wir sicherstellen, dass der Kernel AoE unterstützt:

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

Dies sollte etwa so aussehen:

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

Das bedeutet, dass AoE als Kernel-Modul gebaut wurde. Prüfen wir, ob das Modul bereits geladen ist:

lsmod | grep aoe

Wenn Sie nichts zurückbekommen, bedeutet dies, dass es nicht geladen ist. In diesem Fall können wir es wie folgt laden:

modprobe aoe

Lassen Sie uns noch einmal prüfen, ob das Modul geladen ist:

lsmod | grep aoe
[[email protected] ~]# lsmod | grep aoe
aoe                    26466  0
[[email protected] ~]#

Damit das Modul automatisch geladen wird, wenn das System bootet, fügen wir die folgende Zeile zu /etc/rc.local hinzu:

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

4 Einrichten des Ziels (server2)

server2:

Zuerst richten wir das Ziel (server2) ein:

yum install vblade

Wir können ungenutzte logische Volumes, Image-Dateien, Festplatten (z. B. /dev/sdb), Festplattenpartitionen (z. B. /dev/sdb1) oder RAID-Geräte (z. B. /dev/md0) für die Speicherung verwenden. In diesem Beispiel erstelle ich ein logisches Volume mit 20 GB namens storage1 in der Volume-Gruppe vg_server2:

lvcreate -L20G -n storage1 vg_server2

(Wenn Sie eine Bilddatei verwenden möchten, können Sie diese wie folgt erstellen:

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

Dadurch wird die Image-Datei /storage/storage1.img mit einer Größe von 20 GB erstellt.

)

Jetzt exportieren wir unser Speichergerät wie folgt:

vbladed 0 1 eth0 /dev/vg_server2/storage1

Die erste Zahl (0) ist die Regalnummer (groß), die zweite (1) die Fachnummer (klein), ändern Sie diese Nummern nach Ihren Wünschen. Jedes AoE-Gerät wird durch ein Paar Major/Minor identifiziert, das eindeutig sein muss (wenn Sie mehrere Geräte exportieren), wobei Major zwischen 0-65535 und Minor zwischen 0-255 liegt. Der eth0-Teil teilt vbladed mit, welches Ethernet-Gerät verwendet werden soll (wenn Ihr Ethernet-Gerät eth1 ist, verwenden Sie eth1 - Sie können Ihre Ethernet-Geräte herausfinden, indem Sie

ausführen
ifconfig

).

Um den Export automatisch zu starten, wenn Sie das Ziel booten, öffnen Sie /etc/rc.local...

vi /etc/rc.local

... und fügen Sie die folgende Zeile hinzu (nach der Zeile modprobe aoe!):

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

5 Einrichten des Initiators (server1)

server1:

Auf server1 installieren wir den Initiator:

yum install aoetools

Jetzt prüfen wir, welche AoE-Speichergeräte verfügbar sind:

aoe-discover

Der Befehl

aoe-stat

sollte nun die Speichergeräte anzeigen:

[[email protected] ~]# aoe-stat
      e0.1        21.474GB   eth0 up
[[email protected] ~]#

An diesem Punkt haben wir ein neues Blockgerät mit dem Namen /dev/etherd/e0.1 auf der Client-Box verfügbar. Wenn wir uns den /dev-Baum ansehen, erscheint ein neuer Knoten:

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] ~]#

Um dieses Gerät zu verwenden, müssen wir es formatieren:

fdisk /dev/etherd/e0.1

[[email protected] ~]# fdisk /dev/etherd/e0.1
Das Gerät enthält weder eine gültige DOS-Partitionstabelle, noch Sun, SGI oder OSF-Disklabel
Erstellen eines neuen DOS-Disklabels mit Festplattenkennung 0xed572fd4 .
Änderungen bleiben nur im Arbeitsspeicher, bis Sie sich entscheiden, sie zu schreiben.
Danach können die vorherigen Inhalte natürlich nicht mehr wiederhergestellt werden.


Die Anzahl der Zylinder für diese Festplatte ist auf 2610 festgelegt.
Daran ist nichts falsch , aber dass ist größer als 1024,
und könnte bei bestimmten Setups Probleme verursachen mit:
1) Software das beim Booten ausgeführt wird (z. B. alte Versionen von LILO)
2) Booten und Partitionieren von Software von anderen Betriebssystemen
   (z. B. DOS FDISK, OS/2 FDISK)
Warnung: ungültiges Flag 0x0000 der Partitionstabelle 4 wird durch w(rite) korrigiert

Befehl (m für Hilfe): <-- n
Befehl Aktion
   e   erweitert
   p   primäre Partition (1-4)
<-- p
Partitionsnummer (1-4): <-- 1
Erster Zylinder (1-2610, Standard 1): <-- ENTER
Unter Verwendung des Standardwerts 1
Letzter Zylinder, +Zylinder oder +Größe{K,M,G} (1-2610, Standard 2610): <-- ENTER
Unter Verwendung des Standardwerts 2610

Befehl (m für Hilfe): <-- t
Ausgewählte Partition 1
Hex-Code (geben Sie L ein, um Codes aufzulisten): <-- L

0 leer 1E versteckt W95 FAT1 80 ALTES MINIX BF Solaris
1 FAT12 24 NEC DOS 81 MINIX/ALTES LIN C1 DRDOS/SEC (FAT-
2 Xenix Root 39 Plan 9 82 Linux SWAP/SO C4 DRDOS /Sec (FAT-
3 Xenix usr 3c partitionmagic 83 Linux C6 DRDOS /SEC (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS /2 Hidden C:C7 Syrinx
5 Erweitert 41 41 erweitert 41 PPC Prep Boot 85 Linux Extended DA Non-FS-Daten
6 FAT16 42 SFS 86 NTFS Volumensatz DB CP/M/CTOS/.
7 HPFS/NTFS 4D QNX4.X 87 NTFS Volumensatz de Dell Utility
 8  AIX             4e  QNX4.x 2 Teil 88  Linux Klartext df  BootIt
9 AIX bootable 4f Qnx4.x 3. Teil 8e Linux LVM E1 DOS Access
A OS /2 Boot Managing 50 Ontrack DM 93 Amoeba E3 DOS R /O
B W95 FAT32 51 Ontrack DM6 AUX 94 Amoeba 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                           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 Diagnost 5C Priam Edisk A8 Darwin UFS F4 Speedstor
14 Hidden Fat16 <3 61 Speedstor A9 NetBSD F2 DOS Sekundär
16 Hidden Fat16 63 GNU Hurd oder SYS ab Darwin Boot FB VMware versteckt VMFS
17  Verstecktes 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  Versteckt W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Versteckt W95 FAT3 75  PC/IX         br  be  Solaris    boot (H              L um Codes aufzulisten): <-- 83

Befehl (m für Hilfe): <-- w
Die Partitionstabelle wurde verändert!

Anruf ioctl (), um die Partitionstabelle erneut zu lesen.
Laufwerke werden synchronisiert.
[[email protected] ~]#

Danach gibt es ein neues Gerät /dev/etherd/e0.1p1, das Sie in der Ausgabe von

sehen können
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] ~]#

Jetzt erstellen wir ein Dateisystem auf /dev/etherd/e0.1p1...

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

... und zu Testzwecken mounten:

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

Sie sollten nun das neue Gerät in den Ausgaben von...

sehen
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] ~]#

... und

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] ~]#

Sie können es wie folgt aushängen:

umount /mnt

Damit das Gerät beim Booten automatisch gemountet wird, z. im Verzeichnis /storage erstellen wir dieses Verzeichnis...

mkdir /storage

... und fügen Sie die folgende Zeile zu /etc/fstab hinzu:

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

Dies allein reicht nicht aus, um das Gerät beim Booten gemountet zu haben, da das AoE-Zeug geladen wird, nachdem /etc/fstab gelesen wurde. Dazu öffnen wir /etc/rc.local...

vi /etc/rc.local

... und füge folgende Zeilen hinzu (nach der Zeile modprobe aoe!):

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

Zu Testzwecken können Sie nun das System neu starten:

reboot

Nach dem Neustart sollte das Gerät gemountet sein:

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] ~]#

  • AoE-Protokolldefinition:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • CentOS:http://www.centos.org/

Cent OS
  1. Verwenden von ATA Over Ethernet (AoE) auf CentOS 7 (Initiator und Ziel)

  2. Verwenden von ATA über Ethernet (AoE) auf Ubuntu 12.10 (Initiator und Ziel)

  3. Verwenden von ATA über Ethernet (AoE) auf Debian Squeeze (Initiator und Ziel)

  4. Konfigurieren Sie iSCSI Target &Initiator auf CentOS 7 / RHEL7

  5. So konfigurieren Sie Netzwerkschnittstellen-Teaming in CentOS/RHEL 7 und 8

Überwachung und Erkennung geänderter Dateien mit Tripwire unter CentOS 7

So installieren und verwalten Sie Pakete auf CentOS mit RPM

Installieren und Verwenden von Perf in Ubuntu und CentOS

So installieren Sie Webmin unter CentOS 8 und Rocky Linux 8

So konfigurieren Sie das iSCSI-Ziel mit targetcli in CentOS / RHEL 7

So konfigurieren Sie eine Fibre-Channel Over Ethernet (FCoE)-Schnittstelle in CentOS/RHEL