Kif Twaqqaf iSCSI Server (Target) u Klijent (Inizjatur) fuq Debian 9


Fid-dinja taċ-ċentru tad-dejta, in-Netwerks taż-Żona tal-Ħżin ta 'kapaċità kbira (SAN) saru l-istandard minimu. Hekk kif il-fornituri tas-sħab u l-virtwalizzazzjoni wkoll ikomplu jagħmlu impatti kbar fid-dinja tat-teknoloġija, il-ħtieġa għal saħansitra aktar spazju għall-ħażna SAN saret evidenti.

Il-biċċa l-kbira tal-ħardwer SAN huwa magħmul minn kontrollur minimalistiku (jew sett ta 'kontrolluri) u ġabra kbira ta' drives ta 'kapaċità għolja kollha kkonfigurati biex isostnu ammonti għoljin ta' disponibbiltà u integrità tad-dejta.

Ħafna minn dawn il-prodotti speċjalizzati huma magħmula minn bejjiegħa ta 'isem kbir bħal Netapp, Dell Equalogic, HP Storageworks, jew EMC u għandhom tikketti tal-prezz mwaħħla magħhom li l-akbar intrapriżi biss jistgħu jaffordjaw.

Realistikament, dawn l-apparati huma xejn aktar minn arrays kbar ta 'hard disk b'kontrollur li jipprovdi l-ispazju ta' dawk il-hard disks lil klijenti f'netwerk. Bosta teknoloġiji eżistew matul is-snin li jipprovdu din il-funzjonalità jew funzjonalità simili b'prezz sostanzjalment orħos.

Id-distribuzzjoni Debian GNU/Linux tipprovdi pakketti li jippermettu li sistema Debian isservi l-iskop ta' mezz ta' ħażna SAN ta' livell ta' intrapriża bi ftit frazzjoni tal-ispiża! Dan jippermetti lil kulħadd minn utenti domestiċi bażiċi jew ċentri tad-dejta kbar biex jiksbu l-benefiċċji tal-ħażna SAN mingħajr ma jkollhom jonfqu fortuna fuq soluzzjoni proprjetarja tal-bejjiegħ.

Dan l-artikolu se jħares lejn kif sistema Debian 9 (Stretch) tista’ tiġi ssettjata biex isservi spazju fuq disk bl-użu ta’ sistema magħrufa bħala Internet Small Computer Systems Interface jew iSCSI fil-qosor. iSCSI huwa standard ibbażat fuq il-Protokoll tal-Internet (IP) biex jipprovdi ħażna blokka (hard drive) lil sistemi oħra. iSCSI jaħdem f'mudell ta' client server iżda juża ismijiet differenti biex jiddistingwi l-klijent mis-server.

Fit-terminoloġija tal-iSCSI, is-server li qed iservi l-'ispazju tad-diska' huwa magħruf bħala 'Mira' tal-iSCSI u s-sistema li qed titlob/tutilizza l-ispazju tad-diska hija magħrufa bħala l-'Inizjatur' tal-iSCSI. Allura fi kliem ieħor, 'Inizjatur' jitlob ħażna ta 'blokki minn 'Mira'.

Din il-gwida se timxi minn setup bażiku li jinvolvi server iSCSI sempliċi (mira) u klijent (inizjatur) it-tnejn li huma jħaddmu 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

In-netwerk jista' jitqies kif ġej:

Debian iSCSI Target Configuration

Fid-dinja iSCSI, il-mira hija meqjusa bħala l-host li fih l-apparat tal-ħażna li għandu jintuża mill-inizjatur.

F'dan l-artikolu s-server bl-IP ta '192.168.56.101 qed jintuża bħala l-mira. Il-konfigurazzjonijiet kollha se jsiru fuq dak il-host għal din it-taqsima.

L-ewwel pass huwa l-installazzjoni tal-pakketti meħtieġa biex tippermetti lis-sistema Debian isservi miri iSCSI. Dan il-pakkett tas-softwer huwa magħruf bħala Target Framework (TGT).

L-oġġett l-ieħor li qed jintuża għal din il-gwida huwa l-għodod tal-Ġestjoni tal-Volum Loġiku (LVM) peress li l-Volumi Loġiċi (LVs) se jintużaw bħala rinforz tal-ħażna għall-mira iSCSI.

Iż-żewġ pakketti jistgħu jiġu installati bil-kmandi li ġejjin.

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

Ladarba l-pakketti jiġu installati, LVM se jintuża biex jipprepara l-hard disks fuq il-mira għall-użu bħala iSCSI LUN. L-ewwel kmand jintuża biex jipprepara d-diski għall-inklużjoni f'setup LVM. Kun żgur li timmodifika l-kmand kif meħtieġ għal xenarji differenti!

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

Ladarba d-diski jkunu ġew ippreparati bil-kmand 'pvcreate' ta 'hawn fuq, wasal iż-żmien li jinħoloq grupp ta' volum minn dawn id-diski partikolari. Il-grupp tal-volum huwa meħtieġ sabiex jinħolqu l-Volumi Loġiċi li se jaġixxu bħala l-ħażna iSCSI aktar tard.

Biex jinħoloq grupp ta 'volum, il-kmand 'vgcreate' huwa meħtieġ.

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

Avviż fl-output ta 'hawn fuq li s-sistema twieġeb li l-Grupp tal-Volum inħoloq iżda dejjem hija idea tajba li tiċċekkja darbtejn kif jidher hawn fuq bil-kmand 'vgs'. Il-kapaċità ta 'dan il-grupp ta' volum hija biss 9.99GB. Filwaqt li dan huwa grupp ta 'volum partikolarment żgħir, il-proċess ikun l-istess għal diski ta' kapaċità akbar!

Il-pass li jmiss huwa l-ħolqien tal-volum loġiku li se jaġixxi bħala d-disk għall-klijent iSCSI (inizjatur). Għal dan l-eżempju se jintuża l-grupp tal-volum kollu iżda mhux meħtieġ.

Il-volum loġiku se jinħoloq bl-użu tal-kmand 'lvcreate'.

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

Il-kmand 'lvcreate' ta 'hawn fuq jista' jkun xi ftit konfuż mal-ewwel daqqa t'għajn iżda t-tqassim huwa hekk:

  • lvcreate – Kmand użat biex jinħoloq il-volum loġiku.
  • -l 100% B'XEJN – Oħloq il-volum loġiku billi tuża l-ispazju ħieles kollu tal-grupp tal-volum.
  • -n tecmint_lun1 – L-isem tal-volum loġiku li jrid jinħoloq.
  • tecmint_iscsi – L-isem tal-grupp ta' volum li fih jinħoloq il-volum loġiku.

Ladarba l-volum loġiku jkun inħoloq, wasal iż-żmien li toħloq il-LUN attwali (Numru ta 'Unità Loġika). Il-LUN se jkun l-apparat tal-ħażna li l-inizjatur se jgħaqqad miegħu u juża aktar tard.

Il-ħolqien ta' LUN huwa sempliċi ħafna u jeħtieġ biss ftit passi. L-ewwel pass se jkun il-ħolqien tal-fajl tal-konfigurazzjoni. Dan il-fajl se joqgħod fid-direttorju '/etc/tgt/conf.d' u għal dan l-artikolu se jissejjaħ 'TecMint_iscsi.conf'.

Biex toħloq dan il-fajl uża editur tat-test.

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

F'dan il-fajl, l-informazzjoni kollha meħtieġa dwar il-konfigurazzjoni għal dan il-LUN se tiġi kkonfigurata. Hemm ħafna għażliet li jistgħu jitqiegħdu f'dan il-fajl iżda għalissa se jiġi kkonfigurat LUN bażiku bi Protokoll ta' Awtentikazzjoni ta' Challenge Handshake (CHAP) reċiproku.

Id-definizzjoni tal-LUN se teżisti bejn żewġ dikjarazzjonijiet 'mira'. Għal aktar parametri li jistgħu jidħlu fid-dikjarazzjoni tal-mira, irrevedi l-paġna tal-manwal għall-fajl 'targets.conf' billi toħroġ '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>

Hemm ħafna għaddej hawn fuq. Spjegazzjoni ta 'malajr tista' tkun ta 'għajnuna għall-biċċa l-kbira.

  • L-ewwel linja tibda l-konfigurazzjoni partikolari tal-iSCSI LUN. F'dan il-każ il-LUN ittikkettat 'iqn.2018-02.linux-console.net:lun1'. Il-parti 'iqn' tindika li dan se jkun isem kwalifikat iSCSI. L-'2018-02' hija kombinazzjoni ta' data magħżula b'mod arbitrarju. 'linux-console.net' huwa d-dominju li jappartjeni dan il-LUN partikolari. Fl-aħħarnett, il-'lun1' jintuża bħala l-isem għal din il-mira partikolari.
  • It-tieni linja t'hawn fuq turi kumment. Il-kummenti jistgħu jeżistu fil-fajls tal-konfigurazzjoni fil-mira u għandhom ikunu mdaħħla b’simbolu ‘#’.
  • It-tielet linja hija fejn jeżisti l-ispazju tal-ħażna attwali li se jintuża mill-inizjatur. F'dan il-każ is-sostenn tal-ħażna jkun il-volum loġiku li nħoloq aktar kmieni fil-gwida.
  • Ir-raba' linja hija l-indirizz IP li huwa mistenni mill-inizjatur. Filwaqt li dan mhuwiex oġġett ta' konfigurazzjoni meħtieġ, jista' jgħin biex tiżdied is-sigurtà.
  • Il-ħames linja hija l-username/il-password deħlin. L-istess bħall-indirizz tal-inizjatur ta 'hawn fuq, dan il-parametru lanqas huwa meħtieġ iżda jista' jgħin biex jiżgura l-LUN. Peress li din il-gwida qed tkopri wkoll iSCSI mutual CHAP, dan il-parametru huwa meħtieġ. Din il-linja tindika l-isem tal-utent u l-password li l-mira se tistenna mill-inizjatur sabiex tikkonnettja ma' din il-LUN.
  • Is-sitt linja hija l-isem tal-utent/il-password li l-mira se tipprovdi lill-inizjatur biex tippermetti li ssir awtentikazzjoni CHAP reċiproka. Normalment dan il-parametru mhuwiex meħtieġ iżda dan l-artikolu qed ikopri awtentikazzjoni CHAP reċiproka għalhekk dan il-parametru huwa meħtieġ.
  • Il-linja finali hija d-dikjarazzjoni tal-għeluq għad-definizzjoni tal-mira. Oqgħod attent għall-slash li jagħlaq quddiem il-mira tal-kelma prinċipali!

Ladarba l-konfigurazzjonijiet xierqa għal-LUN ikunu ġew ittajpjati, issalva l-bidliet u oħroġ mill-editur tat-test. Jekk tuża nano, agħfas ctrl+o biex issalva u mbagħad agħfas ctrl+x biex toħroġ minn nano.

Ladarba l-fajl ta 'konfigurazzjoni jkun inħoloq, is-servizz tgt għandu jerġa' jinbeda sabiex tgt ikun konxju tal-miri l-ġodda u l-konfigurazzjoni assoċjata.

Dan jista 'jsir b'wieħed mill-kmandi li ġejjin u jiddependi fuq is-sistema init li tkun qed tintuża.

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

Ladarba tgt ikun inbeda mill-ġdid, huwa importanti li tiċċekkja biex tiżgura li l-mira iSCSI tkun qed issir disponibbli skont il-fajl tal-konfigurazzjoni maħluq.

Dan jista 'jsir bil-kmand 'tgtadm'.

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

Dan jikkonkludi l-konfigurazzjoni tal-mira. It-taqsima li jmiss se taħdem permezz tal-konfigurazzjoni tal-inizjatur.

Konfigurazzjoni tal-Inizjatur Debian iSCSI

Il-pass li jmiss fl-użu tal-mira iSCSI konfigurata qabel hija l-konfigurazzjoni tal-inizjatur iSCSI.

XenServer/ESXi differenti jew distribuzzjonijiet oħra bħal Red Hat, Debian, jew Ubuntu.

L-ewwel pass f'dan il-proċess għal dan l-inizjatur Debian huwa l-installazzjoni tal-pakketti xierqa għall-iSCSI.

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

Ladarba apt ikun spiċċa l-konfigurazzjoni tal-pakketti open-iscsi, il-konfigurazzjoni tal-inizjatur tal-iSCSI tista' tibda. L-ewwel pass se jkun li tikkomunika mal-mira biex tikseb l-informazzjoni tal-konfigurazzjoni inizjali għall-mira ppreparata.

# iscsiadm -m discovery -t st -p 192.168.56.101

Meta dan il-kmand jibda, se jirrispondi lura bl-isem tal-lun konfigurat qabel għal dan il-host partikolari. Il-kmand ta 'hawn fuq se jiġġenera wkoll żewġ fajls għall-informazzjoni LUN li għadha kif ġiet skoperta.

Issa l-fajl maħluq għal dan in-node jeħtieġ li jkollu l-informazzjoni CHAP konfigurata sabiex din il-mira iSCSI tkun fil-fatt aċċessibbli mill-inizjatur.

Teknikament din l-informazzjoni tista 'tiġi stabbilita għas-sistema kollha kemm hi iżda fil-każ li ospitanti jgħaqqad ma' LUNs differenti b'kredenzjali differenti, it-tqegħid ta 'dawk il-kredenzjali fil-fajl tal-konfigurazzjoni tan-nodi speċifiku jista' ttaffi kwalunkwe kwistjoni.

Il-fajl tal-konfigurazzjoni tan-node se jeżisti fid-direttorju '/etc/iscsi/nodes/' u se jkollu direttorju għal kull LUN disponibbli. Fil-każ ta' dan l-artikolu (innota li l-mogħdijiet se jinbidlu jekk jinbidlu l-ismijiet/indirizzi IP).

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

Biex taħdem ma 'dan il-fajl, jista' jintuża kwalunkwe editur tat-test.

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

F'dan il-fajl se jkun hemm diversi għażliet diġà kkonfigurati għall-mira rispettiva li ġew determinati matul il-kmand 'iscsiadm' immexxija qabel.

Peress li din is-setup partikolari ta' mira/inizjatur Debian qed tuża CHAP reċiproku, jeħtieġ li jinbidlu u jiżdiedu xi għażliet oħra ma' dan il-fajl u mbagħad isir login fil-mira iSCSI.

Il-bidliet għal dan il-fajl huma:

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

L-għażliet ta 'hawn fuq se jippermettu li din il-mira jawtentika lill-inizjatur kif ukoll jippermettu lill-inizjatur jawtentika mal-mira.

Hemm għażla oħra f'dan il-fajl partikolari li jista 'jkollha bżonn tinbidel skont il-preferenzi tal-amministratur u dak huwa l-parametru 'node.startup'.

Jekk issegwi din il-gwida, l-għażla 'node.startup' tiġi ssettjata għal 'manwal' f'dan il-punt. Dan jista 'ma jkunx mixtieq. Jekk l-amministratur jixtieq li l-mira iSCSI tkun konnessa meta s-sistema tibda, ibdel 'manwal' għal 'awtomatiku' bħala tali:

node.startup = automatic

Ladarba l-bidliet ta 'hawn fuq ikunu saru, issalva l-fajl u oħroġ. F'dan il-punt is-servizz ta' inizjatur open-iscsi jeħtieġ li jerġa' jinbeda sabiex jaqra dawn il-bidliet ġodda u jikkonnettja mal-mira iSCSI.

Dan jista 'jsir b'wieħed mill-kmandi li ġejjin skond is-sistema init li tkun qed tintuża.

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

Avviż fil-kaxxa ħadra hawn fuq li l-inizjatur iSCSI seta' jidħol fil-mira. Biex nikkonfermaw aktar li l-mira iSCSI hija tabilħaqq disponibbli għall-inizjatur, nistgħu niċċekkjaw is-sistema għal disk drives żejda li huma disponibbli billi tuża l-kmand 'lsblk' u niċċekkjaw l-output għal drives żejda.

# lsblk

Il-kmand l-ieħor li jista’ jintuża fuq l-inizjatur biex jikkonferma konnessjoni mal-mira huwa ‘iscsiadm’ bħala tali:

# iscsiadm -m session

Il-post finali biex tikkonferma konnessjoni jkun fuq il-mira stess billi tuża l-kmand 'tgtadm' biex telenka kwalunkwe konnessjoni iSCSI.

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

Minn dan il-punt, l-apparat iSCSI li għadu kif ġie mwaħħal jista 'jintuża simili għal kwalunkwe disk imwaħħal normalment! Il-qsim, il-ħolqien ta' sistema ta' fajls, l-immuntar, u/jew l-immuntar persistenti kollha jistgħu jiġu ttrattati b'mod normali.

Attenzjoni kbira li għandek tkun konxju dwarha b'apparat iSCSI hija jekk il-mira iSCSI fiha sistemi ta' fajls importanti li huma meħtieġa hekk kif l-inizjatur ikun qed jibda, kun żgur li tuża l-entrata '_netdev' fil-fajl '/etc/fstab' biex tiżgura li l-iSCSI apparat huwa konness qabel is-sistema tkompli booting!