GNU/Linux >> Linux Esercitazione >  >> Debian

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

Questa guida spiega come impostare un target AoE e un iniziatore AoE (client), entrambi con Debian Squeeze. 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 Debian Squeeze 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                   21380  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.# I parametri possono essere specificati dopo il nome del modulo.aoeloop

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):

[...]/usr/sbin/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 mar 16 13:34 .
drwxr-xr -x 14 root root    3000 16 mar 13:33 ..
c-w--w---- 1 disco root 152, 3 16 mar 13:33 scopri
brw-rw----  1 root disk 152, 16 mar 16 13:34 e0.1
cr--r----- 1 root disk 152,  2 mar 16 13:33 err
c-w--w----  1 root disk 152, 6 mar 16 13:33 flush
c-w--w---- 1 root disk 152,  4 mar 16 13:33 interfacce
c-w--w----  1 root disco 152, 5 16 mar 13:33 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 per disco:0x00029d5c

Blocchi di avvio avvio del dispositivo Sistema ID
/dev /sda1*1 3793 30461952 83 Linux
/dev /sda2 3793 3917 992257 5 esteso
/dev/sda5           3793        3917      992256   82  Linux swap / Solaris

Disco /dev/etherd/e0.1: 21.5 GB, 21474836480 byte
10 6 settori/traccia br />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

Disco /dev/etherd/e0.1 non contiene un val id tabella delle partizioni
[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 0xa00b110d.
Le modifiche rimarranno solo in memoria, fino a quando non deciderai di scriverle.
In seguito, ovviamente, i contenuti precedenti non saranno recuperabili.


I numero di cilindri per questo disco è impostato su 2610.
Non c'è niente di viene eseguito al avvio (ad es., vecchie versioni di LILO)
2) avvio e partizionamento del software da altri OS
   (ad es. DOS FDISK, OS/2 FDISK)
Avviso: flag 0x0000 non valido di la tabella delle partizioni 4 verrà corretta da w(rite)

Command (m for help): <-- n
Command action
   e   estesa
   p   partizione primaria ( 1-4)
<-- p
Numero partizione (1-4): <-- 1
Primo cilindro (1-2610, predefinito 1):<-- E NTER
Utilizzo del valore predefinito 1
Ultimo cilindro o +dimensione o +dimensioneM o +dimensioneK (1-2610, predefinito 2610):<-- ENTER
Utilizzo del valore predefinito 2610

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

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

Chiamando ioctl() per rileggere la tabella delle partizioni.
Sincronizzazione dischi.
[ e-mail 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 per disco:0x00029d5c

Blocchi di avvio avvio del dispositivo Sistema ID
/dev /sda1*1 3793 30461952 83 Linux
/dev /sda2 3793 3917 992257 5 esteso
/dev/sda5           3793        3917      992256   82  Linux swap / Solaris

Disco /dev/etherd/e0.1: 21.5 GB, 21474836480 byte
10 6 settori/traccia br />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: 0x0cf58b15

            Avvio del dispositivo      Avvia         End      Blocchi   Id  System
/dev/etherd/e0.1p1               1        2610    20964793+  83  Linux
[email protected]:~#

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/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid ,mode=0755)
proc su /proc tipo proc (rw,noexec,nosuid,nodev)
sysfs su /sys tipo sysfs (rw,noexec,nosuid,nodev)
udev su / dev tipo tmpfs (rw,mode=0755)
tmpfs su /dev/shm tipo tmpfs (rw,nosuid,nodev)
devpts su /dev/pts tipo devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/etherd/e0.1p1 on /mnt type ext4 (rw)
[email protected]:~#

... e

df -h
; lib/init/rw
UDEV 244M 108K 244m 1%/dev
tmpfs 249m 0 249m 0%/dev/shm
/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/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid ,mode=0755)
proc su /proc tipo proc (rw,noexec,nosuid,nodev)
sysfs su /sys tipo sysfs (rw,noexec,nosuid,nodev)
udev su / dev tipo tmpfs (rw,mode=0755)
tmpfs su /dev/shm tipo tmpfs (rw,nosuid,nodev)
devpts su /dev/pts tipo devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/etherd/e0.1p1 on /storage type ext4 (rw,_netdev)
[email protected]:~#
df -h
; lib/init/rw
UDEV 244M 108K 244m 1%/dev
tmpfs 249m 0 249m 0%/dev/shm
/dev/etherd/e0.1p1 20g 172m 19g 1%/archiviazione/archiviazione
[email protetta]:~#

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

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

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

  3. Debian:utilizzo di due display su Debian?

  4. Debian:come creare un disco Debian Squeeze USB per Ppc?

  5. Installazione e utilizzo di Docker su Ubuntu e Debian

Installazione di Apache2 con PHP5 e supporto MySQL su Debian Squeeze (LAMP)

Utilizzo di mod_spdy con Apache2 su Debian Squeeze

Hosting virtuale con vsftpd e MySQL su Debian Squeeze

Aggiornamento da Debian 6 Squeeze con ISPConfig e corriere/postfix a Debian 7 Wheezy

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

Come eliminare file e directory utilizzando il terminale in Debian 10