Hvernig á að setja upp iSCSI Server (Target) og Client (Initiator) á Debian 9


Í gagnaveraheiminum eru stórafkastagetu Storage Area Networks (SAN) orðin lágmarksstaðallinn. Þar sem skýjaveitur og sýndarvæðing halda áfram að hafa gríðarleg áhrif í tækniheiminum hefur þörfin fyrir enn meira SAN geymslupláss orðið augljós.

Flest SAN vélbúnaður samanstendur af naumhyggjustýringu (eða setti stýringa) og miklu safni af drifum með mikla afkastagetu sem allir eru stilltir til að styðja mikið magn gagnaframboðs og heilleika.

Margar af þessum sérhæfðu vörum eru framleiddar af stórum söluaðilum eins og Netapp, Dell Equalogic, HP Storageworks eða EMC og eru með verðmiða sem aðeins stærstu fyrirtækin hafa efni á.

Raunhæft séð eru þessi tæki ekkert annað en stór harður diskur með stjórnandi sem veitir plássið á harða diskana til nettengdra viðskiptavina. Margar tækni hefur verið til í gegnum árin sem veitir þessa virkni eða svipaða virkni á verulega ódýrara verði.

Debian GNU/Linux dreifingin býður upp á pakka sem gera Debian kerfi kleift að þjóna tilgangi SAN geymslutækis fyrir fyrirtæki á aðeins broti af kostnaði! Þetta gerir öllum, frá grunnnotendum heima eða stórum gagnaverum, kleift að fá ávinninginn af SAN geymslu án þess að þurfa að eyða peningum í sérlausn söluaðila.

Þessi grein mun skoða hvernig hægt er að setja upp Debian 9 (Stretch) kerfi til að afgreiða diskpláss með því að nota kerfi sem kallast Internet Small Computer Systems Interface eða iSCSI í stuttu máli. iSCSI er Internet Protocol (IP) byggður staðall til að útvega blokk (harður diskur) geymslu fyrir önnur kerfi. iSCSI virkar í biðlaraþjónslíkani en notar önnur nöfn til að greina biðlarann frá þjóninum.

Í iSCSI hugtökum er þjónninn sem þjónar „diskaplássinu“ þekktur sem iSCSI „Target“ og kerfið sem biður um/nýtir plássið er þekkt sem iSCSI „Initiator“. Svo með öðrum orðum, „Frumkvöðull“ biður um blokkargeymslu frá „Target“.

Þessi handbók mun ganga í gegnum grunnuppsetningu sem felur í sér einfaldan iSCSI netþjón (markmið) og biðlara (upphafsmann) sem báðir keyra Debian 9 (Stretch).

Debian iSCSI Target: 192.168.56.101/24
Storage: Contains two extra hard drives to be used as the storage in the iSCSI setup
Debian iSCSI Initiator: 192.168.56.102/24

Netið er hægt að skoða eins og hér að neðan:

Debian iSCSI markstillingar

Í iSCSI heiminum er skotmarkið talið gestgjafi sem inniheldur geymslutækin sem frumkvöðullinn á að nota.

Í þessari grein er þjónninn með IP 192.168.56.101 notaður sem skotmark. Allar stillingar verða gerðar á þeim hýsil fyrir þennan hluta.

Fyrsta skrefið er uppsetning nauðsynlegra pakka til að leyfa Debian kerfinu að þjóna iSCSI markmiðum. Þessi hugbúnaðarpakki er þekktur sem Target Framework (TGT).

Hinn hluturinn sem er notaður fyrir þessa handbók er Logical Volume Management (LVM) verkfærin þar sem Logical Volumes (LVs) verður notað sem geymslustuðningur fyrir iSCSI markið.

Báða pakkana er hægt að setja upp með eftirfarandi skipunum.

# apt-get update
# apt-get install tgt lvm2

Þegar pakkarnir hafa verið settir upp verður LVM notað til að undirbúa harða diskana á markinu fyrir notkun sem iSCSI LUN. Fyrsta skipunin er notuð til að undirbúa diskana fyrir innlimun í LVM uppsetningu. Vertu viss um að breyta skipuninni eftir þörfum fyrir mismunandi aðstæður!

# lsblk (Only used to confirm disks to be used in the LVM setup)
# pvcreate /dev/sd{b,c}

Þegar diskarnir hafa verið útbúnir með „pvcreate“ skipuninni hér að ofan er kominn tími til að búa til hljóðstyrkshóp úr þessum tilteknu diskum. Rúmmálshópurinn er nauðsynlegur til að búa til rökræn bindi sem munu virka sem iSCSI geymsla síðar.

Til að búa til hljóðstyrkshóp þarf 'vgcreate' skipunina.

# vgcreate tecmint_iscsi /dev/sd{b,c}
# vgs  (Only needed to confirm the creation of the volume group)

Taktu eftir í úttakinu hér að ofan að kerfið svarar því að Volume Group hafi verið búið til en það er alltaf góð hugmynd að tvítékka eins og sést hér að ofan með 'vgs' skipuninni. Afkastageta þessa hljóðstyrkshóps er aðeins 9,99GB. Þó að þetta sé sérstaklega lítill magnhópur, þá væri ferlið það sama fyrir diska með stærri getu!

Næsta skref er að búa til rökrétt bindi sem mun virka sem diskur fyrir iSCSI biðlarann (initiator). Fyrir þetta dæmi verður allur rúmmálshópurinn notaður en er ekki nauðsynlegt.

Rökrétt bindi verður búið til með því að nota 'lvcreate' skipunina.

# lvcreate -l 100%FREE tecmint_lun1 tecmint_iscsi
# lvs  (Simply used to confirm the creation of the logical volume)

Ofangreind „lvcreate“ skipun gæti verið svolítið ruglingsleg við fyrstu sýn en sundurliðunin er sem slík:

  • lvcreate – Skipun notuð til að búa til rökrétt hljóðstyrk.
  • -l 100%FREE – Búðu til rökrétt hljóðstyrk með því að nota allt laust pláss hópsins.
  • -n tecmint_lun1 – Heiti rökræna bindisins sem á að búa til.
  • tecmint_iscsi – Nafn bindihópsins til að búa til rökrétta bindi innan.

Þegar rökrétt rúmmál hefur verið búið til er kominn tími til að búa til raunverulegt LUN (Rökfræðilegt númer). LUN verður geymslutækið sem frumkvöðullinn mun tengjast og nota síðar.

Það er mjög einfalt að búa til LUN og þarf aðeins nokkur skref. Fyrsta skrefið verður að búa til stillingarskrána. Þessi skrá mun vera í '/etc/tgt/conf.d' möppunni og fyrir þessa grein mun hún heita 'TecMint_iscsi.conf'.

Notaðu textaritil til að búa til þessa skrá.

# nano /etc/tgt/conf.d/TecMint_iscsi.conf

Innan þessarar skráar verða allar nauðsynlegar stillingarupplýsingar fyrir þetta LUN stillt. Það eru fullt af valkostum sem hægt er að setja í þessa skrá en í bili verður grunn LUN með gagnkvæmri Challenge Handshake Authentication Protocol (CHAP) stillt.

Skilgreining LUN mun vera á milli tveggja „markmiða“ yfirlýsinga. Fyrir fleiri færibreytur sem geta farið í markyfirlýsinguna, skoðaðu handbókarsíðuna fyrir 'targets.conf' skrána með því að gefa út 'man 5 targets.conf'.

<target iqn.2018-02.linux-console.net:lun1>
     # Provided device as an iSCSI target
     backing-store /dev/mapper/tecmint_iscsi-tecmint_lun1
     initiator-address 192.168.56.102
    incominguser tecmint-iscsi-user password
     outgoinguser debian-iscsi-target secretpass
</target>

Það er margt að gerast hér að ofan. Fljótleg útskýring gæti verið gagnleg fyrir flesta.

  • Fyrsta línan byrjar tiltekna iSCSI LUN uppsetningu. Í þessu tilviki LUN merkt 'iqn.2018-02.linux-console.net:lun1'. „iqn“ hlutinn gefur til kynna að þetta verði iSCSI hæft nafn. „2018-02“ er valin dagsetningarsamsetning af geðþótta. 'linux-console.net' er lénið sem þetta tiltekna LUN tilheyrir. Að lokum er ‘lun1’ notað sem heiti fyrir þetta tiltekna skotmark.
  • Önnur línan fyrir ofan sýnir athugasemd. Athugasemdir geta verið til í markstillingarskránum og verða að vera á undan með „#“ tákni.
  • Þriðja línan er þar sem raunverulegt geymslurými sem frumkvöðullinn mun nota er til staðar. Í þessu tilviki verður geymslustuðningurinn það rökrétta bindi sem var búið til fyrr í handbókinni.
  • Fjórða línan er IP-talan sem búist er við frá upphafsmanni. Þó að þetta sé ekki nauðsynlegt stillingaratriði getur það hjálpað til við að auka öryggi.
  • Fimmta línan er notandanafn/lykilorð sem kemur inn. Líkt og upphafsfangið hér að ofan er þessi færibreyta ekki nauðsynleg heldur en hún getur hjálpað til við að tryggja LUN. Þar sem þessi handbók fjallar einnig um iSCSI gagnkvæma CHAP, er þessi færibreyta nauðsynleg. Þessi lína gefur til kynna notandanafnið og lykilorðið sem markið mun búast við frá frumkvöðlinum til að tengjast þessu LUN.
  • Sjötta línan er notandanafnið/lykilorðið sem markið mun gefa frumkvöðlinum til að gera gagnkvæma CHAP auðkenningu kleift að eiga sér stað. Venjulega er þessi færibreyta ekki nauðsynleg en þessi grein fjallar um gagnkvæma CHAP auðkenningu þannig að þessi færibreyta er nauðsynleg.
  • Síðasta línan er lokasetningin fyrir markskilgreininguna. Gefðu gaum að lokastrikinu fyrir framan leitarorðið!

Þegar viðeigandi stillingar fyrir LUN hafa verið slegnar út skaltu vista breytingarnar og hætta í textaritlinum. Ef þú notar nano, ýttu á ctrl+o til að vista og ýttu síðan á ctrl+x til að hætta við nano.

Þegar stillingarskráin hefur verið búin til ætti að endurræsa tgt þjónustuna svo tgt viti um nýju markmiðin og tilheyrandi stillingar.

Þetta er hægt að gera með einni af eftirfarandi skipunum og er háð init kerfinu sem er í notkun.

# service tgt restart  (For sysv init systems)
# systemctl restart tgt  (For systemd init systems)

Þegar tgt hefur verið endurræst er mikilvægt að ganga úr skugga um að iSCSI-markmiðið sé gert aðgengilegt í samræmi við stillingarskrána sem búin var til.

Þetta er hægt að ná með „tgtadm“ skipuninni.

# tgtadm --mode target --op show   (This will show all targets)

Þetta lýkur uppsetningu markmiðsins. Næsti hluti mun vinna í gegnum stillingar frumkvöðulsins.

Debian iSCSI initiator stillingar

Næsta skref í að nota áður stillta iSCSI markið er uppsetning iSCSI frumkvöðulsins.

Annar XenServer/ESXi eða önnur dreifing eins og Red Hat, Debian eða Ubuntu.

Fyrsta skrefið í þessu ferli fyrir þennan Debian frumkvöðul er uppsetning á réttum pakka fyrir iSCSI.

# apt-get update
# apt-get install open-iscsi

Þegar apt hefur lokið við uppsetningu opna-iscsi pakkana getur iSCSI frumkvöðlastillingin hafist. Fyrsta skrefið verður að hafa samskipti við markið til að fá upphaflegar stillingarupplýsingar fyrir markið undirbúnar.

# iscsiadm -m discovery -t st -p 192.168.56.101

Þegar þessi skipun keyrir mun hún svara til baka með nafni lunarinnar sem var stillt fyrr fyrir þennan tiltekna gestgjafa. Ofangreind skipun mun einnig búa til tvær skrár fyrir nýuppgötvuðu LUN upplýsingarnar.

Nú þarf skráin sem búin er til fyrir þennan hnút að hafa CHAP upplýsingarnar stilltar til að þetta iSCSI mark sé í raun aðgengilegt fyrir frumkvöðulinn.

Tæknilega séð gætu þessar upplýsingar verið settar upp fyrir allt kerfið í heild sinni en ef gestgjafi tengist mismunandi LUN með mismunandi skilríkjum getur það dregið úr vandamálum með því að setja þau skilríki í tiltekna hnútstillingarskrá.

