Yadda ake Saita Sabar iSCSI (Manufa) da Abokin ciniki (Mafarawa) akan Debian 9


A cikin duniyar cibiyar bayanai, manyan hanyoyin sadarwa na Yanki na Ma'ajiya (SAN) sun zama mafi ƙarancin ma'auni. Kamar yadda masu samar da girgije da haɓakawa kuma suna ci gaba da yin tasiri mai yawa a cikin fasahar fasaha, buƙatar ƙarin sararin ajiya na SAN ya bayyana.

Yawancin kayan masarufi na SAN sun ƙunshi ƙaramin mai sarrafawa (ko saitin masu sarrafawa) da babban tarin manyan iya aiki duk an saita su don tallafawa yawan wadatar bayanai da amincin.

Yawancin waɗannan samfuran na musamman waɗanda manyan ƴan kasuwa ne ke yin su kamar Netapp, Dell Equalogic, HP Storageworks, ko EMC kuma suna da alamun farashin da aka haɗe su waɗanda manyan masana'antu kawai za su iya bayarwa.

A haƙiƙa, waɗannan na'urori ba komai ba ne illa manyan rumbun faifai tare da mai sarrafawa da ke ba da sararin waɗancan rumbun kwamfutoci zuwa ga abokan ciniki masu haɗin gwiwa. Yawancin fasahohi sun wanzu tsawon shekaru waɗanda ke ba da wannan aiki ko aiki makamancin haka a farashi mai rahusa.

Rarraba Debian GNU/Linux yana ba da fakitin da ke ba da damar tsarin Debian don yin aiki da manufar matakin SAN ajiya na'urar a ɗan ƙaramin farashi! Wannan yana ba kowa damar daga masu amfani da gida na asali ko manyan cibiyoyin bayanai don samun fa'idodin ajiya na SAN ba tare da kashe kuɗi akan hanyar mallakar mai siyarwa ba.

Wannan labarin zai kalli yadda tsarin Debian 9 (Stretch) za a iya saita shi don ba da sarari ta hanyar amfani da tsarin da aka sani da Interface Small Computer Systems Interface ko iSCSI a takaice. iSCSI ƙayyadaddun ƙa'idodin Intanet ne (IP) don samar da toshe (hard drive) ajiya zuwa wasu tsarin. iSCSI yana aiki a cikin samfurin uwar garken abokin ciniki amma yana amfani da sunaye daban-daban don bambanta abokin ciniki daga uwar garken.

A cikin kalmomin iSCSI, uwar garken da ke ba da 'sararin samaniya' ana san shi da iSCSI 'Target' kuma tsarin da ke nema/amfani da sararin diski ana kiransa iSCSI 'Initiator'. Don haka a cikin wasu kalmomi, 'Mafarawa' yana buƙatar toshe ajiya daga 'Target'.

Wannan jagorar za ta yi tafiya ta hanyar saitin asali wanda ya ƙunshi sabar iSCSI mai sauƙi (manufa) da abokin ciniki (mai farawa) duka suna gudana 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

Ana iya kallon hanyar sadarwar kamar ƙasa:

Kanfigareshan Target Debian iSCSI

A cikin duniyar iSCSI, ana ɗaukar manufa a matsayin mai masaukin baki wanda ya ƙunshi na'urorin ajiya da mai farawa zai yi amfani da shi.

A cikin wannan labarin ana amfani da uwar garken tare da IP na 192.168.56.101 azaman manufa. Za a yi duk saitunan akan wannan mai masaukin baki na wannan sashe.

Mataki na farko shine shigar da buƙatun da suka dace don ba da damar tsarin Debian don aiwatar da manufofin iSCSI. Ana san wannan fakitin software da Tsarin Target (TGT).

Wani abu da ake amfani da shi don wannan jagorar shine kayan aikin Gudanar da Ƙarar Ma'ana (LVM) kamar yadda Za'a yi amfani da Juzu'i na Ma'ana (LVs) azaman tallafin ajiya don manufa iSCSI.

Ana iya shigar da fakitin biyu tare da umarni masu zuwa.

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

