LINSTOR ajiya da haɗin kai tare da OpenNebula

LINSTOR ajiya da haɗin kai tare da OpenNebula

Ba da dadewa ba, mutanen LINBIT sun gabatar da sabon maganin SDS su - Linstor. Wannan ma'ajiyar kyauta ce gaba ɗaya bisa ingantattun fasahohi: DRBD, LVM, ZFS. Linstor ya haɗu da sauƙi da ingantaccen tsarin gine-gine, wanda ke ba ku damar samun kwanciyar hankali da sakamako mai ban sha'awa.

A yau zan so in yi magana game da shi dalla-dalla kuma in nuna yadda za a iya haɗa shi cikin sauƙi tare da OpenNebula ta amfani da linstor_un - sabon direban da na haɓaka musamman don wannan dalili.

Linstor a hade tare da OpenNebula yana ba ku damar gina girgije mai sauri kuma abin dogaro wanda za'a iya tura shi cikin sauƙi akan kayan aikin ku.

Linstor gine

Linstor ba tsarin fayil ba ne ko kuma toshe ajiya kowane se, Linstor ɗan ƙungiyar makaɗa ne wanda ke ba da layin abstraction wanda ke ba ku damar sarrafa ƙirƙira kundin a cikin LVM ko ZFS kuma ku kwafa su ta amfani da DRBD9.

Karya zance

Amma jira, DRBD? - Me yasa ake sarrafa shi ta atomatik kuma ta yaya ma zai iya aiki?

Bari mu tuna da baya, lokacin da DRBD8 ya shahara sosai. Daidaitaccen amfani da shi ya ƙunshi ƙirƙirar babban na'urar toshe guda ɗaya da yanke ta cikin ƙananan ƙananan guda da yawa, ta amfani da LVM iri ɗaya. Wani nau'in mdadm RAID-1 amma tare da kwafi akan hanyar sadarwa.

Wannan hanyar ba tare da lahani ba, sabili da haka, tare da zuwan DRBD9, ka'idodin ƙirar ajiya sun canza; yanzu an ƙirƙiri na'urar DRBD daban don kowane injin kama-da-wane.

Hanyar tare da na'urorin toshe masu zaman kansu suna ba da damar yin amfani da sararin samaniya mafi kyau a cikin tari, kuma yana ƙara ƙarin ƙarin fasali. Misali, ga kowane irin wannan na'urar zaku iya tantance adadin kwafi, wurin su da saitunan kowane mutum. Suna da sauƙin ƙirƙira/share, ɗaukar hoto, sake girman girman, ba da damar ɓoyewa da ƙari mai yawa. Yana da kyau a lura cewa DRBD9 shima yana goyan bayan ƙididdiga, wanda ke ba ku damar guje wa yanayin tsaga-kwakwalwa.

Albarkatu da baya

Lokacin ƙirƙirar sabon na'urar toshe, Linstor yana sanya adadin da ake buƙata na kwafi akan nodes daban-daban a cikin tari. Za mu kira kowane irin wannan kwafin albarkatun DRBD.

Akwai nau'ikan albarkatun guda biyu:

  • Albarkatun bayanai - su ne na'urar DRBD da ke kan kumburi a cikin tafkin LVM ko ZFS.
    A halin yanzu akwai goyon baya ga masu goyon baya da yawa kuma adadin su yana girma kullum. Akwai tallafi ga LVM, ThinLVM da ZFS. Biyu na ƙarshe suna ba ku damar ƙirƙira da amfani da hotuna.
  • Albarkatun diski - na'urar DRBD ce da aka sanya akan kumburi ba tare da baya ba, amma tana ba da damar a kula da ita azaman na'urar toshe ta yau da kullun; duk ayyukan karantawa/rubutu za a karkatar da su zuwa albarkatun bayanai. Analo mafi kusa da albarkatun marasa faifai shine iSCSI LUN.

Kowace albarkatun DRBD na iya samun har zuwa 8 kwafi, kuma ɗayan su ne kawai zai iya aiki ta tsohuwa - primary, kowa zai kasance Secondary kuma amfani da su ba zai yiwu ba muddin akwai aƙalla Primary ɗaya, wato za su yi kwafin bayanai ne kawai a tsakanin su.

Ta hanyar shigar da na'urar DRBD a cikin tsarin, ta zama ta atomatik primary, don haka ko da albarkatun Diskless, a cikin kalmomin DRBD, na iya zama Firamare.

Don haka me yasa kuke buƙatar Linstor?

