Kulcsszó - iscsi

A napokban egy backup szervert kellett beüzemelnem, aminek a háttértára egy ISCSI target.
Először is be kellett állítanom egy interfészt, ami belső hálózaton, az eth1-en keresztül kommunikál az ISCSI-t kiajánló szerverrel:

vi /etc/network/interfaces
auto eth0 # internet oldali láb
iface eth0 inet static
address 250.200.150.100
netmask 255.255.255.0
gateway 250.200.150.1
dns-nameservers 8.8.8.8
metric 0

auto eth1 # belső hálós láb
iface eth1 inet static
address 10.10.10.10
netmask 255.255.255.0
gateway 10.10.10.1
metric 1

service networking restart

A hálózat beállítása után teszteltem az ISCSI-t kiajánló szerver elérhetőségét:
ping 10.10.10.254

A szerver elérhető volt, így következő lépésként a szükséges csomagok telepítését végeztem el:
apt-get install open-iscsi

Ezután a storage-on beállításra került az, hogy csak a telepített szerver IQN-jével lehessen csatlakozni a targetekhez (az IQN-ünk kinyerhető a /etc/iscsi/initiatorname.iscsi fájlból).

Az engedélyezés után ellenőrizzük a storage által kiajánlott targeteket, majd bejelentkezünk abba:
iscsiadm -m discovery -t sendtargets -p 10.10.10.254
iscsiadm -m node --login --p 10.10.10.254

Bejelentkezés után a target megjelenik a /dev/mapper alatt, ezután:
parted /dev/mapper/iscsitargetneve # partíciós tábla készítése parted segítségével
(parted) mklabel gpt
(parted) unit TB
(parted) mkpart primary 0.00TB 8.00TB
(parted) quit
mkfs.ext4 /dev/mapper/iscsitargetneve1 # fájlrendszer létrehozása
mkdir -p /backup
mount /dev/mapper/iscsitargetneve1 /backup # fájlrendszer felcsatolása

A beállítás elvégzése után teszteltem az ISCSI target írhatóságát, mellyel nem volt gond.
Felmerülhet azonban a kérdés, hogy miként tudjuk perzisztenssé tenni a beállítást - azaz újraindítás után automatikusan bejelentkezni az ISCSI targetbe, és felmountolni azt. Íme:vi /etc/iscsi/iscsid.conf
node.startup = manual # ezt a sort módosítjuk az alábbira:
node.startup = automatic
echo "/dev/mapper/iscsitargetneve1 /backup ext4 _netdev 0 0" >> /etc/fstab

Fontos! Az fstab-ban a "defaults" helyett "_netdev" opciót kell beállítani. Ha nem így járunk el, és újraindítás után az operációs rendszerünk előbb próbálja majd meg felmountolni a targetet, mint ahogy a hálózati kapcsolat feláll, úgy a mount sikertelen lesz.