Kungekudala, abafana abavela e-LINBIT babonise isisombululo sabo esitsha se-SDS-Linstor. Le yindawo yokugcina simahla esekwe kubuchwephesha obuqinisekisiweyo: DRBD, LVM, ZFS. I-Linstor idibanisa ukulula kunye noyilo oluyilwe kakuhle, olukuvumela ukuba ufezekise uzinzo kunye neziphumo ezinomdla.
Namhlanje ndingathanda ukuthetha ngayo ngeenkcukacha ezincinci kwaye ndibonise ukuba inokudityaniswa ngokulula kangakanani ne-OpenNebula usebenzisa i-linstor_un - umqhubi omtsha endimphuhlisele le njongo.
I-Linstor idityaniswe ne-OpenNebula ikuvumela ukuba wakhe ilifu elikhawulezayo nelithembekileyo elinokubekwa ngokulula kwisiseko sakho.
Uyilo lweLinstor
I-Linstor ayisiyonkqubo yefayile okanye ibhlokhi yogcino ngese, i-Linstor yiorchestrator ebonelela umaleko wokukhupha okuvumela ukuba wenze ngokuzenzekelayo ukwenza imiqulu kwi-LVM okanye i-ZFS kwaye uyiphindaphinde usebenzisa i-DRBD9.
Ukuqhawula iingcamango
Kodwa linda, DRBD? β Kutheni uzenzele yona kwaye inokusebenza njani?
Masikhumbule ixesha elidlulileyo, xa i-DRBD8 yayidume kakhulu. Ukusetyenziswa kwayo okusemgangathweni kubandakanya ukudala isixhobo esikhulu sebhloko kunye nokusikwa sibe ngamaqhekeza amancinci amaninzi, usebenzisa iLVM efanayo. Uhlobo lwe-mdadm RAID-1 kodwa ngokuphindaphinda kwinethiwekhi.
Le ndlela ayikho ngaphandle kweengxaki zayo, kwaye ngoko ke, ngokufika kwe-DRBD9, imigaqo yoyilo lokugcina itshintshile;
Indlela enezixhobo ezizimeleyo zebhlokhi ivumela ukusetyenziswa okungcono kwendawo kwiqela, kwaye yongeza inani leempawu ezongezelelweyo. Ngokomzekelo, kwisixhobo ngasinye esinjalo unokumisela inani leekopi, indawo yazo kunye nezicwangciso zomntu ngamnye. Kulula ukwenza / ukucima, ukuthatha izifinyezo, ukulinganisa ubungakanani, ukunika amandla uguqulelo oluntsonkothileyo kunye nokunye okuninzi. Kuyaphawuleka ukuba i-DRBD9 ikwaxhasa ikhoram, ekuvumela ukuba uphephe iimeko zokwahlukana kwengqondo.
Izibonelelo kunye ne-backends
Xa udala isixhobo esitsha sebhloko, i-Linstor ibeka inani elifunekayo leekopi kwiinodi ezahlukeneyo kwiqela. Siza kubiza i-replica nganye njengomthombo we-DRBD.
Kukho iindidi ezimbini zezibonelelo:
- Umthombo wedatha -sisixhobo se-DRBD esibekwe kwindawo ekudityanwa kuyo kwi-LVM okanye kwi-ZFS pool.
Okwangoku kukho inkxaso yee-backends ezininzi kwaye inani labo lihlala likhula. Kukho inkxaso yeLVM, ThinLVM kunye neZFS. Ezimbini zokugqibela zikuvumela ukuba wenze kwaye usebenzise izifinyezo. - Diskless resource - idivaysi ye-DRBD ebekwe kwi-node ngaphandle kwe-backend, kodwa ivumela ukuba iphathwe njengesixhobo esiqhelekileyo sebhloko; Eyona analogu ikufutshane kwidiskless imithombo yi-iSCSI LUN.
Isixhobo ngasinye se-DRBD sinokuba ne-8 replicas, kwaye inye kuphela kubo enokusebenza ngokungagqibekanga - EziPrayimari, bonke abanye baya kuba Sekondari kwaye ukusetyenziswa kwabo kuya kuba yinto engenakwenzeka okoko nje kukho ubuncinane iPrayimari enye, oko kukuthi, baya kuphinda baphindaphinde idatha phakathi kwabo.
Ngokufakela isixhobo se-DRBD kwinkqubo, iba ngokuzenzekelayo EziPrayimari, ngoko ke nesixhobo seDiskiless, kwisigama seDRBD, sinokuba yiPrayimari.
Ke kutheni ufuna uLinstor?
Ngokunikezela yonke imisebenzi enzima kakhulu kwi-kernel, i-Linstor sisicelo esiqhelekileyo seJava esikuvumela ukuba wenze ngokulula ukuyilwa kwezixhobo zeDRBD.
Ngaphezu koko, isibonelelo ngasinye esidalwe nguye siya kuba liqela elizimeleyo le-DRBD elisebenza ngokuzimeleyo, kungakhathaliseki ukuba yiyiphi imo ye-control-plane kunye nezinye izixhobo ze-DRBD.
ILinstor inamacandelo amabini kuphela:
- Linstor-controller - Umlawuli oyintloko, obonelela nge-API yokudala nokulawula izixhobo. Ikwanxibelelana neesathelayithi, ijonga indawo yasimahla kuzo, kwaye ithumela imisebenzi ukwenza kunye nokucima izixhobo ezitsha. Isebenza kumzekelo omnye kwaye isebenzisa isiseko sedatha, enokuba yangaphakathi (H2) okanye yangaphandle (PostgreSQL, MySQL, MariaDB)
- Linstor-satellite - Ifakwe kuzo zonke iindawo zokugcina kwaye inika umlawuli ngolwazi malunga nendawo yamahhala, kwaye yenza imisebenzi efunyenwe kumlawuli ukudala nokucima imiqulu emitsha kunye nezixhobo ze-DRBD phezu kwazo.
I-Linstor isebenza ngezi ngongoma zilandelayo:
- INode - iseva ebonakalayo apho izibonelelo ze-DRBD ziya kwenziwa kwaye zisetyenziswe.
- Idama lokuGcina -Idama le-LVM okanye le-ZFS lenziwe kwindawo apho izibonelelo ze-DRBD ziya kuba khona. I-diskless pool nayo inokwenzeka - eli lichibi apho izibonelelo zediskless kuphela ziya kufumaneka.
- Inkcazelo yoVimba β Inkcazelo yobutyebi ngumzekelo ochaza igama kunye nazo zonke iimpawu zalo.
- Umqulu Ingcaciso -Inkcazo yomthamo. Isixhobo ngasinye sinokuba nemiqulu emininzi, umthamo ngamnye kufuneka ube nobukhulu.
- Uvimba β Umzekelo owenziweyo wesixhobo sebhloko, isibonelelo ngasinye kufuneka sibekwe kwindawo ethile kunye nakwichibi elithile lokugcina.
Ukufakwa kweLinstor
Ndincoma ukusebenzisa Ubuntu njengenkqubo, kuba... ikhona ngenxa yakhe
add-apt-repository ppa:linbit/linbit-drbd9-stack
apt-get update
Okanye iDebian, apho iLinstor inokufakwa kwindawo yokugcina esemthethweni 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
Yonke into ilula apha:
apt-get install linstor-controller linstor-client
systemctl enable linstor-controller
systemctl start linstor-controller
Iindawo zokugcina
I-Linux kernel ngoku ihanjiswa ngemodyuli ye-kernel esemthini DRBD8, ngelishwa ayihambelani nathi kwaye kufuneka siyifake DRBD9:
apt-get install drbd-dkms
Njengoko uqeqesho lubonisa, ubunzima obuninzi buvela ngokuchanekileyo kuba imodyuli ye-DRBD8 ilayishwe kwinkqubo, kwaye kungekhona i-DRBD9. Ngethamsanqa, oku kulula ukujonga ngokuqhuba:
modprobe drbd
cat /proc/drbd
Ukuba ubona inguqulelo: 9 - kuthetha ukuba yonke into ilungile ukuba inguqulelo: 8 - kuthetha ukuba kukho into engalunganga kwaye kufuneka uthathe amanyathelo ongezelelweyo ukufumana izizathu.
Ngoku masifake i-linstor-satellite ΠΈ drbd-eziluncedo:
apt-get install linstor-satellite drbd-utils
systemctl enable linstor-satellite
systemctl start linstor-satellite
Yenza iqela
Amachibi okugcina kunye neendawo zokuhlala
Njenge-backend siya kuthatha ThinLVM, ngokuba yeyona ilula kwaye ixhasa imifanekiso eqingqiweyo.
Faka ifayile lvm2, ukuba awukenzi njalo, masenze ichibi leThinLVM kuzo zonke iindawo zethu zokugcina:
sudo vgcreate drbdpool /dev/sdb
sudo lvcreate -L 800G -T drbdpool/thinpool
Zonke ezinye izenzo zingenziwa ngokuthe ngqo kumlawuli:
Makhe songeze iindawo zethu zokuhlala:
linstor node create node1 127.0.0.11
linstor node create node2 127.0.0.12
linstor node create node3 127.0.0.13
Masenze amadama okugcina:
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
Ngoku makhe sijonge amachibi adaliweyo:
linstor storage-pool list
Ukuba yonke into yenziwe ngokuchanekileyo, ngoko kufuneka sibone into efana nale:
+------------------------------------------------ ------------------------------------------------- ----+ | Ipool yokugcina | Indawo | Umqhubi | Igama lephuli | FreeCapacity | TotalCapacity | IxhasaSnapshots | |----------------------------------------------- - ------------------------------------------------ - ---| | idatha | indawo1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | yinyani | | idatha | indawo 2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | yinyani | | idatha | node3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | yinyani | +------------------------------------------------ ------------------------------------------------- ----+
izixhobo DRBD
Ngoku makhe sizame ukwenza isixhobo sethu esitsha se-DRBD:
linstor resource-definition create myres
linstor volume-definition create myres 1G
linstor resource create myres --auto-place 2
Makhe sijonge izixhobo ezenziweyo:
linstor resource list
+------------------------------------------------ ------------------------------------------------- ---+ | Indawo | Uvimba | Ipool yokugcina | UmquluNr | MinorNr | Igama lesixhobo | Kwabiwe | Sebenzisa | Ilizwe | |----------------------------------------------- - ------------------------------------------------ - --| | indawo1 | iintombi | idatha | 0 | 1084 | /dev/drbd1084 | 52 KB | Engasetyenziswanga | Uhlaziyo | | indawo 2 | iintombi | idatha | 0 | 1084 | /dev/drbd1084 | 52 KB | Engasetyenziswanga | Uhlaziyo | +------------------------------------------------ ------------------------------------------------- ---+
Kakhulu! - siyabona ukuba uvimba wenziwa kwiindawo ezimbini zokuqala, sinokuzama ukwenza i-diskless resource kweyesithathu:
linstor resource create --diskless node3 myres
Kwiindawo zokuhlala uya kuhlala ufumana esi sixhobo njenge /dev/drbd1084
okanye /dev/drbd/by-res/myres/0
Yile ndlela i-Linstor isebenza ngayo, unokufumana ulwazi oluninzi ukusuka
Ngoku ndiza kukuxelela indlela yokuyidibanisa ne-OpenNebula
Ukuseta i-OpenNebula
Andizukungena nzulu kakhulu kwinkqubo yokuseta i-OpenNebula, kuba... onke amanyathelo achazwe ngokweenkcukacha kwi
linstor_un
Ukusombulula le ngxaki, ndibhale owam umqhubi-
Ufakelo lulonke lwenziwa kwi-frontend OpenNebula nodes kwaye ayifuni zenzo ezongezelelweyo kwiinodi zekhompyutha.
Okokuqala, kufuneka siqinisekise ukuba sinayo jq ΠΈ linstor-umthengi:
apt-get install jq linstor-client
Iqela linstor node list
kufuneka ibonise uluhlu lweenodi. Zonke i-OpenNebula compute nodes kufuneka zongezwe kwiqela le-Linstor.
Khuphela kwaye ufake i-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
Ngoku kufuneka siyongeze kwi-OpenNebula config, ukwenza oku silandela amanyathelo alula achaziweyo
Emva koko uqalise kwakhona i-OpenNebula:
systemctl restart opennebula
Kwaye yongeza iivenkile zethu zedatha, inkqubo:
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
Kwaye ivenkile yemifanekiso:
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
- IParamu
AUTO_PLACE
ibonisa inani leekopi zedatha eziya kwenziwa kumfanekiso omtsha ngamnye kwi-OpenNebula. - IParamu
CLONE_MODE
ibonisa ngokuthe ngqo ukuba imifanekiso iya kwenziwa njani xa kuyilwa oomatshini abatsha,snapshot
-Izakwenza umfanekiso okhawulezayo womfanekiso kwaye ithumele umatshini obonakalayo ukusuka kwisnapshot,copy
- iya kwenza ikopi epheleleyo yomfanekiso kumatshini ngamnye wenyani. - Π
BRIDGE_LIST
Kuyacetyiswa ukuba ukhankanye zonke iindawo eziza kusetyenziselwa ukwenza imisebenzi yokubumba imifanekiso.
Uluhlu olupheleleyo lweeparamitha ezixhaswayo, bona
Oku kugqiba ukuseta, ngoku ungakhuphela isixhobo sombane kwigosa
Ikhonkco leprojekthi:
umthombo: www.habr.com