Kaydinta LINSTOR iyo ku biirinteeda OpenNebula

Kaydinta LINSTOR iyo ku biirinteeda OpenNebula

Muddo aan fogayn, ragga ka socda LINBIT waxay soo bandhigeen xalkooda cusub ee SDS - Linstor. Tani waa kaydin buuxda oo bilaash ah oo ku salaysan tignoolajiyada la xaqiijiyay: DRBD, LVM, ZFS. Linstor wuxuu isku daraa fududaynta iyo qaab dhismeedka si wanaagsan loo qaabeeyey, kaas oo kuu ogolaanaya inaad gaadho xasillooni iyo natiijooyin cajiib ah.

Maanta waxaan jeclaan lahaa inaan si faahfaahsan uga hadlo oo aan tusiyo sida ugu fudud ee loogu dari karo OpenNebula anigoo isticmaalaya linstor_un - darawal cusub oo aan si gaar ah u sameeyay ujeedadan.

Linstor marka lagu daro OpenNebula waxay kuu ogolaaneysaa inaad dhisto daruur degdeg ah oo la isku halleyn karo oo si fudud loogu dhejin karo kaabayaashaaga.

Dhismaha Linstor

Linstor ma aha nidaam faylal mana xannibo kaydinta halkii se, Linstor waa orchestrator bixisa lakabka abstraction kaas oo kuu ogolaanaya inaad otomaatig u sameyso abuurista mugga LVM ama ZFS oo aad ku soo celiso adigoo isticmaalaya DRBD9.

Jebinta fikradaha qaldan

Laakiin sug, DRBD? - Waa maxay sababta otomaatig ah iyo sidee ayay xitaa u shaqeyn kartaa?

Aan xasuusano waagii hore, markii DRBD8 aad loo jeclaa. Isticmaalkeeda caadiga ah waxay ku lug lahayd abuurista hal qalab oo weyn oo loo gooyo qaybo yaryar oo badan, iyadoo la adeegsanayo isla LVM. Nooc mdadm RAID-1 ah laakiin ku celcelinaya shabakada

Habkani maaha mid aan lahayn dib-u-dhaciisa, sidaas darteed, soo-dhaweynta DRBD9, mabaadi'da naqshadaynta kaydinta ayaa isbeddelay; hadda qalab DRBD gaar ah ayaa loo sameeyay mashiin kasta.

Habka leh qalabka xannibaadda ee madaxbannaan ayaa u oggolaanaya in si fiican looga faa'iidaysto booska kooxda, sidoo kale wuxuu ku darayaa tiro sifooyin dheeraad ah. Tusaale ahaan, qalab kasta oo noocaas ah waxaad go'aamin kartaa tirada nuqullada, goobta ay ku sugan yihiin iyo goobaha gaarka ah. Way fududahay in la abuuro/ tirtiro, la qaado sawir-qaadis, cabbir, awood sireed iyo wax ka badan. Waxaa xusid mudan in DRBD9 ay sidoo kale taageerto kooramka, kaas oo kuu ogolaanaya inaad ka fogaato xaaladaha kala-baxa maskaxda.

Khayraadka iyo gadaal

Marka la abuurayo qalab cusub oo xannibaad ah, Linstor wuxuu dhigayaa tirada nuqullada loo baahan yahay ee noodhka kala duwan ee kooxda. Mid kasta oo noocaan ah waxaan ugu yeeri doonaa kheyraadka DRBD.

Waxaa jira laba nooc oo kheyraad ah:

  • Ilaha xogta - waa aalad DRBD ah oo ku taal meel u dhaxaysa barkada LVM ama ZFS.
    Waqtigan xaadirka ah waxaa jira taageero loogu talagalay dhowr qof oo gadaal ah oo tiradooduna si joogto ah ayay u koraysaa. Waxaa jira taageero LVM, ThinLVM iyo ZFS. Labada ugu dambeeya waxay kuu oggolaanayaan inaad abuurto oo aad isticmaasho sawir-qaadis.
  • Ilaha Disk-la'aanta ah - waa aaladda DRBD oo la dulsaaray noodhka aan lahayn dhabarka dambe, laakiin u oggolaanaya in loola dhaqmo sidii aalad xannibaad joogto ah; dhammaan hawlgallada wax-akhrinta/qorista ayaa loo wareejin doonaa ilaha xogta. Analoogga ugu dhow ilaha aan diskka lahayn waa iSCSI LUN.