Hnútstillingarskráin verður til í möppunni '/etc/iscsi/nodes/' og mun hafa möppu fyrir hvert LUN tiltækt. Þegar um er að ræða þessa grein (athugið að slóðir breytast ef nöfnum/IP tölum er breytt).

# /etc/iscsi/nodes/iqn.2018-02.linux-console.net\:lun1/192.168.56.101\,3260\,1/default

Til að vinna með þessa skrá er hægt að nota hvaða textaritil sem er.

# nano /etc/iscsi/nodes/iqn.2018-02.linux-console.net\:lun1/192.168.56.101\,3260\,1/default

Innan þessarar skráar verða nokkrir þegar stilltir valkostir fyrir viðkomandi skotmark sem voru ákvarðaðir við „iscsiadm“ skipunina sem keyrt var áðan.

Þar sem þessi tiltekna Debian target/initiator uppsetning notar gagnkvæma CHAP, þarf að breyta nokkrum fleiri valkostum og bæta við þessa skrá og síðan framkvæma innskráningu á iSCSI targetið.

Breytingarnar á þessari skrá eru:

node.session.auth.authmethod = CHAP                    #Enable CHAP Authentication
node.session.auth.username = tecmint-iscsi-user        #Target to Initiator authentication
node.session.auth.password = password                  #Target to Initiator authentication
node.session.auth.username_in = debian-iscsi-target    #Initiator to Target authentication
node.session.auth.password_in = secretpass             #Initiator to Target authentication

Ofangreindir valkostir munu leyfa þessu skotmarki að auðkenna fyrir frumkvöðla sem og leyfa frumkvæðisstjóra að auðkenna fyrir markið.

Það er annar valkostur í þessari tilteknu skrá sem gæti þurft að breyta eftir óskum stjórnandans og það er „node.startup“ færibreytan.

Ef þú fylgir þessari handbók verður 'node.startup' valmöguleikinn stilltur á 'manual' á þessum tímapunkti. Þetta er kannski ekki óskað. Ef kerfisstjórinn vill hafa iSCSI miðann tengt þegar kerfið fer í gang, breyttu „handvirkt“ í „sjálfvirkt“ sem slíkt:

node.startup = automatic

Þegar ofangreindar breytingar hafa verið gerðar skaltu vista skrána og hætta. Á þessum tímapunkti þarf að endurræsa open-iscsi initiator þjónustuna til að lesa þessar nýju breytingar og tengjast iSCSI markmiðinu.

Þetta er hægt að gera með einni af eftirfarandi skipunum eftir því hvaða init kerfi er í notkun.

# service open-iscsi restart   (For sysv init systems)
# systemctl restart open-iscsi (For systemd init systems)

Taktu eftir í græna reitnum hér að ofan að iSCSI frumkvöðullinn gat skráð sig inn á markið. Til að staðfesta enn frekar að iSCSI-markmiðið sé örugglega tiltækt fyrir frumkvöðulinn, getum við athugað kerfið fyrir auka diskadrif sem eru tiltæk með því að nota 'lsblk' skipunina og athuga úttakið fyrir auka drif.

# lsblk

Hin skipunin sem hægt er að nota á frumkvöðlinum til að staðfesta tengingu við markið er 'iscsiadm' sem slík:

# iscsiadm -m session

Síðasti staðurinn til að staðfesta tengingu væri á markinu sjálfu með því að nota 'tgtadm' skipunina til að skrá allar iSCSI tengingar.

# tgtadm --mode conn --op show --tid 1

Frá þessum tímapunkti er hægt að nota nýlega tengda iSCSI tækið svipað og hvaða disk sem er venjulega tengdur! Skipting, stofnun skráakerfis, uppsetningu og/eða viðvarandi uppsetningu er hægt að meðhöndla á venjulegan hátt.

Ein stór varúð sem þarf að vera meðvituð um með iSCSI tæki er ef iSCSI markið inniheldur mikilvæg skráarkerfi sem eru nauðsynleg þegar frumkvöðullinn er að ræsa, vertu viss um að nota '_netdev' færsluna í '/etc/fstab' skránni til að tryggja að iSCSI tækið er tengt áður en kerfið heldur áfram að ræsa!