(MIT1) iSCSI Server LUN information

0 votes
asked Feb 23, 2016 in ITLab1 by gege (45 points)  

Szerver oldalon csinálok egy raid1-et, létrehozom a fájlrendszert, majd mountolom, ezt követően elhelyezek ezen a köteten egy file-t. Majd a mérési segédletben leírtak szerint a target.config file-ban megadom a tergetet, mint egy backing-store target.

<target iqn.2016-02.com.example:server.target1> 
       backing-store /dev/md1
</target>

Ez után reloadolom, és elindítom a service tgtd start-tal.
A kliens oldalon megjelenik a célpont be is tudok rá lépni sikeresen, de a kötet még sem jelenik meg.
Ha a szerver oldalon a

tgtadm --lld iscsi --op show --mode target

paranccsal kiiratom a target információt azt látom, hogy:
Target 1: iqn.2008-09.com.example:server.target1
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
Account information:
ACL information:
ALL

Arra rájötem, hogy az a baj, hogy az itt látható LUN0 gyakorlatilag használhatatlan, mert se mérete se típusa, se semmi. Akkor fog a kliens oldalon megjelenni a kötet, ha hozzá adok egy új logikai egységet:

tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/md1

A kérdésem az, hogy hol rontom el, mert ha csak a kiadott segédlet alapján csinálom, az abban megtalálható parancsokkal, akkor nem fogom látni a kliens oldalon a köteget. Kell ez a plusz parancs, amiről nincs szó a segédletben, viszont feltételezem, hogy a segédletben leírtak alapján is elvileg meg lehetne oldani ezt.
A raid létrehozásánál valahol nem határozok meg a logikai egységet?

3 Answers

+2 votes
answered Feb 24, 2016 by dividovi2 (406 points)  
selected Feb 24, 2016 by gege
 
Best answer

Szia,

No megtaláltam a hibát (utasítás sorrendben volt a baj) :)

A baj az volt, hogy a raid köteten létrehoztál egy fájlrendszert, és utána konfiguráltad fel az tgtd rendszert.

  • Elöször hozd létre a raid kötetet
  • Konfiguráld fel a targets.conf fájlt
  • Indítsd el a tgtd szolgáltatást
  • Ellenőrizz ( "sudo tgtadm --op show --mode target" )

Ekkor már látnod kell a LUN1-es bejegyzést is, és innentől már mennie kell a kliens oldalon is a történetnek.

Ezek után már szabadon formázhatod a szerver oldalon a raid kötetet, a kliens oldalra is át fog kerülni a változás.

Remélem így már sikerülni fog :)

Üdv
Dávid

commented Feb 24, 2016 by gege (45 points)  
Köszönöm, így már valóban megy :)

Esetleg azt meg tudnád mondani, hogy így miért működik? Mi az, ami így máshogy zajlik a háttérben?
Nekem valahogy a logika azt diktálta, hogy először formázom.
 
Üdv
Gellért
0 votes
answered Feb 23, 2016 by dividovi2 (406 points)  

Szia,

Ami furcsa számomra, hogy "iqn.2016-02.com.example:server.target1" -ként definiálod a konfigurációs állományban a megosztásod, de amikor kilistázod, akkor már "iqn.2008-09.com.example:server.target1".

Ezek alapján biztos, hogy jó megosztást csatolsz fel a kliens oldalon?

By the way:

Ha már nagyon nem megy, akkor inkább foglalj új gépeket, nehogy az előző sikertelen próbálkozások bekavarjanak.

Újratölteni a konfigurációs állományt csak akkor kell, ha azután módosítottad a target.conf fájlt, miután a tgtd szolgáltatást elindítottad. Javaslom, inkább a szolgáltatás elindítás előtt módosítsd a target.conf fájlt.

Amikor kilistázod a szerveren, hogy milyen target-ek vannak, akkor az általad megadott konfiguráció alapján kellene lennie egy LUN0, és egy LUN1-es eszköznek. A LUN0, kb úgy nézne ki, mint amit írtál. A LUN1-ben jelenne meg a /dev/md1 -es eszköz a "Backing store path" -ban.

Remélem tudtam segíteni.

Üdv:
Dávid

commented Feb 23, 2016 by gege (45 points)  
Köszönöm a válaszodat!

target név beli különbség az abból adódott, hogy figylemetlenül másoltam be.
Indítottam egy új virtuális gépet, de a szerver oldal beállítását követően úgyanúgy csak a LUN0 jelenik meg. Egy válaszban leírom a parancsok sorát, mert ott jobban lehet formázni.
0 votes
answered Feb 23, 2016 by gege (45 points)  
edited Feb 23, 2016 by gege

A következő parancsokat futtatom le a szerver oldalon sorban:

mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/loop0 /dev/loop1

mkdir /mnt/disk1

mkfs.ext3 /dev/md0

mount /dev/md0 /mnt/disk1

mcedit /etc/tgt/targets.conf

Config file beállítás:

<target iqn.2016-02.com.example:server.target1>
    backing-store /dev/md0
</target>

service tgtd start

tgtadm --lld iscsi --op show --mode target

Ezt követően az utolsó parancsra a kimenet:
Target 1: iqn.2016-02.com.example:server.target1
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
Account information:
ACL information:
ALL

Kliens oldalon:

iscsiadm --mode discovery --type sendtargets --portal 10.6.16.184:3260

ki: 10.6.16.184:3260,1 iqn.2016-02.com.example:server.target1

iscsiadm --mode node --targetname iqn.2016-02.com.example:server.target1 --portal 10.6.16.184:3260 --login

ki: Logging in to [iface: default, target: iqn.2016-02.com.example:server.target1, portal: 10.6.16.184,3260] (multiple)
Login to [iface: default, target: iqn.2016-02.com.example:server.target1, portal: 10.6.16.184,3260] successful.

 lsblk

ki:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 256M 0 loop
loop1 7:1 0 256M 0 loop
loop2 7:2 0 256M 0 loop
loop3 7:3 0 256M 0 loop
loop4 7:4 0 256M 0 loop
loop5 7:5 0 256M 0 loop
sda 8:0 0 16G 0 disk
├─sda1 8:1 0 512M 0 part /boot
├─sda2 8:2 0 14.5G 0 part /
└─sda3 8:3 0 1G 0 part [SWAP]

Tehát így itt a szerver oldalon nem látom a kötetet.
Azt értem, hogy hiányzik a LUN1, csak azt nem, hogy miért nem csatolja hozzá.
Valami nem stimmel a lépések során?

A kliens oldalon:

tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/md0

parancs után már meg van a LUN1

Target 1: iqn.2016-02.com.example:server.target1
System information:
Driver: iscsi
State: ready
IT nexus information:
I
T nexus: 2
Initiator: iqn.1994-05.com.redhat:e0df7d855e
Connection: 0
IP Address: 10.6.16.145
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 268 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/md0
Backing store flags:
Account information:
ACL information:
ALL

És nyilván így már a kliens is látja.

Csak hát a dolog miértje az ami nem tiszta.

...