Khayraad kasta oo DRBD ah waxay yeelan kartaa ilaa 8 nuqul, oo mid ka mid ah oo kaliya ayaa si toos ah u shaqeyn kara - Primary, qof kasta oo kale ayaa ahaan doona Sare isticmaalkooduna wuxuu noqon doonaa mid aan suurtagal ahayn ilaa iyo inta uu jiro ugu yaraan hal Primary, taas oo ah, waxay si fudud u soo celin doonaan xogta dhexdooda.

Marka lagu rakibo aaladda DRBD nidaamka, si toos ah ayuu u noqonayaa Primary, sidaas darteed xitaa kheyraadka Diskless, ee ereybixinta DRBD, waxay noqon kartaa Primary.

Haddaba maxaad ugu baahan tahay Linstor?

Adiga oo ku aaminaya dhammaan hawlaha khayraadka-dhaqdhaqaaqa ah ee kernel-ka, Linstor asal ahaan waa codsi Java oo joogto ah kaas oo kuu ogolaanaya inaad si fudud u toosiso abuurista ilaha DRBD.
Intaa waxaa dheer, kheyraad kasta oo uu abuuro wuxuu noqon doonaa koox DRBD oo madax-bannaan oo si madax-bannaan u shaqeysa, iyadoon loo eegin xaaladda diyaaradda iyo kheyraadka kale ee DRBD.

Linstor wuxuu ka kooban yahay laba qaybood oo keliya:

  • Linstor-control - Xakamaynta ugu weyn, kaas oo bixiya API-ga abuurista iyo maareynta kheyraadka. Waxa kale oo ay la xidhiidhaa dayax-gacmeedka, hubinta meesha bannaan ee korkooda ah, waxayna u dirtaa hawlo si ay u abuuraan oo ay u tirtiraan kheyraad cusub. Waxay ku shaqeysaa hal tusaale waxayna isticmaashaa xog uruurin, taasoo noqon karta mid gudaha ah (H2) ama dibadda (PostgreSQL, MySQL, MariaDB)
  • Linstor-satellite - Waxaa lagu rakibay dhammaan qanjidhada kaydinta waxayna siisaa kontaroolaha macluumaadka ku saabsan meel bannaan, sidoo kale waxay fulisaa hawlo laga helo kontaroolaha si loo abuuro loona tirtiro mugga cusub iyo qalabka DRBD ee korkooda ah.

Linstor wuxuu ku shaqeeyaa fikradaha muhiimka ah ee soo socda:

  • noode - server jireed kaas oo agabka DRBD lagu abuuri doono lana isticmaali doono.
  • Barkadda Kaydinta - Barkadda LVM ama ZFS ee laga sameeyay marinka kaas oo agabka DRBD ku yaalo. Barkad bilaa disk ah ayaa sidoo kale suurtagal ah - tani waa barkad ay ku yaalliin kaliya agab aan disk lahayn.
  • Qeexida Kheyraadka - Qeexida kheyraadka asal ahaan waa tusaale qeexaya magaca iyo dhammaan hantidiisa.
  • Qeexida mugga - Qeexitaanka mugga. Kheyraad kastaa wuxuu ka koobnaan karaa tirooyin badan, mug kastaa waa inuu lahaadaa cabbir.
  • Resource - Tusaalaha la sameeyay ee qalabka xannibaadda, kheyraad kasta waa in lagu dhejiyaa meel gaar ah iyo barkad kaydinta qaarkood.

Ku rakibida Linstor

Waxaan ku talinayaa inaad u isticmaasho Ubuntu nidaam ahaan, sababtoo ah ... jira iyada PPA diyaar ah:

add-apt-repository ppa:linbit/linbit-drbd9-stack
apt-get update

Ama Debian, halka Linstor lagu rakibi karo kaydka rasmiga ah ee Proxmox:

wget -O- https://packages.linbit.com/package-signing-pubkey.asc | apt-key add -
PVERS=5 && echo "deb http://packages.linbit.com/proxmox/ proxmox-$PVERS drbd-9.0" > 
    /etc/apt/sources.list.d/linbit.list
apt-get update

maamusha

Wax walba halkan waa ku fudud yihiin:

apt-get install linstor-controller linstor-client
systemctl enable linstor-controller
systemctl start linstor-controller