Da zarar an shigar da fakitin, za a yi amfani da LVM don shirya faifan diski akan manufa don amfani azaman iSCSI LUN. Ana amfani da umarnin farko don shirya faifai don haɗawa cikin saitin LVM. Tabbatar canza umarnin kamar yadda ake buƙata don yanayi daban-daban!

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

Da zarar an shirya faifai tare da umarnin 'pvcreate' na sama, lokaci ya yi da za a ƙirƙiri rukunin ƙara daga waɗannan fayafai na musamman. Ana buƙatar ƙungiyar ƙara don ƙirƙirar Ƙaƙƙarfan Ma'ana wanda zai yi aiki azaman ajiyar iSCSI daga baya.

Don ƙirƙirar ƙungiyar ƙara, ana buƙatar umarnin 'vgcreate'.

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

Lura a cikin fitarwa da ke sama cewa tsarin yana amsa cewa an ƙirƙiri Rukunin Ƙarfafa amma koyaushe yana da kyau a yi rajista sau biyu kamar yadda aka gani a sama tare da umarnin 'vgs'. Ƙarfin wannan rukunin girma shine 9.99GB kawai. Duk da yake wannan ƙaramin rukuni ne na ƙarami, tsarin zai zama iri ɗaya don fayafai masu girma!

Mataki na gaba shine ƙirƙirar ƙarar ma'ana wanda zai yi aiki azaman faifai ga abokin ciniki na iSCSI (mai ƙaddamarwa). Don wannan misali za a yi amfani da gabaɗayan ƙungiyar ƙara amma ba dole ba.

Za a ƙirƙiri ƙarar ma'ana ta amfani da umarnin 'lvcreate'.

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

Umurnin 'lvcreate' na sama na iya zama ɗan ruɗani a kallon farko amma raguwa kamar haka:

  • lvcreate - Umurnin da ake amfani dashi don ƙirƙirar ƙarar ma'ana.
  • -l 100% KYAUTA - Ƙirƙiri ƙarar ma'ana ta amfani da duk sararin rukunin ƙarar kyauta.
  • -n tecmint_lun1 - Sunan ƙarar ma'ana da za a ƙirƙira.
  • tecmint_iscsi - Sunan rukunin ƙara don ƙirƙirar ƙarar ma'ana a ciki.

Da zarar an ƙirƙiri ƙarar ma'ana, lokaci ya yi da za a ƙirƙiri ainihin LUN (Lambar Ma'ana). LUN zai zama na'urar ajiyar da mai farawa zai haɗa da kuma amfani da shi daga baya.

Ƙirƙirar LUN abu ne mai sauƙi kuma yana buƙatar matakai kaɗan kawai. Mataki na farko zai zama ƙirƙirar fayil ɗin sanyi. Wannan fayil ɗin zai zauna a cikin '/etc/tgt/conf.d' directory kuma don wannan labarin za a kira shi 'TecMint_iscsi.conf'.

Don ƙirƙirar wannan fayil yi amfani da editan rubutu.

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

A cikin wannan fayil ɗin, za a daidaita duk mahimman bayanan sanyi na wannan LUN. Akwai zaɓuɓɓuka da yawa waɗanda za'a iya sanya su a cikin wannan fayil ɗin amma a yanzu za a daidaita ainihin LUN tare da ƙalubalen Tabbatar da Hannun Hannu (CHAP).

Ma'anar LUN za ta kasance tsakanin maganganun 'manufa' guda biyu. Don ƙarin sigogi waɗanda za su iya shiga cikin bayanin manufa, duba shafin jagora don fayil ɗin 'targets.conf' ta hanyar ba da '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>

