Stòradh LINSTOR agus an aonachadh le OpenNebula

Stòradh LINSTOR agus an aonachadh le OpenNebula

O chionn ghoirid, thaisbean na balaich bho LINBIT am fuasgladh SDS ùr aca - Linstor. Is e stòradh gu tur an-asgaidh a tha seo stèidhichte air teicneòlasan dearbhte: DRBD, LVM, ZFS. Bidh Linstor a ’cothlamadh sìmplidheachd agus ailtireachd air a dheagh dhealbhadh, a leigeas leat seasmhachd agus toraidhean gu math drùidhteach a choileanadh.

An-diugh bu mhath leam bruidhinn mu dheidhinn ann am beagan nas mionaidiche agus sealltainn cho furasta ‘s as urrainn dha a bhith air fhilleadh a-steach le OpenNebula a’ cleachdadh linstor_un - draibhear ùr a leasaich mi gu sònraichte airson an adhbhair seo.

Leigidh Linstor còmhla ri OpenNebula leat sgòth luath is earbsach a thogail a ghabhas cleachdadh gu furasta air a’ bhun-structar agad fhèin.

Linstor ailtireachd

Chan e siostam faidhle no stòradh bloca a th’ ann an Linstor per se, tha Linstor na orcastra a bheir seachad còmhdach tarraing a leigeas leat cruthachadh leabhraichean ann an LVM no ZFS a dhèanamh fèin-ghluasadach agus an ath-riochdachadh le bhith a’ cleachdadh DRBD9.

Briseadh stereotypes

Ach fuirich, DRBD? - Carson a nì thu fèin-ghluasad agus ciamar as urrainn dha eadhon obrachadh?

Cuimhnichidh sinn an àm a dh'fhalbh, nuair a bha fèill mhòr air DRBD8. Bha an cleachdadh àbhaisteach aige a’ toirt a-steach cruthachadh aon inneal bloca mòr agus ga ghearradh ann am mòran phìosan beaga, a’ cleachdadh an aon LVM. Seòrsa de mdadm RAID-1 ach le ath-riochdachadh thairis air an lìonra.

Chan eil an dòigh-obrach seo às aonais na h-eas-bhuannachdan aige, agus mar sin, le teachd DRBD9, tha prionnsapalan dealbhadh stòraidh air atharrachadh; a-nis tha inneal DRBD air leth air a chruthachadh airson gach inneal brìgheil.

Tha an dòigh-obrach le innealan bloca neo-eisimeileach a 'ceadachadh àite nas fheàrr a chleachdadh anns a' bhuidheann, agus cuideachd a 'cur grunn fheartan a bharrachd ris. Mar eisimpleir, airson gach inneal mar sin faodaidh tu an àireamh de mhac-samhail a dhearbhadh, an suidheachadh agus na roghainnean fa leth. Tha iad furasta an cruthachadh / cuir às, dealbhan a thogail, ath-mheudachadh, crioptachadh a chomasachadh agus mòran a bharrachd. Is fhiach a bhith mothachail gu bheil DRBD9 cuideachd a 'toirt taic do chuòram, a leigeas leat suidheachaidhean roinnte-eanchainn a sheachnadh.

Cùl-fhiosrachadh agus goireasan

Nuair a bhios iad a’ cruthachadh inneal bloca ùr, bidh Linstor a’ cur an àireamh de mhac-samhail a tha a dhìth air diofar nodan sa bhuidheann. Canaidh sinn goireas DRBD ri gach mac-samhail den leithid.

Tha dà sheòrsa de ghoireasan ann:

  • Stòr dàta - nan inneal DRBD a tha suidhichte air nód ann an amar LVM no ZFS.
    Aig an àm seo tha taic ann airson grunn backends agus tha an àireamh aca a’ sìor fhàs. Tha taic ann airson LVM, ThinLVM agus ZFS. Leigidh an dhà mu dheireadh leat dealbhan a chruthachadh agus a chleachdadh.
  • Stòr gun diosc - na inneal DRBD air a chuir air nód gun backend, ach a leigeas leis a bhith air a làimhseachadh mar inneal bloca cunbhalach; thèid a h-uile gnìomhachd leughaidh / sgrìobhaidh ath-stiùireadh gu goireasan dàta. Is e iSCSI LUN an analogue as fhaisge air goireasan gun diosc.

Faodaidh suas ri 8 mac-samhail a bhith aig gach goireas DRBD, agus chan urrainn ach aon dhiubh a bhith gnìomhach gu bunaiteach - Bun-sgoil, bithidh a h-uile duine eile Àrd-sgoil agus bidh an cleachdadh do-dhèanta fhad ‘s a tha co-dhiù aon Bhun-sgoil ann, is e sin, bidh iad dìreach ag ath-aithris dàta eatorra fhèin.

Le bhith a’ stàladh inneal DRBD a-steach don t-siostam, thig e gu fèin-ghluasadach Bun-sgoil, mar sin faodaidh eadhon goireas Diskless, ann am briathrachas DRBD, a bhith na bhun-sgoil.

Mar sin carson a tha feum agad air Linstor?

Le bhith a’ toirt earbsa do gach gnìomh a tha dian air goireasan don kernel, tha Linstor gu ìre mhòr na thagradh Java cunbhalach a leigeas leat cruthachadh ghoireasan DRBD gu fèin-ghluasadach.
A bharrachd air an sin, bidh gach goireas a chruthaicheas e na bhuidheann DRBD neo-eisimeileach a bhios ag obair gu neo-eisimeileach, ge bith dè an suidheachadh anns a bheil an itealan smachd agus goireasan DRBD eile.

Chan eil ann an Linstor ach dà phàirt:

  • Linstor-smachd - Am prìomh rianadair, a bheir seachad API airson cruthachadh agus riaghladh ghoireasan. Bidh e cuideachd a’ conaltradh le saidealan, a’ cumail sùil air an àite saor orra, agus a’ cur ghnìomhan air adhart gus goireasan ùra a chruthachadh agus a dhubhadh às. Bidh e a 'ruith ann an aon suidheachadh agus a' cleachdadh stòr-dàta, a dh'fhaodas a bhith taobh a-staigh (H2) no taobh a-muigh (PostgreSQL, MySQL, MariaDB)
  • Linstor-saideal - Air a chuir a-steach air a h-uile nod stòraidh agus a ’toirt fiosrachadh don rianadair mu àite an-asgaidh, agus cuideachd a’ coileanadh gnìomhan a fhuaireadh bhon rianadair gus meudan ùra agus innealan DRBD a chruthachadh agus a dhubhadh às.

Tha Linstor ag obair leis na prìomh bhun-bheachdan a leanas:

  • Node - frithealaiche fiosaigeach air an tèid goireasan DRBD a chruthachadh agus a chleachdadh.
  • Amar stòraidh - Amar LVM no ZFS air a chruthachadh air an nód anns am bi goireasan DRBD suidhichte. Tha amar gun diosc comasach cuideachd - is e seo amar anns nach bi ach goireasan gun diosc air an suidheachadh.
  • Mìneachadh Stòras - Tha mìneachadh air goireas gu ìre mhòr na prototype a tha a’ toirt cunntas air an ainm agus a fheartan gu lèir.
  • Mìneachadh Tomhais - Mìneachadh meud. Faodaidh grunn leabhraichean a bhith anns gach goireas, feumaidh meud a bhith aig gach leabhar.
  • Stòrais - Eisimpleir cruthaichte de inneal bloca, feumar gach goireas a chuir air nód sònraichte agus ann an cuid de amar stòraidh.

Stàladh Linstor

Tha mi a’ moladh Ubuntu a chleachdadh mar shiostam, oir... ann dhi PPA deiseil:

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

No Debian, far am faodar Linstor a chuir a-steach bhon stòr oifigeil airson 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

rianadair

Tha a h-uile dad sìmplidh an seo:

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

Nithean stòraidh

Tha an kernel Linux an-dràsta a’ dol le modal kernel in-tree DRBD8, gu mì-fhortanach chan eil e freagarrach dhuinn agus feumaidh sinn a stàladh DRBD9:

apt-get install drbd-dkms

Mar a tha cleachdadh a’ sealltainn, bidh a’ mhòr-chuid de dhuilgheadasan ag èirigh dìreach leis gu bheil am modal DRBD8 air a luchdachadh a-steach don t-siostam, agus chan e DRBD9. Gu fortanach, tha e furasta seo a dhearbhadh le bhith a 'ruith:

modprobe drbd
cat /proc/drbd

Ma chì thu dreach: 9 - tha e a 'ciallachadh gu bheil a h-uile dad gu math ma tha dreach: 8 - tha e a 'ciallachadh gun deach rudeigin ceàrr agus feumaidh tu ceumannan a bharrachd a ghabhail gus faighinn a-mach na h-adhbharan.

A-nis leig dhuinn a stàladh linstor-saideal и drbd-utils:

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

Cruthaich brabhsair

Amaran stòraidh agus nodan

Mar chùl-raon bheir sinn ThinLVM, oir is e seo an rud as sìmplidh agus a’ toirt taic do dhealbhan.
Stàlaich lvm2, mura h-eil thu air sin a dhèanamh mu thràth, cruthaichidh sinn amar ThinLVM air na nodan stòraidh againn gu lèir:

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

Faodar a h-uile gnìomh eile a dhèanamh gu dìreach air an rianadair:

Nach cuir sinn na nodan againn:

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

Nach cruthaich sinn amaran stòraidh:

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

A-nis leig dhuinn sùil a thoirt air na linneachan cruthaichte:

linstor storage-pool list

Ma thèid a h-uile càil a dhèanamh ceart, bu chòir dhuinn rudeigin mar seo fhaicinn:

+---------------------------------------------- ------------------------------------------------ ----+ | StoragePool | Nod | dràibhear | Ainm Linn | Saorsa | Comas iomlan | A’ cur taic ri Snapshots | |---------------------------------------------- ------------------------------------------------ ---| | dàta | nod 1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | fìor | | dàta | nod2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | fìor | | dàta | nod3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | fìor | +---------------------------------------------- ------------------------------------------------ ----+

Stòran DRBD

A-nis feuchaidh sinn ris an goireas DRBD ùr againn a chruthachadh:

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

Feuch an toir sinn sùil air na goireasan a chaidh a chruthachadh:

linstor resource list 

+---------------------------------------------- ------------------------------------------------ ---+ | Nod | Goireas | StoragePool | ToirtNr | MionNr | Ainm an uidheim | Air a riarachadh | Cleachdadh | Stàite | |---------------------------------------------- ------------------------------------------------ --| | nod 1 | mires | dàta | 0 | 1084 | /dev/drbd1084 | 52 KiB | Gun chleachdadh | SuasToDate | | nod2 | mires | dàta | 0 | 1084 | /dev/drbd1084 | 52 KiB | Gun chleachdadh | SuasToDate | +---------------------------------------------- ------------------------------------------------ ---+

Sgoinneil! - chì sinn gun deach an goireas a chruthachadh air a’ chiad dà nod, is urrainn dhuinn cuideachd feuchainn ri goireas gun diosc a chruthachadh air an treas:

linstor resource create --diskless node3 myres

Air nodan gheibh thu an-còmhnaidh an inneal seo mar /dev/drbd1084 no /dev/drbd/by-res/myres/0

Seo mar a tha Linstor ag obair, gheibh thu barrachd fiosrachaidh bho sgrìobhainnean oifigeil.

A-nis innsidh mi dhut mar a nì thu aonachadh le OpenNebula

A’ stèidheachadh OpenNebula

Cha tèid mi ro dhomhainn a-steach don phròiseas rèiteachaidh OpenNebula, oir ... tha a h-uile ceum air a mhìneachadh gu mionaideach ann an sgrìobhainnean oifigeil, ris am bi mi a’ moladh fios a chuir thu, chan innis mi dhut ach mu aonachadh OpenNebula le Linstor.

linstor_un

Gus an duilgheadas seo fhuasgladh, sgrìobh mi an draibhear agam fhìn - linstor_un, tha e ri fhaighinn mar plugan an-dràsta agus feumar a chuir a-steach air leth.

Tha an stàladh gu lèir air a dhèanamh air na nodan aghaidh OpenNebula agus chan eil feum air gnìomhan a bharrachd air na nodan coimpiutaireachd.

An toiseach, feumaidh sinn dèanamh cinnteach gu bheil sin againn jq и linstor-client:

apt-get install jq linstor-client

sgioba linstor node list bu chòir liosta de nodan a thaisbeanadh. Feumar a h-uile nod coimpiutaireachd OpenNebula a chur ri cruinneachadh Linstor.

Luchdaich sìos agus stàlaich am plugan:

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

A-nis feumaidh sinn a chuir ris an OpenNebula config, gus seo a dhèanamh lean sinn na ceumannan sìmplidh a chaidh a mhìneachadh an seo.

An uairsin ath-thòisich OpenNebula:

systemctl restart opennebula

Agus cuir ris na stòran-dàta againn, an siostam:

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

Agus stòr nan dealbhan:

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

  • Parameter AUTO_PLACE a’ taisbeanadh an àireamh de mhac-samhail dàta a thèid a chruthachadh airson gach ìomhaigh ùr ann an OpenNebula.
  • Parameter CLONE_MODE a’ nochdadh gu dìreach mar a thèid ìomhaighean a ghleusadh nuair a bhios iad a’ cruthachadh innealan brìgheil ùra, snapshot - cruthaichidh e dealbh den ìomhaigh agus cleachdaidh e inneal brìgheil bhon dealbh, copy - nì e leth-bhreac iomlan den ìomhaigh airson gach inneal brìgheil.
  • В BRIDGE_LIST Thathas a’ moladh a h-uile nod a shònrachadh a thèid a chleachdadh gus obair clonadh ìomhaighean a dhèanamh.

Airson liosta iomlan de pharamadairean le taic, faic LEASACHADH pròiseict.

Cuiridh seo crìoch air an stèidheachadh, a-nis faodaidh tu cuid de dh’ inneal a luchdachadh sìos bhon oifigear Margaidh OpenNebula agus cruthaich innealan mas-fhìor bhuaithe.

Ceangal pròiseict:
https://github.com/OpenNebula/addon-linstor_un

Source: www.habr.com

Cuir beachd ann