Ta hanyar ba da dukkan ayyuka masu ƙarfi ga kwaya, Linstor ainihin aikace-aikacen Java ne na yau da kullun wanda ke ba ku damar sarrafa sarrafa albarkatun DRBD cikin sauƙi.
Bugu da ƙari, kowane albarkatun da ya ƙirƙira zai zama gungu na DRBD mai zaman kansa wanda ke aiki da kansa, ba tare da la'akari da yanayin jirgin sama mai sarrafawa da sauran albarkatun DRBD ba.

Linstor ya ƙunshi abubuwa guda biyu kawai:

  • Linstor-mai kula - Babban mai sarrafawa, wanda ke ba da API don ƙirƙira da sarrafa albarkatu. Hakanan yana sadarwa tare da tauraron dan adam, bincika sararin samaniya kyauta akan su, kuma yana aika ayyuka don ƙirƙira da share sabbin albarkatu. Yana gudana a cikin misali guda ɗaya kuma yana amfani da bayanan bayanai, wanda zai iya zama ko dai na ciki (H2) ko na waje (PostgreSQL, MySQL, MariaDB)
  • Linstor- tauraron dan adam - An shigar da shi akan duk nodes ɗin ajiya kuma yana ba mai sarrafawa bayanai game da sarari kyauta, kuma yana yin ayyukan da aka karɓa daga mai sarrafawa don ƙirƙira da share sabbin ƙira da na'urorin DRBD a saman su.

Linstor yana aiki tare da maɓalli masu zuwa:

  • kumburi - uwar garken jiki wanda akansa za'a ƙirƙira da amfani da albarkatun DRBD.
  • Pool Adana - LVM ko ZFS tafkin da aka ƙirƙira akan kumburin da za a samu albarkatun DRBD. Tafki mara faifai kuma yana yiwuwa - wannan tafkin ne wanda kawai albarkatun da ba su da faifai za su kasance a cikinsa.
  • Ma'anar albarkatu - Ma'anar albarkatu shine ainihin samfuri wanda ke bayyana sunan da duk kaddarorinsa.
  • Ma'anar Ƙarar - Ma'anar girma. Kowace hanya na iya ƙunsar ƙira mai yawa, kowane ƙarar dole ne ya kasance yana da girma.
  • Resource - Misalin da aka ƙirƙira na na'urar toshe, kowane albarkatun dole ne a sanya shi akan takamaiman kumburi kuma a cikin wasu wuraren ajiya.

Shigarwa na Linstor

Ina ba da shawarar amfani da Ubuntu azaman tsarin, saboda ... akwai mata shirye PPA:

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

Ko Debian, inda za'a iya shigar da Linstor daga wurin ajiyar hukuma na 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

Mai kula

Komai yana da sauki a nan:

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

Wuraren ajiya

A halin yanzu kernel na Linux yana jigilar kaya tare da tsarin kwaya a cikin itace Farashin 8DRBD, Abin takaici bai dace da mu ba kuma muna buƙatar shigarwa Farashin 9DRBD:

apt-get install drbd-dkms

Kamar yadda aikin ya nuna, yawancin matsaloli suna tasowa daidai saboda an ɗora nauyin DRBD8 a cikin tsarin, kuma ba DRBD9 ba. Abin farin ciki, wannan yana da sauƙin dubawa ta hanyar gudu:

modprobe drbd
cat /proc/drbd

Idan kun gani sigar: 9 - yana nufin komai yana da kyau idan sigar: 8 - yana nufin wani abu ya ɓace kuma kuna buƙatar ɗaukar ƙarin matakai don gano dalilan.

Yanzu bari mu shigar linstor-satellite и drbd - abubuwan amfani:

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

Ƙirƙiri tari

Wuraren ajiya da nodes

A matsayin baya za mu dauka ThinLVM, saboda shi ne mafi sauƙi kuma yana goyan bayan hotuna.
Saiti cikaf2, idan baku riga kuka yi haka ba, bari mu ƙirƙiri wurin tafki na ThinLVM akan duk nodes ɗin ajiyar mu:

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

Ana iya yin duk ƙarin ayyuka kai tsaye akan mai sarrafawa:

Bari mu ƙara nodes:

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

Bari mu ƙirƙiri wuraren ajiya:

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

Yanzu bari mu duba wuraren waha da aka ƙirƙira:

linstor storage-pool list

Idan an yi komai daidai, to ya kamata mu ga wani abu kamar:

------------------------------------------------ ------------------------------------------------- ----+ | StoragePool | Node | Direba | Sunan Pool | Ƙarfin Kyauta | Jimlar Ƙarfin | Yana goyan bayanSnapshots | ------------------------------------------------ -------------------------------------------------- ---| | data | node1 | LVM_THIN | drbdpool/thinpool | 64 Gib | 64 Gib | gaskiya | | data | node2 | LVM_THIN | drbdpool/thinpool | 64 Gib | 64 Gib | gaskiya | | data | nufa3 | LVM_THIN | drbdpool/thinpool | 64 Gib | 64 Gib | gaskiya | ------------------------------------------------ ------------------------------------------------- ----+

albarkatun DRBD

Yanzu bari mu yi ƙoƙarin ƙirƙirar sabon albarkatun mu na DRBD:

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

Bari mu bincika albarkatun da aka ƙirƙira:

linstor resource list 

------------------------------------------------ ------------------------------------------------- ---+ | Node | Albarkatu | StoragePool | VolumeNr | MinorNr | Sunan Na'ura | Kasafta | Amfani | Jiha | ------------------------------------------------ -------------------------------------------------- --| | node1 | myres | data | 0 | 1084 | /dev/drbd1084 | 52 KiB | Mara amfani | Sabuntawa | | node2 | myres | data | 0 | 1084 | /dev/drbd1084 | 52 KiB | Mara amfani | Sabuntawa | ------------------------------------------------ ------------------------------------------------- ---+

Mai girma! - mun ga cewa an ƙirƙiri albarkatun akan nodes biyu na farko, muna kuma iya ƙoƙarin ƙirƙirar albarkatun diski mara amfani akan na uku:

linstor resource create --diskless node3 myres

A nodes koyaushe zaku sami wannan na'urar azaman /dev/drbd1084 ko /dev/drbd/by-res/myres/0

Wannan shine yadda Linstor ke aiki, zaku iya samun ƙarin bayani daga takardun shaida.

Yanzu zan gaya muku yadda ake haɗa shi da OpenNebula

Saita OpenNebula

Ba zan yi zurfi cikin tsarin saitin OpenNebula ba, saboda... An bayyana duk matakan daki-daki a ciki takardun shaida, wanda na ba da shawarar ku tuntuɓar, zan gaya muku kawai game da haɗin gwiwar OpenNebula tare da Linstor.

linstor_un

Don magance wannan matsalar, na rubuta direbana - linstor_un, a halin yanzu yana samuwa azaman plugin kuma dole ne a shigar dashi daban.

Ana aiwatar da duka shigarwa akan nodes na OpenNebula na gaba kuma baya buƙatar ƙarin ayyuka akan nodes ɗin ƙididdigewa.

Da farko, muna bukatar mu tabbatar cewa muna da jq и linstor-abokin ciniki:

apt-get install jq linstor-client

tawagar linstor node list yakamata ya nuna jerin nodes. Duk nodes ɗin ƙididdigewa na OpenNebula dole ne a ƙara su zuwa gungu na Linstor.

Zazzage kuma shigar da 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

Yanzu muna buƙatar ƙara shi zuwa saitunan OpenNebula, don yin wannan muna bin matakai masu sauƙi da aka bayyana a nan.

Sannan sake kunna OpenNebula:

systemctl restart opennebula

Kuma ƙara rumbun adana bayanan mu, tsarin:

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

Kuma shagon hoto:

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

  • Alamar AUTO_PLACE yana nuna adadin kwafin bayanan da za a ƙirƙira don kowane sabon hoto a cikin OpenNebula.
  • Alamar CLONE_MODE yana nuna daidai yadda za a rufe hotuna yayin ƙirƙirar sabbin injina, snapshot - zai ƙirƙiri hoton hoton kuma ya tura injin kama-da-wane daga hoton, copy - zai yi cikakken kwafin hoton don kowane injin kama-da-wane.
  • В BRIDGE_LIST Ana ba da shawarar a saka duk nodes waɗanda za a yi amfani da su don yin ayyukan cloning na hoto.

Don cikakken jerin sigogi masu goyan baya, duba README aikin.

Wannan yana kammala saitin, yanzu zaku iya zazzage wasu kayan aiki daga hukuma Bude Kasuwar Nebula kuma ƙirƙirar injunan kama-da-wane daga gare ta.

Mahaɗin aikin:
https://github.com/OpenNebula/addon-linstor_un

source: www.habr.com

Add a comment