ATA Over Ethernet (AoE) w Ubuntu

AoE (nie mylić z area of effect…) jest jednym z prokołów sieci pamięci masowych (SAN) powstałym w celu sięgania poprzez sieć wewnętrzną do dysków SATA. Czyli wkładamy dysk do servera/komputera A, wydajemy kilka komend i ten sam dysk zostaje zamontowany poprzez sieć na serverze/komputerze B.

Rozwiązanie to może być przydatne jeśli mamy dwa co najmniej dwa komputery i wolne „dyski”, które możemy przeznaczyć np. na tworzenie kopii zapasowych.

Poniższy punkt wykonujemy na wszystkich komputerach czyli na komputerze, który będzie udostępniał zasób (u mnie host01) jak i kliencie, na którym zasób będzie podmontowany (u mnie host2)

1) Wpierw sprawdzamy czy nasz kernel wspiera AoE

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

Powinna pojawić się komunikat jak na poniższym zdjęciu. Dalej sprawdzamy czy moduł odpowiedzialny za AoE został załadowany (pewnie nie).

sudo lsmod|grep aoe

Nie powinniśmy dostać żadnego komunikatu zatem ładujemy nasz moduł

sudo modprobe aoe
sudo lsmod|grep aoe

Na sam koniec warto dodać na koniec pliku /etc/modules linijkę aoe aby moduł ładował się automatycznie po starcie komputera.

Poniższe dwa punkty wykonujemy tylko na serverze czyli komputerze, który będzie udostępniać zasób.

2) Instalujemy potrzebne oprogramowanie

sudo apt-get install vblade

3) Wybieramy co chcemy udostępniać… Linux jest wielki tak więc możemy udostępnić cały dysk, partycję, wolumin logiczny, a może tylko plik, który będzie spełniał funkcję urządzenia dyskowego. Możliwości jest bardzo wiele.

Ja dla przykładu utworzyłem mały dysk /dev/sdb i właśnie jego będę udostępniał dla maszyny host2

Udostępnienie polega na wydaniu komendy:

sudo vbladed 0 1 eth0  /dev/sdb

Warto sprawdzić poleceniem ifconfig czy faktycznie nasz interfejs sieciowy nazywa eth0, a nie np eth1 itp. Cyfry 0,1 mają jedynie charakter porządkowo identyfikacyjny (0 to np. połka, 1 to slot)

Warto również dodać naszą komendę vbladed (już bez sudo) do /etc/rc.local aby wszystko wystartowało automatycznie w razie restartu komputera.

Poniższe punkty wykonujemy tylko na kliencie czyli komputerze, na którym będzie udostępniany zasób.

4) Instalujemy potrzebne oprogramowanie

sudo apt-get install aoetools

5) Wydajemy komendy:

sudo aoe-discover
sudo aoe-stat

Jeśli wszystko przebiegło pomyślnie to ta ostatnia powinna wykryć udostępniany zasób, w moim przypadku jest to 8GB dysk (/dev/etherd/e0.1)

6) Dalej działamy już zwyczajnie czyli musimy utworzyć nową partycję, wybrać jej rodzaj, sformatować etc.

Najpierw tworzę nową partycję fdiskiem (można użyć innych programów)

sudo fdisk /dev/etherd/e0.1

n
p
1
enter
enter
t
1
83
w (write)

Na sam koniec tworzę nowy filesystem typu ext4

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

Testowo zamontujmy testowo nasz zdalny dysk w /mnt

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

Pozostałe działania jak przy zwyczajnym montowaniu dysków.

7) Aby wymusić automatyczne montowanie po restarcie należy dodać nowa linijkę do /etc/fstab

/dev/etherd/e0.1p1       /miejsce/montowania        ext4    defaults,auto,_netdev 0 0

Co w sumie może być nie wystarczającę gdyż protokoł AoE startuje po wgraniu fstaba tak wieć należałoby ponownie wyedytować plik /etc/rc.local i dodać:

aoe-discover
sleep 4
mount -a

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.