GNU/Linux >> Linux Esercitazione >  >> Cent OS

Utilizzo di ATA Over Ethernet (AoE) su CentOS 6.3 (iniziatore e destinazione)

Questa guida spiega come configurare un target AoE e un iniziatore AoE (client), entrambi con CentOS 6.3. AoE sta per "ATA over Ethernet" ed è un protocollo SAN (Storage Area Network) che consente agli iniziatori AoE di utilizzare dispositivi di archiviazione sulla destinazione AoE (remota) utilizzando il normale cablaggio Ethernet. "Remote" in questo caso significa "all'interno della stessa LAN" perché AoE non è instradabile al di fuori di una LAN (questa è una grande differenza rispetto a iSCSI). Per l'iniziatore AoE, l'archiviazione remota appare come un normale disco rigido collegato localmente.

1 Nota preliminare

Sto usando due server CentOS 6.3 qui:

  • server1.example.com (iniziatore):indirizzo IP 192.168.0.100
  • server2.example.com (Target):indirizzo IP 192.168.0.101

2 Abilita repository aggiuntivi

server1/server2:

Per prima cosa importiamo le chiavi GPG per i pacchetti software:

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

Quindi abilitiamo il repository EPEL6 sui nostri due sistemi 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

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

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

... e aggiungi la linea priority=10 alla sezione [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
[...]

Il pacchetto vblade è disponibile solo da EPEL5 repository, quindi dobbiamo aggiungere la seguente sezione a /etc/yum.repos.d/epel.repo, ma solo su server2:

server2:

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

Assicurati di utilizzare priority=100 e di disabilitare i controlli GPG con 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 Caricamento del modulo del kernel aoe su entrambi i sistemi

server1/server2:

Prima di iniziare, dobbiamo assicurarci che il kernel supporti AoE:

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

Questo dovrebbe visualizzare qualcosa del genere:

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

Ciò significa che AoE è stato creato come modulo del kernel. Verifichiamo se il modulo è già caricato:

lsmod | grep aoe

Se non ricevi nulla in cambio, significa che non è caricato. In questo caso possiamo caricarlo come segue:

modprobe aoe

Controlliamo ancora se il modulo è caricato:

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

Per caricare automaticamente il modulo all'avvio del sistema, aggiungiamo la seguente riga a /etc/rc.local:

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

4 Impostazione del target (server2)

server2:

Per prima cosa impostiamo la destinazione (server2):

yum install vblade

Possiamo utilizzare volumi logici inutilizzati, file di immagine, dischi rigidi (es. /dev/sdb), partizioni di dischi rigidi (es. /dev/sdb1) o dispositivi RAID (es. /dev/md0) per l'archiviazione. In questo esempio creerò un volume logico di 20 GB denominato storage1 nel gruppo di volumi vg_server2:

lvcreate -L20G -n storage1 vg_server2

(Se vuoi usare un file immagine, puoi crearlo come segue:

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

Questo crea il file immagine /storage/storage1.img con una dimensione di 20 GB.

)

Ora esportiamo il nostro dispositivo di archiviazione come segue:

vbladed 0 1 eth0 /dev/vg_server2/storage1

Il primo numero (0) è il numero dello scaffale (principale), il secondo (1) il numero dello slot (minore), cambia questi numeri a tuo piacimento. Ogni dispositivo AoE è identificato da una coppia maggiore/minore che deve essere univoca (se si stanno esportando più dispositivi), con maggiore tra 0-65535 e minore tra 0-255. La parte eth0 dice a vbladed quale dispositivo ethernet usare (se il tuo dispositivo ethernet è eth1, usa eth1 - puoi scoprire i tuoi dispositivi ethernet eseguendo

ifconfig

).

Per avviare l'esportazione automaticamente ogni volta che avvii il target, apri /etc/rc.local...

vi /etc/rc.local

... e aggiungi la seguente riga (dopo la riga modprobe aoe!):

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

5 Configurazione dell'iniziatore (server1)

server1:

Sul server1, installiamo l'iniziatore:

yum install aoetools

Ora controlliamo quali dispositivi di archiviazione AoE sono disponibili:

aoe-discover

Il comando

aoe-stat

ora dovrebbe mostrare i dispositivi di archiviazione:

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

A questo punto abbiamo un nuovo dispositivo a blocchi disponibile sul box client chiamato /dev/etherd/e0.1. Se diamo un'occhiata all'albero /dev appare un nuovo nodo:

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

Per utilizzare quel dispositivo, dobbiamo formattarlo:

fdisk /dev/etherd/e0.1

[[email protected] ~]# fdisk /dev/etherd/e0.1
Il dispositivo non contiene né una tabella delle partizioni DOS valida, né Sun, SGI o OSF disklabel
Costruire una nuova disklabel DOS con identificatore disco 0xed572fd4 .
Le modifiche rimarranno solo in memoria finché non deciderai di scriverle.
Dopo di ciò, ovviamente, i contenuti precedenti non saranno recuperabili.


Il numero di cilindri per questo disco è impostato su 2610.
Non c'è niente sbagliato in questo ma è maggiore di 1024,
e potrebbe in alcune impostazioni causare problemi con:
1) software che viene eseguito al momento dell'avvio (ad es., versioni precedenti di LILO)
2) avvio e partizionamento del software da altri sistemi operativi
   (ad es. FDISK DOS, FDISK OS/2)
