Munguva pfupi yapfuura, vakomana veLINBIT vakaratidza yavo itsva SDS mhinduro - Linstor. Iyi ichengetedzo yemahara yakavakirwa patekinoroji yakasimbiswa: DRBD, LVM, ZFS. Linstor inosanganisa kureruka uye yakanyatsogadzirwa zvivakwa, izvo zvinokutendera iwe kuti uwane kugadzikana uye zvinokatyamadza mhedzisiro.
Nhasi ndinoda kutaura nezvazvo mune zvishoma uye kuratidza kuti inogona kusanganiswa nyore sei neOpenNebula uchishandisa linstor_un - mutyairi mutsva wandakagadzira kuitira chinangwa ichi.
Linstor yakabatana neOpenNebula inokutendera iwe kuti uvake gore rinokurumidza uye rakavimbika iro rinogona kuiswa zviri nyore pane yako wega zvivakwa.
Linstor architecture
Linstor haisi iyo faira system kana yekuvharira kuchengetedza pase, Linstor ndeye orchestrator inopa yekubvisa layer iyo inokutendera kuti uite otomatiki kusikwa kwemavhoriyamu muLVM kana ZFS uye woadzokorora uchishandisa DRBD9.
Kuputsa mafungiro
Asi kumirira, DRBD? - Nei uchiita otomatiki uye ingatoshanda sei?
Ngatirangarirei zvakapfuura, apo DRBD8 yaive yakakurumbira. Kushandiswa kwayo kwakajairwa kwaisanganisira kugadzira imwe hombe block mudziyo nekuicheka kuita zvidimbu zvidiki zvakawanda, uchishandisa iyo LVM imwechete. Mhando ye mdadm RAID-1 asi nekudzokorora pamusoro pe network.
Iyi nzira haina zvipingamupinyi zvayo, uye nekudaro, nekuuya kweDRBD9, misimboti yekuchengetera dhizaini yachinja; ikozvino yakaparadzana DRBD mudziyo inogadzirwa kune yega yega muchina.
Iyo nzira ine yakazvimirira block zvishandiso inobvumira kushandiswa zviri nani kwenzvimbo musumbu, uye zvakare inowedzera akati wandei mamwe maficha. Semuenzaniso, kune imwe neimwe mudziyo wakadaro unogona kuona nhamba yezvinyorwa, nzvimbo yavo uye zvigadziro zvega. Izvo zviri nyore kugadzira / kudzima, tora zvidhori, resize, gonesa encryption uye zvimwe zvakawanda. Zvakakosha kucherechedza kuti DRBD9 inotsigirawo quorum, iyo inokutendera kuti udzivise kupatsanura-uropi mamiriro.
Zvishandiso uye backends
Paunenge uchigadzira mudziyo mutsva weblock, Linstor anoisa iyo nhamba inodiwa yezvinyorwa pane dzakasiyana node musumbu. Tichadaidza imwe neimwe replica yakadai DRBD sosi.
Kune marudzi maviri ezviwanikwa:
- Data resource - mudziyo weDRBD uri pane node muLVM kana ZFS dziva.
Parizvino pane kutsigirwa kwemashure akati wandei uye nhamba yavo iri kuramba ichikura. Kune rutsigiro rweLVM, ThinLVM uye ZFS. Iwo maviri ekupedzisira anobvumidza iwe kugadzira uye kushandisa mapikicha. - Diskless resource - mudziyo weDRBD wakaiswa pane node isina backend, asi uchiibvumira kuti ibatirwe seyakajairwa block mudziyo; ese ekuverenga / kunyora mashandiro anozoendeswa kune data zviwanikwa. Iyo yepedyo analogue kune diskless zviwanikwa iSCSI LUN.
Imwe neimwe DRBD sosi inogona kusvika 8 replicas, uye imwe chete yadzo inogona kushanda nekukasira - Primary, vamwe vose vachava Secondary uye kushandisa kwavo kuchave kusingabviri chero paine kana imwe Yepuraimari, ndiko kuti, ivo vanongodzokorora data pakati pavo.
Nekuisa mudziyo weDRBD musystem, inongoerekana yava Primary, nekudaro kunyangwe Diskless sosi, muDRBD terminology, inogona kuve Yekutanga.
Saka nei uchida Linstor?
Nekupa mabasa ese akasimba-akasimba ku kernel, Linstor ndeye yakajairwa Java application iyo inokutendera iwe kuti uite otomatiki kusikwa kweDRBD zviwanikwa.
Uyezve, imwe neimwe sosi yakagadzirwa naye ichave yakazvimirira DRBD cluster inoshanda yakazvimiririra, zvisinei nemamiriro ekutonga-ndege uye zvimwe zviwanikwa zveDRBD.
Linstor ine zvikamu zviviri chete:
- Linstor-controller -Mutongi mukuru, anopa API yekugadzira nekugadzirisa zviwanikwa. Iyo zvakare inotaurirana nema satellite, inotarisa nzvimbo yemahara pavari, uye inotumira mabasa kugadzira uye kudzima zviwanikwa zvitsva. Inomhanya mune imwechete muenzaniso uye inoshandisa dhatabhesi, inogona kunge iri yemukati (H2) kana yekunze (PostgreSQL, MySQL, MariaDB)
- Linstor-satellite - Yakaiswa pane ese ekuchengetedza node uye inopa mutongi ruzivo nezve nzvimbo yemahara, uye zvakare anoita mabasa anogamuchirwa kubva kune controller kugadzira uye kudzima mavhoriyamu matsva uye DRBD zvishandiso pamusoro pazvo.
Linstor inoshanda neanotevera akakosha pfungwa:
- Node - sevha yemuviri iyo DRBD zviwanikwa zvichagadzirwa uye kushandiswa.
- Storage Dziva - LVM kana ZFS dziva rakagadzirwa pane node umo DRBD zviwanikwa zvichawanikwa. Dhisiki isina dziva zvakare inogoneka - iri dziva umo chete diskless zviwanikwa zvichawanikwa.
- Resource Definition - Tsanangudzo yechishandiso inonyanya kufananidzira inotsanangura zita uye zvese zvaro.
- Volume Definition - Tsanangudzo yevhoriyamu. Imwe neimwe sosi inogona kuve nemavhoriyamu akawanda, vhoriyamu yega yega inofanirwa kunge iine saizi.
- Resource - Chiitiko chakasikwa chemudziyo wekuvhara, imwe neimwe sosi inofanira kuiswa pane imwe node uye mune imwe dziva rekuchengetedza.
Kuiswa kweLinstor
Ini ndinokurudzira kushandisa Ubuntu sehurongwa, nekuti... huripo nokuda kwake
add-apt-repository ppa:linbit/linbit-drbd9-stack
apt-get update
Kana Debian, uko Linstor inogona kuiswa kubva kune yepamutemo repository yeProxmox:
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
Controller
Zvese zviri nyore pano:
apt-get install linstor-controller linstor-client
systemctl enable linstor-controller
systemctl start linstor-controller
Manodhi ekuchengetedza
Iyo Linux kernel parizvino inotakura ine mu-muti kernel module DRBD8, zvinosuruvarisa kuti hazvienderani nesu uye tinoda kuisa DRBD9:
apt-get install drbd-dkms
Sezvinoratidzwa nemaitiro, matambudziko mazhinji anomuka chaizvo nekuti iyo DRBD8 module inorodha muhurongwa, uye kwete DRBD9. Neraki, izvi zviri nyore kutarisa nekumhanya:
modprobe drbd
cat /proc/drbd
Kana uchiona shanduro: 9 - zvinoreva kuti zvese zvakanaka kana shanduro: 8 - zvinoreva kuti pane chakashata uye iwe unofanirwa kutora mamwe matanho kuti uwane zvikonzero.
Zvino ngatiisei linstor-satellite ΠΈ drbd-utils:
apt-get install linstor-satellite drbd-utils
systemctl enable linstor-satellite
systemctl start linstor-satellite
Gadzira sumbu
Madziva ekuchengetera uye node
Sekumashure isu tichatora ThinLVM, nokuti ndiyo yakapfava uye inotsigira snapshots.
Set lvm2, kana usati watoita kudaro, ngatigadzire dziva reThinLVM pane edu ese ekuchengetedza node:
sudo vgcreate drbdpool /dev/sdb
sudo lvcreate -L 800G -T drbdpool/thinpool
Zvese zvimwe zviito zvinogona kuitwa zvakananga pane controller:
Ngatiwedzere node dzedu:
linstor node create node1 127.0.0.11
linstor node create node2 127.0.0.12
linstor node create node3 127.0.0.13
Ngatigadzire madziva ekuchengetera:
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
Zvino ngatitarisei madziva akagadzirwa:
linstor storage-pool list
Kana zvinhu zvose zvikaitwa nemazvo, saka tinofanira kuona chimwe chinhu chakadai:
+------------------------------------------------ ------------------------------------------------- ----+ | StoragePool | Node | Mutyairi | PoolName | FreeCapacity | TotalCapacity | InotsigiraSnapshots | |---------------------------------------------- - ------------------------------------------------ - ---| | data | node1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | chokwadi | | data | node2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | chokwadi | | data | node3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | chokwadi | +------------------------------------------------ ------------------------------------------------- ----+
DRBD zviwanikwa
Zvino ngatiedzei kugadzira yedu itsva DRBD sosi:
linstor resource-definition create myres
linstor volume-definition create myres 1G
linstor resource create myres --auto-place 2
Ngatitarisei zviwanikwa zvakagadzirwa:
linstor resource list
+------------------------------------------------ ------------------------------------------------- ---+ | Node | Resource | StoragePool | VolumeNr | MinorNr | DeviceName | Allocated | InUse | State | |---------------------------------------------- - ------------------------------------------------ - --| | node1 | myres | data | 0 | 1084 | /dev/drbd1084 | 52KiB | Zvisina Kushandiswa | UpToDate | | node2 | myres | data | 0 | 1084 | /dev/drbd1084 | 52KiB | Zvisina Kushandiswa | UpToDate | +------------------------------------------------ ------------------------------------------------- ---+
Hukuru! - tinoona kuti sosi yakagadzirwa pamanodhi maviri ekutanga, isu tinogona zvakare kuedza kugadzira diskless sosi pane yechitatu:
linstor resource create --diskless node3 myres
Pamanodhi iwe unogara uchiwana mudziyo uyu se /dev/drbd1084
kana /dev/drbd/by-res/myres/0
Aya ndiwo mashandiro anoita Linstor, unogona kuwana rumwe ruzivo kubva
Iye zvino ini ndichakuudza nzira yekuibatanidza neOpenNebula
Kugadzira OpenNebula
Ini handisi kuzopinda zvakadzika muOpenNebula setup process, nekuti... matanho ose anotsanangurwa zvakadzama mu
linstor_un
Kugadzirisa dambudziko iri, ndakanyora mutyairi wangu -
Kuisirwa kwese kunoitwa kumberi OpenNebula node uye haidi zvimwe zviito pane compute node.
Chokutanga, tinofanira kuva nechokwadi chokuti tawana jq ΠΈ linstor-client:
apt-get install jq linstor-client
chikwata linstor node list
inofanira kuratidza rondedzero yemanodhi. Ese OpenNebula compute node anofanirwa kuwedzerwa kuLinstor cluster.
Dhawunirodha uye isa iyo 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
Iye zvino tinoda kuiwedzera kune OpenNebula config, kuti tiite izvi tinotevera matanho akareruka anotsanangurwa
Wobva watangazve OpenNebula:
systemctl restart opennebula
Uye wedzera zvitoro zvedu, system:
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
Uye chitoro chemifananidzo:
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
- Parameter
AUTO_PLACE
inoratidza nhamba yedata replicas iyo ichagadzirwa kune yega yega mufananidzo mutsva muOpenNebula. - Parameter
CLONE_MODE
inonyatsoratidza kuti mifananidzo ichagadzirwa sei pakugadzira michina mitsva,snapshot
- ichagadzira mufananidzo wemufananidzo uye kutumira muchina chaiwo kubva pamufananidzo,copy
- ichaita kopi yakazara yemufananidzo kune yega yega muchina. - Π
BRIDGE_LIST
Zvinokurudzirwa kudoma node dzese dzinozoshandiswa kuita mufananidzo cloning mashandiro.
Kuti uwane runyoro rwakakwana rwemaparamita anotsigirwa, ona
Izvi zvinopedzisa kuseta, ikozvino unogona kudhawunirodha imwe mudziyo kubva kune mukuru
Project link:
Source: www.habr.com