LINSTOR mālama a me kona hui pū ʻana me OpenNebula

LINSTOR mālama a me kona hui pū ʻana me OpenNebula

ʻAʻole i liʻuliʻu, ua hōʻike nā kāne mai LINBIT i kā lākou hoʻonā SDS hou - Linstor. He waihona manuahi piha kēia e pili ana i nā ʻenehana i hōʻoia ʻia: DRBD, LVM, ZFS. Hoʻohui ʻo Linstor i ka maʻalahi a me ka hoʻolālā maikaʻi ʻana, e hiki ai iā ʻoe ke hoʻokō i ka paʻa a me nā hopena hoihoi.

I kēia lā makemake wau e kamaʻilio e pili ana iā ia ma kahi kikoʻī liʻiliʻi a hōʻike i ka maʻalahi hiki ke hoʻohui ʻia me OpenNebula me ka hoʻohana ʻana i ka linstor_un - kahi mea hoʻokele hou aʻu i kūkulu pono ai no kēia kumu.

ʻO Linstor i hui pū me OpenNebula hiki iā ʻoe ke kūkulu i kahi ao wikiwiki a hilinaʻi i hiki ke maʻalahi i ka hoʻoili ʻia ma kāu ʻoihana ponoʻī.

ʻO Linstor architecture

ʻAʻole ʻo Linstor kahi ʻōnaehana faila a ʻaʻole hoʻopaʻa paʻa i kēlā me kēia, ʻo Linstor kahi orchestrator e hāʻawi i kahi papa abstraction e hiki ai iā ʻoe ke hoʻokaʻawale i ka hana ʻana o nā puke ma LVM a i ʻole ZFS a hoʻopili iā lākou me ka hoʻohana ʻana iā DRBD9.

Haʻihaʻi manaʻo

Akā e kali, DRBD? - No ke aha e hoʻokaʻawale ai a pehea e hana ai?

E hoʻomanaʻo kākou i ka wā i hala, i ka wā i kaulana loa ai ʻo DRBD8. ʻO kāna hoʻohana maʻamau ka hana ʻana i hoʻokahi mea poloka nui a ʻoki ʻia i loko o nā ʻāpana liʻiliʻi he nui, me ka hoʻohana ʻana i ka LVM like. ʻO kahi ʻano mdadm RAID-1 akā me ka replication ma luna o ka pūnaewele.

ʻAʻole kēia ala me kāna mau drawbacks, a no laila, me ka hiki ʻana mai o DRBD9, ua loli nā loina o ka hoʻolālā mālama; i kēia manawa ua hana ʻia kahi mea DRBD ʻokoʻa no kēlā me kēia mīkini virtual.

ʻO ka hoʻokokoke me nā mea poloka kūʻokoʻa e hiki ai i ka hoʻohana maikaʻi ʻana i ka lewa i loko o ka pūʻulu, a hoʻohui pū i kekahi mau hiʻohiʻona hou. No ka laʻana, no kēlā me kēia hāmeʻa hiki iā ʻoe ke hoʻoholo i ka helu o nā replicas, ko lākou wahi a me nā hoʻonohonoho pilikino. Maʻalahi lākou e hana / holoi, lawe i nā kiʻi paʻi, hoʻololi i ka nui, hiki i ka hoʻopili ʻana a me nā mea hou aku. He mea pono e hoʻomaopopo i ke kākoʻo pū ʻana o DRBD9 i ka quorum, e hiki ai iā ʻoe ke pale i nā kūlana split-brain.

Nā kumuwaiwai a me nā hope

I ka hana ʻana i kahi mea poloka hou, waiho ʻo Linstor i ka helu i makemake ʻia o nā replicas ma nā node like ʻole o ka pūʻulu. E kapa mākou i kēlā me kēia kope he kumu DRBD.

ʻElua ʻano waiwai:

  • Punaʻikepili - he mea DRBD aia ma kahi node i loko o kahi loko LVM a i ʻole ZFS.
    I kēia manawa aia ke kākoʻo no kekahi mau backends a ke ulu mau nei kā lākou helu. Aia ke kākoʻo no LVM, ThinLVM a me ZFS. ʻO nā mea hope ʻelua e ʻae iā ʻoe e hana a hoʻohana i nā snapshot.
  • punawai diskless - he mea hana DRBD i kau ʻia ma kahi node me ka ʻole o ke kua, akā e ʻae ʻia e mālama ʻia ma ke ʻano he mea poloka maʻamau; e hoʻihoʻi ʻia nā hana heluhelu/kākau a pau i nā kumuwaiwai ʻikepili. ʻO ka mea hoʻohālikelike kokoke loa i nā kumuwaiwai diskless ʻo iSCSI LUN.

Hiki i kēlā me kēia kumuwaiwai DRBD ke loaʻa a hiki i ka 8 replicas, a hoʻokahi wale nō o lākou hiki ke hana ma ke ʻano maʻamau - n, nā mea ʻē aʻe a pau Secondary a ʻaʻole hiki ke hoʻohana ʻia inā loaʻa kahi kula mua, ʻo ia hoʻi, e hana hou lākou i ka ʻikepili ma waena o lākou.

