LINSTOR yosungirako ndi kuphatikiza kwake ndi OpenNebula

LINSTOR yosungirako ndi kuphatikiza kwake ndi OpenNebula

Osati kale kwambiri, anyamata ochokera ku LINBIT adapereka yankho lawo latsopano la SDS - Linstor. Uku ndikusungira kwaulere kutengera matekinoloje otsimikiziridwa: DRBD, LVM, ZFS. Linstor amaphatikiza kuphweka ndi zomangamanga bwino, zomwe zimakupatsani mwayi wokhazikika komanso zotsatira zochititsa chidwi.

Lero ndikufuna kunena za izi mwatsatanetsatane ndikuwonetsa momwe zingaphatikizidwe mosavuta ndi OpenNebula pogwiritsa ntchito linstor_un - dalaivala watsopano yemwe ndidapanga makamaka chifukwa cha izi.

Linstor kuphatikiza ndi OpenNebula imakupatsani mwayi wopanga mtambo wachangu komanso wodalirika womwe ungagwiritsidwe ntchito mosavuta pazomanga zanu.

Linstor zomangamanga

Linstor si fayilo yamafayilo kapena kutsekereza kusungirako, Linstor ndi oimba omwe amapereka chosanjikiza chomwe chimakupatsani mwayi wopanga ma voliyumu mu LVM kapena ZFS ndikubwereza pogwiritsa ntchito DRBD9.

Kuthetsa malingaliro

Koma dikirani, DRBD? - N'chifukwa chiyani mumagwiritsa ntchito makina ndipo ingagwire ntchito bwanji?

Tiyeni tikumbukire zakale, pomwe DRBD8 inali yotchuka kwambiri. Kugwiritsa ntchito kwake kokhazikika kumaphatikizapo kupanga chida chimodzi chachikulu ndikuchidula m'zidutswa ting'onoting'ono, pogwiritsa ntchito LVM yomweyo. Mtundu wa mdadm RAID-1 koma ndi kubwereza pamaneti.

Njirayi ilibe zovuta zake, chifukwa chake, kubwera kwa DRBD9, mfundo zosungirako zasintha; tsopano chida chapadera cha DRBD chimapangidwa pamakina aliwonse.

Njira yokhala ndi zida zodziyimira pawokha imalola kugwiritsa ntchito bwino malo mgululi, ndikuwonjezeranso zina zambiri. Mwachitsanzo, pazida zilizonse zotere mutha kudziwa kuchuluka kwa zofananira, malo awo ndi zosintha zapayekha. Ndiosavuta kupanga / kufufuta, kujambula zithunzi, kusinthanso kukula, kuyatsa kubisa ndi zina zambiri. Ndizofunikira kudziwa kuti DRBD9 imathandiziranso quorum, yomwe imakupatsani mwayi wopewa kugawanika kwaubongo.

Zida ndi backends

Popanga chida chatsopano cha block, Linstor amayika nambala yofunikira ya zofananira pama node osiyanasiyana pagulu. Tizitcha chilichonse chofananira ngati chida cha DRBD.

Pali mitundu iwiri ya zothandizira:

  • Chida cha data - ndi chipangizo cha DRBD chomwe chili pa node mu dziwe la LVM kapena ZFS.
    Pakalipano pali chithandizo cha ma backend angapo ndipo chiwerengero chawo chikukula nthawi zonse. Pali chithandizo cha LVM, ThinLVM ndi ZFS. Awiri omaliza amakulolani kupanga ndi kugwiritsa ntchito zithunzithunzi.
  • Diskless zothandizira - ndi chipangizo cha DRBD chomwe chimayikidwa pa node popanda kumbuyo, koma kulola kuti chizigwiritsidwa ntchito ngati chipangizo chokhazikika; ntchito zonse zowerengera / kulemba zidzatumizidwa kuzinthu za data. Analogue yapafupi kwambiri kuzinthu zopanda disk ndi iSCSI LUN.

Chida chilichonse cha DRBD chikhoza kukhala ndi zofananira 8, ndipo imodzi yokha ingakhale yogwira ntchito mosakhazikika - chachikulu, ena onse adzakhala Secondary ndipo kugwiritsa ntchito kwawo kudzakhala kosatheka malinga ngati pali Pulayimale imodzi, ndiye kuti, amangobwereza deta pakati pawo.

Pakuyika chipangizo cha DRBD mudongosolo, chimangokhala chachikulu, motero ngakhale chida cha Diskless, mu terminology ya DRBD, chikhoza kukhala Choyambirira.