qanjidhada kaydinta

Kernel-ka Linux wuxuu hadda la socdaa cutubka kernel-ka DRBD8, nasiib daro naguma habboona oo waxaan u baahanahay inaan rakibno DRBD9:

apt-get install drbd-dkms

Sida dhaqanku muujinayo, dhibaatooyinka badankoodu waxay u soo baxaan si sax ah sababtoo ah moduleka DRBD8 ayaa lagu shubay nidaamka, ee maaha DRBD9. Nasiib wanaag, tani way fududahay in lagu hubiyo adigoo ordaya:

modprobe drbd
cat /proc/drbd

Haddaad aragto nooca: 9 - waxay la macno tahay wax walba waa hagaagsan yihiin haddii nooca: 8 - waxa ay la macno tahay in ay wax khaldameen oo aad u baahan tahay in aad qaado tillaabooyin dheeraad ah si aad u ogaato sababaha.

Hadda aan rakibno linstor-satellite ΠΈ drbd-utils:

apt-get install linstor-satellite drbd-utils
systemctl enable linstor-satellite
systemctl start linstor-satellite

Samee koox

Barkadaha kaydinta iyo qanjidhada

Dhabar ahaan waanu qaadan doonaa ThinLVM, sababtoo ah waa kan ugu fudud oo taageera sawir-qaadista.
Deji lvm2, haddii aanad horeba u samayn, aynu ku abuurno barkad ThinLVM dhammaan qanjidhadayada kaydinta:

sudo vgcreate drbdpool /dev/sdb
sudo lvcreate -L 800G -T drbdpool/thinpool

Dhammaan ficillada dheeraadka ah waxaa si toos ah loogu samayn karaa kantaroolaha:

Aan ku darno noodhadhkayaga:

linstor node create node1 127.0.0.11
linstor node create node2 127.0.0.12
linstor node create node3 127.0.0.13

Aan abuurno barkadaha kaydinta:

linstor storage-pool create lvmthin node1 data drbdpool/thinpool
linstor storage-pool create lvmthin node2 data drbdpool/thinpool
linstor storage-pool create lvmthin node3 data drbdpool/thinpool

Hadda aynu eegno barkadaha la abuuray:

linstor storage-pool list

Haddii wax walba si sax ah loo sameeyo, markaa waa inaan aragnaa wax sida:

------------------------------------------------ ----- ----+
| Kaydka Pool | Node | Darawalka | Magaca barkada | Awoodda Xorta ah | Wadarta Awoodda | TaageeradaSnapshots |
|---- ----- ---|
| xogta | noodhka1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | run |
| xogta | nooda2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | run |
| xogta | nooda3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | run |
------------------------------------------------ ----- ----+

Khayraadka DRBD

Hadda aan isku dayno inaan abuurno kheyraadkayaga cusub ee DRBD:

linstor resource-definition create myres
linstor volume-definition create myres 1G
linstor resource create myres --auto-place 2

Aan hubino ilaha la abuuray:

linstor resource list 

------------------------------------------------ ----- ---+
| Node | Kheyraadka | Kaydka Pool | VolumeNr | MinorNr | Magaca aaladda | Loo qoondeeyay | Isticmaalka | Gobolka |
|---- ----- --|
| noodhka1 | myres | xogta | 0 | 1084 | /dev/drbd1084 | 52 KiB | aan la isticmaalin | UpToDate |
| nooda2 | myres | xogta | 0 | 1084 | /dev/drbd1084 | 52 KiB | aan la isticmaalin | UpToDate |
------------------------------------------------ ----- ---+

Wayn! - waxaan aragnaa in kheyraadka lagu abuuray labada qanjidhada ee hore, waxaan sidoo kale isku dayi karnaa inaan abuurno kheyraad aan disk lahayn dhinaca saddexaad:

linstor resource create --diskless node3 myres

Duubyada waxaad had iyo jeer ka heli doontaa qalabkan sida /dev/drbd1084 ama /dev/drbd/by-res/myres/0

Tani waa sida uu u shaqeeyo Linstor, waxaad ka heli kartaa macluumaad dheeraad ah dukumeenti rasmi ah.

Hadda waxaan kuu sheegi doonaa sida loogu daro OpenNebula

Dejinta OpenNebula