Avviso:flag 0x0000 non valido della tabella delle partizioni 4 verrà corretto da w(rite)

Comando (m for aiuto): <-- n
Comando azione
   e   esteso
   p   partizione primaria (1-4)
<-- p
Numero partizione (1-4): <-- 1
Primo cilindro (1-2610, predefinito 1): <-- INVIO
Usando il valore predefinito 1
Ultimo cilindro, +cilindri o +dimensione{K,M,G} (1-2610, predefinito 2610): <-- INVIO
Usando il valore predefinito 2610

Comando (m for help): <-- t
Partizione 1 selezionata
Codice esadecimale (digitare L per elencare i codici): <-- L

0 vuoto 1E nascosto W95 FAT1 80 Old Minix BF Solaris
1 FAT12 24 NEC DOS 81 Minix/Old Lin C1 DRDOS/sec (Fat-
2 Xenix Root 39 Piano 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 Extended 41 esteso 41 esteso 41 esteso 41 esteso 41 esteso 41 esteso 41 esteso PPC Prep boot 85 Linux DA DA non-FS esteso
6 FAT16 42 SFS 86 NTFS Volume set db cp/m/ctos/.
7 hpfs/ntfs 4d qnx4.x 87 ntfs volume set de dell utility utility
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt
9 AIX avviabile 4f qnx4.x 3rd parte 8e linux lvm e1 dos access
A OS /2 boot manage 50 ontrack dm 93 ameba e3 dos r /o
b w95 fat32 51 ontrack dm6 aux 94 amoeba 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 ee ink 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 FAT12 nascosto 56 Golden Bow A7 NextStep NextStep F1 Speedstor
12 Compaq Diagnost 5C PRIAM EDISK A8 Darwin UFS F4 Speedstor
14 FAT16 Hidden Hidden16 <3 61 Speedstor A9 Netbsd F2 DOS Secondary
16 FAT16 Hidden Fat16 63 GNU HURD o SYS AB Darwin Boot FB VMware VMFS
17  HPFS/NTF nascosto 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netwa re  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 75  PC/IX          be  Solaris off boot   L per elencare i codici): <-- 83

Comando (m for help): <-- w
La tabella delle partizioni è stata alterata!

Chiamando ioctl () per rileggere la tabella delle partizioni.
Sincronizzazione dischi.
[[email protetta] ~]#

Successivamente, c'è un nuovo dispositivo /dev/etherd/e0.1p1 che puoi vedere nell'output di

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

Ora creiamo un filesystem su /dev/etherd/e0.1p1...

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

... e montalo a scopo di test:

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

Ora dovresti vedere il nuovo dispositivo negli output di...

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

... e

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

Puoi smontarlo in questo modo:

umount /mnt

Per avere il dispositivo montato automaticamente all'avvio, ad es. nella directory /storage, creiamo quella directory...

mkdir /storage

... e aggiungi la seguente riga a /etc/fstab:

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

Questo da solo non è sufficiente per avere il dispositivo montato all'avvio perché il materiale AoE viene caricato dopo la lettura di /etc/fstab. Quindi apriamo /etc/rc.local...

vi /etc/rc.local

... e aggiungi le seguenti righe (dopo la riga modprobe aoe!):

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

A scopo di test, ora puoi riavviare il sistema:

reboot

Dopo il riavvio, il dispositivo dovrebbe essere montato:

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

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

Cent OS
  1. Utilizzo di ATA Over Ethernet (AoE) su CentOS 7 (iniziatore e destinazione)

  2. Imposta ATA su Ethernet (AoE) su Debian 8 (Initiator e Target)

  3. Utilizzo di Ansible per installare e inizializzare Mysql 8 su Rocky Linux/Centos 8

  4. Installazione e utilizzo di Docker su CentOS e Fedora

  5. CentOS / RHEL 6,7:Come eliminare una destinazione iSCSI sull'iniziatore (client iSCSI)

Monitoraggio e rilevamento di file modificati utilizzando Tripwire su CentOS 7

Come installare e gestire i pacchetti su CentOS utilizzando RPM

Installazione e utilizzo di Perf in Ubuntu e CentOS

Come installare Webmin su CentOS 8 e Rocky Linux 8

Come configurare la destinazione iSCSI utilizzando targetcli in CentOS / RHEL 7

Come configurare un'interfaccia Fibre-Channel Over Ethernet (FCoE) in CentOS/RHEL