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
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
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
linstor_un
Si loo xalliyo dhibaatadan, waxaan qoray darawalkayga -
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
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
Tani waxay dhamaystiraysaa habaynta, hadda waxaad kala soo bixi kartaa qalabka qaar ka mid ah qalabka rasmiga ah
Isku xirka mashruuca:
Source: www.habr.com