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
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
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
linstor_un
Don magance wannan matsalar, na rubuta direbana -
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
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
Wannan yana kammala saitin, yanzu zaku iya zazzage wasu kayan aiki daga hukuma
Mahaɗin aikin:
source: www.habr.com