Ma ka hoʻokomo ʻana i kahi mea DRBD i loko o ka ʻōnaehana, lilo ia n, no laila ʻo kahi punawai Diskless, ma nā huaʻōlelo DRBD, hiki ke Primary.

No laila no ke aha ʻoe e pono ai iā Linstor?

Ma ka hāʻawi ʻana i nā hana koʻikoʻi waiwai āpau i ka kernel, ʻo Linstor kahi palapala Java maʻamau e hiki ai iā ʻoe ke maʻalahi i ka hana ʻana i nā kumuwaiwai DRBD.
Eia kekahi, ʻo kēlā me kēia kumuwaiwai i hana ʻia e ia he pūʻulu DRBD kūʻokoʻa e hana kūʻokoʻa, me ka nānā ʻole i ke kūlana o ka mokulele hoʻokele a me nā kumuwaiwai DRBD ʻē aʻe.

ʻElua wale nō ʻāpana o Linstor:

  • Linstor-hooponopono - ʻO ka mea hoʻoponopono nui, e hāʻawi ana i kahi API no ka hana ʻana a me ka hoʻokele waiwai. E kamaʻilio pū me nā satelite, e nānā ana i ka hakahaka o lākou, a hoʻouna i nā hana e hana a holoi i nā kumuwaiwai hou. E holo ana ia i hoʻokahi manawa a hoʻohana i kahi waihona, hiki ke lilo i loko (H2) a i waho paha (PostgreSQL, MySQL, MariaDB)
  • Linstor-satellite - Hoʻokomo ʻia ma nā nodes mālama āpau a hāʻawi i ka mea hoʻokele me ka ʻike e pili ana i ka lewa manuahi, a hana pū i nā hana i loaʻa mai ka mea hoʻoponopono e hana a kāpae i nā puke hou a me nā polokalamu DRBD ma luna o lākou.

Hana ʻo Linstor me kēia mau manaʻo nui:

  • wahi - kahi kikowaena kino kahi e hana ʻia ai a hoʻohana ʻia nā kumuwaiwai DRBD.
  • Waihona Waiwai - LVM a i ʻole ZFS pool i hana ʻia ma ka node kahi e loaʻa ai nā kumuwaiwai DRBD. Hiki nō hoʻi ke ʻauʻau diskless - he loko kēia kahi e loaʻa ai nā kumuwaiwai diskless wale nō.
  • Wehewehe Punawai — ʻO ka wehewehe ʻana o kahi kumuwaiwai he prototype ia e wehewehe ana i ka inoa a me kona mau waiwai a pau.
  • Ka wehewehe Volume — Ka wehewehe leo. Hiki i kēlā me kēia kumuwaiwai ke loaʻa i nā puke he nui, pono ka nui o kēlā me kēia leo.
  • mau - He mea i hana ʻia o kahi mea poloka, pono e kau ʻia kēlā me kēia kumu waiwai ma kahi node kikoʻī a i loko o kekahi loko waihona.

Hoʻokomo ʻia ʻo Linstor

Manaʻo wau e hoʻohana iā Ubuntu ma ke ʻano he ʻōnaehana, no ka mea ... aia no ia mākaukau PPA:

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

A i ʻole Debian, kahi e hiki ai ke hoʻokomo ʻia ʻo Linstor mai ka waihona mana no 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

eiioeieeae

He mea maʻalahi nā mea a pau maʻaneʻi:

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

Nā node mālama

Hoʻouna ʻia ka Linux kernel i kēia manawa me kahi module kernel in-tree DRBD8, ʻaʻole kūpono ia iā mākou a pono mākou e hoʻokomo DRBD9:

apt-get install drbd-dkms

E like me ka hoʻomaʻamaʻa hōʻike ʻana, ʻoi aku ka nui o nā pilikia no ka mea ua hoʻouka ʻia ka module DRBD8 i ka ʻōnaehana, ʻaʻole DRBD9. ʻO ka mea pōmaikaʻi, maʻalahi kēia e nānā ma ka holo ʻana:

modprobe drbd
cat /proc/drbd

Inā ʻike ʻoe lākaʻa: 9 - ʻo ia hoʻi ua maikaʻi nā mea a pau inā lākaʻa: 8 - ʻo ia hoʻi ua hewa kekahi mea a pono ʻoe e hana i nā hana hou e ʻike ai i nā kumu.

I kēia manawa e hoʻokomo kāua linstor-satellite и drbd-utils:

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

E hana i kahi hui

ʻO nā loko wai a me nā nodes

Ma ke ʻano he backend mākou e lawe ThinLVM, no ka mea ʻo ia ka mea maʻalahi a kākoʻo i nā kiʻi paʻi.
Kau lvm2, inā ʻaʻole ʻoe i hana pēlā, e hana kāua i kahi punawai ThinLVM ma kā mākou mau node waihona:

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

Hiki ke hoʻokō pololei ʻia nā hana hou aʻe ma luna o ka mea hoʻoponopono:

E hoʻohui i kā mākou mau 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

E hana kākou i nā loko waihona:

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

