Ukugcinwa kwe-LINSTOR kunye nokudibanisa kwayo ne-OpenNebula

Ukugcinwa kwe-LINSTOR kunye nokudibanisa kwayo ne-OpenNebula

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 ilungile iPPA:

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 amaxwebhu asemthethweni.

Ngoku ndiza kukuxelela indlela yokuyidibanisa ne-OpenNebula

Ukuseta i-OpenNebula

Andizukungena nzulu kakhulu kwinkqubo yokuseta i-OpenNebula, kuba... onke amanyathelo achazwe ngokweenkcukacha kwi amaxwebhu asemthethweni, endikucebisa ukuba uqhagamshelane, ndiya kukuxelela kuphela malunga nokudityaniswa kwe-OpenNebula kunye ne-Linstor.

linstor_un

Ukusombulula le ngxaki, ndibhale owam umqhubi- linstor_un, okwangoku iyafumaneka njenge-plugin kwaye kufuneka ifakwe ngokwahlukeneyo.

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 apha.

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 README iprojekthi.

Oku kugqiba ukuseta, ngoku ungakhuphela isixhobo sombane kwigosa Vula iNdawo yeMarike yeNebula kwaye wenze oomatshini benyani ukusuka kuyo.

Ikhonkco leprojekthi:
https://github.com/OpenNebula/addon-linstor_un

umthombo: www.habr.com

Yongeza izimvo