Ndiye n'chifukwa chiyani mukufuna Linstor?

Popereka ntchito zonse zofunika kwambiri pa kernel, Linstor ndi pulogalamu yanthawi zonse ya Java yomwe imakulolani kuti muzitha kupanga zida za DRBD mosavuta.
Komanso, gwero lililonse lopangidwa ndi iye lidzakhala gulu lodziyimira pawokha la DRBD lomwe limagwira ntchito palokha, mosasamala kanthu za momwe ndegeyo ilili komanso zida zina za DRBD.

Linstor ili ndi zigawo ziwiri zokha:

  • Linstor-wolamulira - Woyang'anira wamkulu, yemwe amapereka API yopanga ndi kuyang'anira zothandizira. Imalumikizananso ndi ma satellite, kuyang'ana malo aulere pa iwo, ndikutumiza ntchito kuti mupange ndikuchotsa zatsopano. Imayendera limodzi ndikugwiritsa ntchito database, yomwe ingakhale yamkati (H2) kapena yakunja (PostgreSQL, MySQL, MariaDB)
  • Linstor-satellite - Imayikidwa pazida zonse zosungiramo ndipo imapatsa wolamulirayo chidziwitso chokhudza malo aulere, komanso amachita ntchito zolandilidwa kuchokera kwa woyang'anira kuti apange ndikuchotsa ma voliyumu atsopano ndi zida za DRBD pamwamba pawo.

Linstor amagwira ntchito ndi mfundo zazikuluzikulu zotsatirazi:

  • Node - seva yakuthupi yomwe zida za DRBD zidzapangidwa ndikugwiritsidwa ntchito.
  • Dziwe Losungira - Dziwe la LVM kapena ZFS lopangidwa pamalo pomwe zida za DRBD zidzapezeka. Dziwe lopanda ma disks lingathenso - ili ndi dziwe momwe zinthu zopanda ma disks zidzapezeka.
  • Tanthauzo la Zida - Tanthauzo la gwero kwenikweni ndi fanizo lomwe limafotokoza dzina ndi zinthu zake zonse.
  • Tanthauzo la Voliyumu - Kutanthauzira kwa voliyumu. Chida chilichonse chingakhale ndi mavoliyumu angapo, voliyumu iliyonse iyenera kukhala ndi kukula kwake.
  • Resource - Chitsanzo chopangidwa cha chipangizo chotchinga, gwero lililonse liyenera kuikidwa pa node inayake komanso mu dziwe lina losungira.

Kukhazikitsa kwa Linstor

Ndikupangira kugwiritsa ntchito Ubuntu ngati dongosolo, chifukwa ... alipo kwa iye okonzeka PPA:

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

Kapena Debian, komwe Linstor atha kukhazikitsidwa kuchokera kumalo ovomerezeka a 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

Mtsogoleri

Zonse ndi zophweka apa:

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

Malo osungira

Linux kernel pakadali pano imatumiza ndi gawo la mkati mwa mtengo Chithunzi cha DRBD8, mwatsoka sizikutiyendera ndipo tifunika kukhazikitsa Chithunzi cha DRBD9:

apt-get install drbd-dkms

Monga momwe zimasonyezera, zovuta zambiri zimachitika ndendende chifukwa module ya DRBD8 imayikidwa mu dongosolo, osati DRBD9. Mwamwayi, izi ndizosavuta kuyang'ana pothamanga:

modprobe drbd
cat /proc/drbd

Ngati mukuwona Mtundu: 9 - zikutanthauza kuti zonse zili bwino ngati Mtundu: 8 - zikutanthauza kuti china chake chalakwika ndipo muyenera kuchitapo kanthu kuti mudziwe zifukwa zake.

Tsopano tiyeni kukhazikitsa satellite ya linstor ΠΈ drbd-utils:

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

Pangani gulu

Maiwe osungira ndi mfundo

Monga backend tidzatenga ThinLVM, chifukwa ndiyosavuta komanso imathandizira zithunzithunzi.
Khazikitsani lvm2 ndi, ngati simunachite kale, tiyeni tipange dziwe la ThinLVM pa malo athu onse osungira:

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

Zochita zina zonse zitha kuchitika mwachindunji pa owongolera:

Tiyeni tiwonjezere mfundo zathu:

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

Tiyeni tipange maiwe osungira:

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

Tsopano tiyeni tiwone malo omwe adapangidwa:

linstor storage-pool list

Ngati zonse zachitika molondola, tiyenera kuona zinthu monga:

+------------------------------------------------ ------------------------------------------------- ----+ | Pool | Node | Driver | Dzina la Pool | FreeCapacity | TotalCapacity | ImathandiziraSnapshots | |---------------------------------------------- - ------------------------------------------------ ---| | | data | node1 | LVM_KUTI | drbdpool/thinpool | 64 Gib | 64 Gib | zoona | | | data | node2 | LVM_KUTI | drbdpool/thinpool | 64 Gib | 64 Gib | zoona | | | data | node3 | LVM_KUTI | drbdpool/thinpool | 64 Gib | 64 Gib | zoona | +------------------------------------------------ ------------------------------------------------- ----+

Zithunzi za DRBD

Tsopano tiyeni tiyese kupanga chida chathu chatsopano cha DRBD:

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

Tiyeni tiwone zomwe zidapangidwa:

linstor resource list 

+------------------------------------------------ ------------------------------------------------- ---+ | Node | Zothandizira | Pool | VolumeNr | MinorNr | DeviceName | Adapatsidwa | Kugwiritsa | State | |---------------------------------------------- - ------------------------------------------------ --| | | node1 | mayi | data | 0 | 1084 | /dev/drbd1084 | 52KiB | Zosagwiritsidwa | UpToDate | | | node2 | mayi | data | 0 | 1084 | /dev/drbd1084 | 52KiB | Zosagwiritsidwa | UpToDate | +------------------------------------------------ ------------------------------------------------- ---+

Zabwino! - tikuwona kuti gwerolo lidapangidwa pamfundo ziwiri zoyambirira, titha kuyesanso kupanga chida chopanda diski pachitatu:

linstor resource create --diskless node3 myres

Pa mfundo nthawi zonse mudzapeza chipangizo ichi ngati /dev/drbd1084 kapena /dev/drbd/by-res/myres/0

Umu ndi momwe Linstor amagwirira ntchito, mutha kudziwa zambiri kuchokera zolemba zovomerezeka.

Tsopano ndikuuzani momwe mungaphatikizire ndi OpenNebula

Kukhazikitsa OpenNebula

Sindidzazama kwambiri pakukhazikitsa kwa OpenNebula, chifukwa ... masitepe onse akufotokozedwa mwatsatanetsatane mu zolemba zovomerezeka, zomwe ndikupangira kuti mulumikizane nazo, ndikungokuuzani za kuphatikiza kwa OpenNebula ndi Linstor.

linstor_un

Kuti ndithetse vutoli, ndinalemba dalaivala wanga - linstor_un, ikupezeka ngati pulogalamu yowonjezera ndipo iyenera kukhazikitsidwa padera.

Kuyika konseko kumachitika pamagawo akutsogolo a OpenNebula ndipo sikufuna kuchitapo kanthu pazowonjezera.

Choyamba, tiyenera kuonetsetsa kuti tili nawo jq ΠΈ linstor-kasitomala:

apt-get install jq linstor-client

timu linstor node list ayenera kusonyeza mndandanda wa mfundo. Node zonse za OpenNebula zowerengera ziyenera kuwonjezeredwa kugulu la Linstor.

Tsitsani ndikuyika pulogalamu yowonjezera:

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

Tsopano tifunika kuwonjezera pa OpenNebula config, kuti tichite izi timatsatira njira zosavuta zomwe zafotokozedwa apa.

Kenako yambitsaninso OpenNebula:

systemctl restart opennebula

Ndipo onjezani masitolo athu, dongosolo:

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

Ndipo sitolo ya zithunzi:

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

  • chizindikiro AUTO_PLACE ikuwonetsa kuchuluka kwa zofananira za data zomwe zidzapangidwe pa chithunzi chilichonse chatsopano mu OpenNebula.
  • chizindikiro CLONE_MODE ikuwonetsa ndendende momwe zithunzi zidzapangidwira popanga makina atsopano, snapshot - ipanga chithunzithunzi cha chithunzicho ndikuyika makina enieni kuchokera pachithunzichi, copy - adzapanga chithunzi chonse pa makina aliwonse.
  • Π’ BRIDGE_LIST Ndibwino kuti mutchule ma node onse omwe adzagwiritsidwe ntchito popanga zithunzi.

Kuti muwone mndandanda wathunthu wamagawo othandizira, onani YERENGANI polojekiti.

Izi zimamaliza kukhazikitsa, tsopano mutha kutsitsa zida zina kuchokera kwa akuluakulu OpenNebula Marketplace ndikupanga makina enieni kuchokera pamenepo.

Ulalo wa polojekiti:
https://github.com/OpenNebula/addon-linstor_un

Source: www.habr.com

Kuwonjezera ndemanga