I kēia manawa, e nānā kākou i nā loko i hana ʻia:

linstor storage-pool list

Inā hana pololei nā mea a pau, pono mākou e ʻike i kekahi mea e like me:

+------------------------------------------------ ------------------------------------------------- ----+ | StoragePool | Node | Keaukaha | PoolIme | Kahiki manuahi | Huina Nui | Kākoʻo Nā Kiʻi Paʻi | |------------------------------------------------ - ------------------------------------------------- - ---| | ʻikepili | node1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | oiaio | | ʻikepili | node2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | oiaio | | ʻikepili | node3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | oiaio | +------------------------------------------------ ------------------------------------------------- ----+

Nā kumuwaiwai DRBD

I kēia manawa e hoʻāʻo mākou e hana i kā mākou kumuwaiwai DRBD hou:

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

E nānā kākou i nā kumuwaiwai i hana ʻia:

linstor resource list 

+------------------------------------------------ ------------------------------------------------- ---+ | Node | Punawai | StoragePool | VolumeNr | MinorNr | Inoa Pūnaewele | Hāʻawi ʻia | Hoohana | Mokuaina | |------------------------------------------------ - ------------------------------------------------- - --| | node1 | myres | ʻikepili | 0 | 1084 | /dev/drbd1084 | 52 KiB | Hoohana ole | UpToDate | | node2 | myres | ʻikepili | 0 | 1084 | /dev/drbd1084 | 52 KiB | Hoohana ole | UpToDate | +------------------------------------------------ ------------------------------------------------- ---+

Nui! — ʻike mākou ua hana ʻia ka punawai ma nā node mua ʻelua, hiki iā mākou ke hoʻāʻo e hana i kahi kumu diskless ma ke kolu:

linstor resource create --diskless node3 myres

Ma nā nodes e ʻike mau ʻoe i kēia hāmeʻa e like me /dev/drbd1084 ai ole ia, /dev/drbd/by-res/myres/0

ʻO kēia ke ʻano o ka hana ʻana o Linstor, hiki iā ʻoe ke loaʻa ka ʻike hou aku mai palapala kūhelu.

I kēia manawa e haʻi wau iā ʻoe pehea e hoʻohui ai me OpenNebula

Hoʻonohonoho i ka OpenNebula

ʻAʻole au e hele hohonu i ke kaʻina hana hoʻonohonoho OpenNebula, no ka mea... ua wehewehe kikoʻī ʻia nā ʻanuʻu a pau ma palapala kūhelu, a'u e paipai aku nei ia oe e hoopili aku, e hai wale aku au ia oe e pili ana i ka hoohui ana o OpenNebula me Linstor.

linstor_un

No ka hoʻoponopono ʻana i kēia pilikia, ua kākau wau i kaʻu mea hoʻokele ponoʻī - linstor_un, loaʻa ia i kēia manawa ma ke ʻano he plugin a pono e hoʻokomo kaʻawale.

Hoʻokō ʻia ka hoʻonohonoho holoʻokoʻa ma nā nodes OpenNebula mua a ʻaʻole koi i nā hana hou ma nā nodes compute.

ʻO ka mea mua, pono mākou e hōʻoia i loaʻa iā mākou jq и linstor-mea kūʻai:

apt-get install jq linstor-client

hui linstor node list pono e hōʻike i kahi papa inoa o nā nodes. Pono e hoʻohui ʻia nā node compute OpenNebula a pau i ka hui Linstor.

Hoʻoiho a hoʻokomo i ka 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

I kēia manawa pono mākou e hoʻohui iā ia i ka OpenNebula config, no ka hana ʻana i kēia, hahai mākou i nā ala maʻalahi i wehewehe ʻia maanei.

A laila hoʻomaka hou OpenNebula:

systemctl restart opennebula

A hoʻohui i kā mākou waihona waihona, ʻōnaehana:

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

A me ka hale kūʻai kiʻi:

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

  • ʻO ka pākuhi AUTO_PLACE hōʻike i ka helu o nā replicas ʻikepili e hana ʻia no kēlā me kēia kiʻi hou ma OpenNebula.
  • ʻO ka pākuhi CLONE_MODE hōʻike pololei i ke ʻano o ka hoʻopili ʻia ʻana o nā kiʻi i ka wā e hana ai i nā mīkini virtual hou, snapshot - e hana i kahi kiʻi o ke kiʻi a kau i kahi mīkini virtual mai ke kiʻi, copy - e hana i kope piha o ke kiʻi no kēlā me kēia mīkini virtual.
  • В BRIDGE_LIST Manaʻo ʻia e kuhikuhi i nā node a pau e hoʻohana ʻia e hana i nā hana cloning kiʻi.

No ka papa inoa piha o nā ʻāpana i kākoʻo ʻia, e ʻike README papahana.

Hoʻopau kēia i ka hoʻonohonoho, hiki iā ʻoe ke hoʻoiho i kekahi mea hana mai ka luna Mākeke OpenNebula a hana i nā mīkini virtual mai ia mea.

loulou papahana:
https://github.com/OpenNebula/addon-linstor_un

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka