GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Utilizzo di ATA Over Ethernet (AoE) su Ubuntu 12.10 (iniziatore e destinazione)

Questa guida spiega come impostare un target AoE e un iniziatore AoE (client), entrambi con Ubuntu 12.10. 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.

Non garantisco che questo funzionerà per te!

1 Nota preliminare

Sto usando due server Ubuntu 12.10 qui:

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

2 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 protetta]:~# grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
[e-mail protetta]:~#

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 protetta]:~# lsmod | grep aoe
aoe                   26960  0
[email protetta]:~#

Per caricare automaticamente il modulo all'avvio del sistema, aggiungiamo il modulo aoe a /etc/modules:

vi /etc/modules
# /etc/modules:moduli del kernel da caricare all'avvio.## Questo file contiene i nomi dei moduli del kernel che devono essere caricati# all'avvio volta, uno per riga. Le righe che iniziano con "#" vengono ignorate.looplprtcaoe

3 Impostazione del target (server2)

server2:

Per prima cosa impostiamo la destinazione (server2):

apt-get 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 vg0:

lvcreate -L20G -n storage1 vg0

(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/vg0/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 riga seguente (prima della riga 0 di uscita):

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

4 Configurazione dell'iniziatore (server1)

server1:

Sul server1, installiamo l'iniziatore:

apt-get install aoetools

Ora controlliamo quali dispositivi di archiviazione AoE sono disponibili:

aoe-scopri

Il comando

aoe-stat

ora dovrebbe mostrare i dispositivi di archiviazione:

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

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 2012-10-01 16:24 .
drwxr-xr-x 16 root root    3800 2012-10-01 16:21 ..
c-w--w---- 1 disco root 152,  3 2012-10-01 16:21 scopri
brw-rw----  1 disco di root 152, 16 2012-10-01 16:24 e0.1
cr--r-----  1 disco di root 152,  2 2012-10-01 16:21 err
c-w--w---- 1 disco di root 152,  6 2012-10-01 16:21 flush
c-w--w----  1 disco di root 152,  4 2012-10 -01 16:21 interfacce
c-w--w----  1 disco di root 152,  5 2012-10-01 16:21 riconvalida
[email protetta]:~#

Nell'output di

fdisk -l

ora dovresti trovare anche il nuovo disco rigido:

[email protected]:~# fdisk -l

Disco /dev/sda: 32,2 GB, 32212254720 byte
255 teste, 63 settori/traccia, 3916 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Dimensione del settore (logico/fisico): 512 byte / 512 byte
Dimensione I/O (minimo/ottimale): 512 byte / 512 byte
Identificatore del disco:0x00016be9

Blocchi di avvio avvio del dispositivo Sistema ID
/dev /sda1*1 32 248832 83 linux
partizione 1 non termina sul limite del cilindro.
/dev/sda2 32 3917 31205377 5 esteso
/dev/sda5 32 3917 31205376 8e linux lvm

disk /dev/etherd/e0.1:21,5 gb, 21474836480 bytes
Unità = cilindri di 16065 * 512 = 8225280 byte
Dimensione del settore (logico/fisico): 512 byte / 512 byte
Dimensione I/O ( minimo/ottimale): 512 byte / 512 byte
Identificatore disco: 0x00000000

Di sk /dev/etherd/e0.1 non contiene una tabella delle partizioni valida
[email protetta]:~#

Per utilizzare quel dispositivo, dobbiamo formattarlo:

fdisk /dev/etherd/e0.1

[email protetta]:~# fdisk /dev/etherd/e0.1
Il dispositivo non contiene né una tabella delle partizioni DOS valida, né un'etichetta disco Sun, SGI o OSF
Creazione di una nuova etichetta disco DOS con identificatore disco 0x3093ae28.
Le modifiche rimarranno solo in memoria, fino a quando non deciderai di scriverle.
Dopo ciò, ovviamente, il contenuto precedente non sarà recuperabile.

Attenzione:flag 0x0000 non valido della tabella delle partizioni 4 verrà corretto da w(rite)

AVVERTENZA: la modalità compatibile con DOS è deprecata. È vivamente consigliato di
        disattivare la modalità (comando 'c') e cambiare unità di visualizzazione in
         settori (comando 'u').

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

Comando (m for guida): <-- t
Partizione 1 selezionata
Esadecimale code (digitare L per elencare i codici): <-- 83

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

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

Successivamente, l'output di

fdisk -l

dovrebbe apparire come segue:

[email protected]:~# fdisk -l

Disco /dev/sda: 32,2 GB, 32212254720 byte
255 teste, 63 settori/traccia, 3916 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Dimensione del settore (logico/fisico): 512 byte / 512 byte
Dimensione I/O (minimo/ottimale): 512 byte / 512 byte
Identificatore del disco:0x00016be9

Blocchi di avvio avvio del dispositivo Sistema ID
/dev /sda1*1 32 248832 83 linux
partizione 1 non termina sul limite del cilindro.
/dev/sda2 32 3917 31205377 5 esteso
/dev/sda5 32 3917 31205376 8e linux lvm

disk /dev/etherd/e0.1:21,5 gb, 21474836480 bytes
Unità = cilindri di 16065 * 512 = 8225280 byte
Dimensione del settore (logico/fisico): 512 byte / 512 byte
Dimensione I/O ( minimo/ottimale): 512 byte / 512 byte
Identificatore disco: 0x3093ae28

           Dispositivo Avvio      Inizio         Fine      Blocchi   Id  Sistema
/dev/etherd/e0.1p1              1        2610    20964793+   83 protetto
]~ Ora creiamo un filesystem su /dev/etherd/e0.1p1...

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

... e montalo a scopo di test:

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

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

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

... e

df -h
[email protected]:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/server1-root
                     18G  838M   16G                     18G  838M   16G    5% /<> Nessuno 243M 180K 242M 1%/Dev
Nessuno 247m 0 247m 0%/Dev/Shm
Nessuno 247M 32K 247M 1%/var/run
Nessuno 247m 0 247m 0%/var/var/var/var/var/var/var/var/var/var/var/var/var/var/var/var/var Lock
Nessuno 247m 0 247m 0%/lib/init/rw
Nessuno 18g 838m 16g 5%/var/lib/ureadahead/debugfs
/dev/sda1 228m 17m 199m 8%/boot
/dev/etherd/e0.1p1     20G  172M   19G   1% /mnt
[email protetta]:~#

Puoi smontarlo in questo modo:

smonta /mnt

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

mkdir /archiviazione

... 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 (prima della riga 0 di uscita):

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

A scopo di test, ora puoi riavviare il sistema:

riavvio

Dopo il riavvio, il dispositivo dovrebbe essere montato:

montare
[email protetta]:~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec ,nosuid,nodev)
none su /sys tipo sysfs (rw,noexec,nosuid,nodev)
none su /sys/fs/fuse/connections tipo fusectl (rw)
none su / sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts tipo devpts (rw,noexec,nosuid,gid=5,mode=0620)
none su /dev/shm tipo tmpfs (rw,nosuid,nodev)
none su /var/run digita tmpfs (rw,nosuid,mode=0755)
none su /var/lock digita tmpfs (rw,noexec,nosuid,nodev)
none su /lib/init/rw digita tmpfs (rw,nosuid ,mode=0755)
none su /var/lib/ureadahead/debugfs tipo debugfs (rw,relatime)
/dev/sda1 su /boot tipo ext2 (rw)
/dev/etherd /e0.1p1 su /tipo di archiviazione ext4 (rw,_netdev)
[email protetta]:~#
df -h
[email protected]:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/server1-root
                     18G  838M   16G                     18G  838M   16G    5% /<> Nessuno 243M 180K 242M 1%/Dev
Nessuno 247m 0 247m 0%/Dev/Shm
Nessuno 247M 32K 247M 1%/var/run
Nessuno 247m 0 247m 0%/var/var/var/var/var/var/var/var/var/var/var/var/var/var/var/var/var Lock
Nessuno 247m 0 247m 0%/lib/init/rw
Nessuno 18g 838m 16g 5%/var/lib/ureadahead/debugfs
/dev/sda1 228m 17m 199m 8%/boot
/dev/etherd/e0.1p1     20G  172M   19G   1% /archiviazione
[email protetta]:~#

  • Definizione del protocollo AoE:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • Ubuntu:http://www.ubuntu.com/

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

  2. Utilizzo di ATA Over Ethernet (AoE) su Debian Squeeze (iniziatore e destinazione)

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

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

  5. Come utilizzare Ansible per installare e configurare Redis 6 su Ubuntu 20.04

Utilizzo di Yarn su Ubuntu e altre distribuzioni Linux

Utilizzo di file e cartelle sullo schermo del desktop in Ubuntu

La guida definitiva all'uso e alla personalizzazione del Dock in Ubuntu

Installa gli ultimi strumenti per sviluppatori e IDE su Ubuntu usando Ubuntu Make

Suggerimenti e trucchi per usare Ctrl+Z in Ubuntu Linux

Come utilizzare apt-get reinstall su Debian e Ubuntu