Aad uguma sii fogaan doono habka dejinta OpenNebula, sababtoo ah... Dhammaan tillaabooyinka waxaa lagu sifeeyay si faahfaahsan dukumeenti rasmi ah, oo aan kugula talinayo inaad la xiriirto, waxaan kaliya kuu sheegi doonaa wax ku saabsan isku dhafka OpenNebula iyo Linstor.

linstor_un

Si loo xalliyo dhibaatadan, waxaan qoray darawalkayga - linstor_un, hadda waxaa loo heli karaa plugin ahaan waana in si gaar ah loo rakibaa.

Rakibaadda oo dhan waxaa lagu fuliyaa dhinaca hore ee OpenNebula nodes oo uma baahna waxqabadyo dheeraad ah oo ku saabsan qanjidhada xisaabinta.

Marka hore, waxaan u baahannahay inaan hubinno inaan haysanno jq ΠΈ linstor-macmiil:

apt-get install jq linstor-client

kooxda linstor node list waa inuu soo bandhigaa liiska noodhka. Dhammaan qanjidhada xisaabinta OpenNebula waa in lagu daraa kooxda Linstor.

Soo deji oo rakib plugin:

curl -L https://github.com/OpenNebula/addon-linstor_un/archive/master.tar.gz | tar -xzvf - -C /tmp

mv /tmp/addon-linstor_un-master/vmm/kvm/* /var/lib/one/remotes/vmm/kvm/

mkdir -p /var/lib/one/remotes/etc/datastore/linstor_un
mv /tmp/addon-linstor_un-master/datastore/linstor_un/linstor_un.conf /var/lib/one/remotes/etc/datastore/linstor_un/linstor_un.conf

mv /tmp/addon-linstor_un-master/datastore/linstor_un /var/lib/one/remotes/datastore/linstor_un
mv /tmp/addon-linstor_un-master/tm/linstor_un /var/lib/one/remotes/tm/linstor_un

rm -rf /tmp/addon-linstor_un-master

Hadda waxaan u baahanahay inaan ku darno qaabka OpenNebula, si tan loo sameeyo waxaan raacnaa tillaabooyinka fudud ee lagu sharraxay halkan.

Ka dib dib u bilow OpenNebula:

systemctl restart opennebula

Oo ku dar kaydka xogtayada, nidaamka:

cat > system-ds.conf <<EOT
NAME="linstor-system"
TYPE="SYSTEM_DS"
STORAGE_POOL="data"
AUTO_PLACE="2"
CLONE_MODE="snapshot"
CHECKPOINT_AUTO_PLACE="1"
BRIDGE_LIST="node1 node2 node3"
TM_MAD="linstor_un"
EOT

onedatastore create system-ds.conf

Iyo dukaanka sawirka:

cat > images-ds.conf <<EOT
NAME="linstor-images"
TYPE="IMAGE_DS"
STORAGE_POOL="data"
AUTO_PLACE="2"
BRIDGE_LIST="node1 node2 node3"
DISK_TYPE="BLOCK"
DS_MAD="linstor_un"
TM_MAD="linstor_un"
EOT

onedatastore create images-ds.conf

  • Xildhibaan AUTO_PLACE waxay soo bandhigaysaa tirada nuqulada xogta ee loo abuuri doono sawir kasta oo cusub gudaha OpenNebula.
  • Xildhibaan CLONE_MODE waxay tusinaysaa sida saxda ah ee sawirada loo xidhi doono marka la abuurayo mashiinada farsamada gacanta, snapshot - waxay abuuri doontaa sawir sawir leh oo waxay geyn doontaa mashiinka farsamada ee sawirka, copy - wuxuu ka samayn doonaa koobi dhamaystiran oo sawirka mashiin kasta.
  • Π’ BRIDGE_LIST Waxaa lagu talinayaa in la qeexo dhammaan qanjidhada loo isticmaali doono in lagu fuliyo hawlaha cloning image.

Si aad u hesho liis dhammaystiran oo cabbirrada la taageeray, eeg README mashruuc.

Tani waxay dhamaystiraysaa habaynta, hadda waxaad kala soo bixi kartaa qalabka qaar ka mid ah qalabka rasmiga ah Suuqa Nebula Furan oo ka samee mashiinno farsamaysan.

Isku xirka mashruuca:
https://github.com/OpenNebula/addon-linstor_un

Source: www.habr.com

Add a comment