Akwai abubuwa da yawa da ke faruwa a sama. Bayani mai sauri zai iya zama taimako ga yawancin.

  • Layin farko ya fara ƙayyadaddun tsarin iSCSI LUN. A wannan yanayin LUN mai lakabin 'iqn.2018-02.linux-console.net:lun1'. Bangaren 'iqn' yana nuna cewa wannan zai zama ƙwararren suna iSCSI. '2018-02' haddin kwanan wata ne da aka zaba. 'linux-console.net' shine yankin da wannan musamman LUN ke da shi. A ƙarshe, ana amfani da 'lun1' azaman sunan wannan manufa ta musamman.
  • Layi na biyu da ke sama yana kwatanta sharhi. Za a iya yin tsokaci a cikin fayilolin daidaitawa da aka yi niyya kuma dole ne a riga an gabatar da su tare da alamar '#'.
  • Layi na uku shine inda ainihin wurin ajiyar da mai farawa zai yi amfani da shi ya kasance. A wannan yanayin tallafin ajiya zai zama ƙarar ma'ana wanda aka ƙirƙira a baya cikin jagorar.
  • Layi na huɗu shine adireshin IP wanda ake tsammanin daga mai farawa. Duk da yake wannan ba shine abin da ake buƙata ba, yana iya taimakawa ƙara tsaro.
  • Layi na biyar shine sunan mai amfani/password mai shigowa. Kamar adireshin mai ƙaddamar da ke sama, wannan siga ba a buƙata ko dai amma yana iya taimakawa don tabbatar da LUN. Tun da wannan jagorar kuma tana rufe iSCSI na juna CHAP, ana buƙatar wannan siga. Wannan layin yana nuna sunan mai amfani da kalmar sirri da maƙasudin zai yi tsammani daga mai ƙaddamarwa don haɗawa da wannan LUN.
  • Layi na shida shine sunan mai amfani/Password wanda manufa zata samar wa mai farawa don ba da damar tantancewar CHAP na juna. A al'ada ba a buƙatar wannan siga amma wannan labarin yana rufe amincin CHAP na juna don haka ana buƙatar wannan siga.
  • Layin ƙarshe shine bayanin rufewa don ma'anar manufa. Kula da slash na rufewa a gaban maƙasudin mabuɗin!

Da zarar an buga saitunan da suka dace don LUN, adana canje-canje kuma fita editan rubutu. Idan kuna amfani da nano, danna ctrl+o don adanawa sannan ku danna ctrl+x don fita nano.

Da zarar an ƙirƙiri fayil ɗin daidaitawa, ya kamata a sake kunna sabis ɗin tgt don haka tgt ya san sabbin maƙasudi da daidaitawar haɗin gwiwa.

Ana iya yin wannan tare da ɗaya daga cikin umarni masu zuwa kuma ya dogara da tsarin init da ake amfani da shi.

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

Da zarar an sake kunna tgt, yana da mahimmanci a bincika don tabbatar da cewa ana samar da manufar iSCSI bisa ga fayil ɗin sanyi da aka ƙirƙira.

Ana iya cika wannan tare da umarnin 'tgtadm'.

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

Wannan yana ƙare daidaitawar manufa. Sashe na gaba zai yi aiki ta hanyar daidaitawar mai farawa.

Kanfigareshan Farawa na Debian iSCSI

Mataki na gaba na amfani da maƙasudin iSCSI da aka tsara a baya shine daidaitawar mai ƙaddamar da iSCSI.

XenServer/ESXi daban-daban ko wasu rabawa kamar Red Hat, Debian, ko Ubuntu.

Mataki na farko a cikin wannan tsari na wannan mafarin Debian shine shigar da fakitin da suka dace na iSCSI.

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

Da zarar an gama daidaitawar fakitin buɗe-iscsi, saitin ƙaddamarwar iSCSI na iya farawa. Mataki na farko zai kasance don sadarwa tare da maƙasudi don samun bayanan daidaitawa na farko don manufar da aka shirya.

# iscsiadm -m discovery -t st -p 192.168.56.101

Lokacin da wannan umarni ya gudana, zai mayar da martani tare da sunan lun da aka saita a baya don wannan rukunin na musamman. Umurnin da ke sama zai kuma samar da fayiloli guda biyu don sabon bayanin LUN da aka gano.

Yanzu fayil ɗin da aka ƙirƙira don wannan kumburin zai buƙaci a daidaita bayanan CHAP domin wannan manufa ta iSCSI ta kasance mai isa ga mai farawa.

A zahiri wannan bayanin zai iya zama saitin tsarin gaba ɗaya amma idan mai watsa shiri ya haɗu da LUNs daban-daban tare da takaddun shaida daban-daban, sanya waɗannan takaddun shaida a cikin takamaiman fayil ɗin ƙirar kumburi na iya rage kowane matsala.

Fayil ɗin daidaitawar node zai kasance a cikin directory ''/etc/iscsi/nodes/' kuma zai sami kundin adireshi kowane LUN akwai. A cikin yanayin wannan labarin (lura cewa hanyoyi za su canza idan an canza suna/adiresoshin IP).

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

Don aiki tare da wannan fayil, ana iya amfani da kowane editan rubutu.

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

A cikin wannan fayil ɗin za a sami zaɓuɓɓukan da aka tsara da yawa don manufa daban-daban waɗanda aka ƙayyade yayin umarnin 'iscsiadm' da aka yi a baya.

Tun da saitin wannan manufa/mafarawar Debian na musamman yana amfani da CHAP na juna, wasu ƙarin zaɓuɓɓukan suna buƙatar canza su kuma ƙara su zuwa wannan fayil ɗin sannan shiga cikin manufa iSCSI da aka yi.

Canje-canje ga wannan fayil sune:

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

Zaɓuɓɓukan da ke sama za su ba da damar wannan manufa don tabbatarwa ga mai ƙaddamarwa tare da ba da damar mai ƙaddamarwa don tabbatar da abin da ake nufi.

Akwai wani zaɓi a cikin wannan takamaiman fayil ɗin wanda zai iya buƙatar canzawa dangane da abubuwan da mai gudanarwa ke so kuma shine ma'aunin 'node.startup'.

Idan bin wannan jagorar, za a saita zaɓin 'node.startup' zuwa 'manual' a wannan lokacin. Wannan ƙila ba za a so ba. Idan mai gudanarwa yana son a haɗa makasudin iSCSI lokacin da tsarin ya fara, canza 'manual'zuwa'atomatik'kamar haka:

node.startup = automatic

Da zarar an yi canje-canjen da ke sama, ajiye fayil ɗin kuma fita. A wannan lokaci ana buƙatar sake kunna sabis na buɗe-iscsi don karanta waɗannan sabbin canje-canje kuma a haɗa zuwa maƙasudin iSCSI.

Ana iya cika wannan tare da ɗayan umarni masu zuwa dangane da tsarin init da ake amfani da shi.

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

Sanarwa a cikin koren akwatin da ke sama cewa mai ƙaddamar da iSCSI ya sami damar shiga cikin manufa. Don ƙara tabbatar da cewa ainihin maƙasudin iSCSI yana samuwa ga mai ƙaddamarwa, za mu iya duba tsarin don ƙarin faifan faifai waɗanda ke samuwa ta amfani da umarnin 'lsblk'da kuma bincika fitarwa don ƙarin kayan aiki.

# lsblk

Sauran umarnin da za a iya amfani da shi akan mai ƙaddamarwa don tabbatar da haɗin kai ga manufa shine 'iscsiadm' kamar haka:

# iscsiadm -m session

Wuri na ƙarshe don tabbatar da haɗin kai zai kasance akan maƙasudin kanta ta amfani da umarnin 'tgtadm' don jera kowane haɗin iSCSI.

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

Daga wannan gaba, sabuwar na'urar iSCSI da aka makala za a iya amfani da ita kwatankwacin kowane faifai da aka haɗe a kai a kai! Rarraba, ƙirƙirar tsarin fayil, hawa, da/ko tsayin daka duk ana iya sarrafa su akai-akai.

Babban taka tsantsan da yakamata ku sani tare da na'urorin iSCSI shine idan maƙasudin iSCSI ya ƙunshi mahimman tsarin fayil waɗanda ake buƙata yayin da mai farawa ke booting, tabbatar da amfani da shigarwar '_netdev' a cikin fayil ɗin '/ sauransu/fstab' don tabbatar da cewa iSCSI an haɗa na'urar kafin tsarin ya ci gaba da yin booting!