LINSTOR cia thiab nws kev koom ua ke nrog OpenNebula

LINSTOR cia thiab nws kev koom ua ke nrog OpenNebula

Tsis ntev tas los no, cov hais mav los ntawm LINBIT tau nthuav tawm lawv cov kev daws teeb meem tshiab SDS - Linstor. Qhov no yog qhov chaw cia dawb kiag li raws li cov thev naus laus zis pov thawj: DRBD, LVM, ZFS. Linstor ua ke nrog kev yooj yim thiab tsim qauv zoo nkauj, uas tso cai rau koj kom ua tiav kev ruaj ntseg thiab ua tau zoo heev.

Hnub no kuv xav tham txog nws me ntsis ntxiv thiab qhia tau yooj yim npaum li cas nws tuaj yeem ua ke nrog OpenNebula siv linstor_un - tus tsav tsheb tshiab uas kuv tau tsim tshwj xeeb rau lub hom phiaj no.

Linstor ua ke nrog OpenNebula tso cai rau koj los tsim kom muaj huab cua ceev thiab txhim khu kev qha uas tuaj yeem siv tau yooj yim ntawm koj tus kheej cov txheej txheem.

Linstor architecture

Linstor tsis yog cov ntaub ntawv kaw lus lossis thaiv qhov chaw cia, Linstor yog tus kws tshaj lij uas muab txheej txheej abstraction uas tso cai rau koj los tsim cov khoom ntim hauv LVM lossis ZFS thiab rov ua dua lawv siv DRBD9.

Ua txhaum stereotypes

Tab sis tos, DRBD? - Vim li cas automate nws thiab yuav ua li cas nws txawm ua haujlwm?

Cia peb nco txog yav dhau los, thaum DRBD8 tau nrov heev. Nws tus qauv siv koom nrog tsim ib qho khoom thaiv loj thiab txiav nws mus rau ntau daim me me, siv tib LVM. Ib hom mdadm RAID-1 tab sis nrog replication hla lub network.

Txoj hauv kev no tsis yog yam tsis muaj qhov tsis zoo, thiab yog li ntawd, nrog rau qhov tshwm sim ntawm DRBD9, cov hauv paus ntsiab lus ntawm kev tsim qauv tau hloov pauv; tam sim no ib qho khoom siv DRBD cais tau tsim rau txhua lub tshuab virtual.

Txoj hauv kev nrog kev ywj pheej thaiv cov cuab yeej tso cai rau kev siv qhov chaw zoo dua hauv pawg, thiab tseem ntxiv ntau yam ntxiv. Piv txwv li, rau txhua lub cuab yeej zoo li no koj tuaj yeem txiav txim siab tus naj npawb ntawm replicas, lawv qhov chaw thiab qhov chaw ntawm tus kheej. Lawv yooj yim los tsim / rho tawm, nqa snapshots, resize, pab kom encryption thiab ntau ntxiv. Nws yog ib qho tsim nyog sau cia tias DRBD9 kuj txhawb nqa pawg, uas tso cai rau koj kom tsis txhob muaj kev sib cais ntawm lub hlwb.

Resources thiab backends

Thaum tsim cov cuab yeej thaiv tshiab, Linstor tso cov lej uas yuav tsum tau ua rau ntawm cov nodes sib txawv hauv pawg. Peb yuav hu rau txhua qhov replica DRBD.

Muaj ob hom kev pab:

  • Cov ntaub ntawv - yog DRBD ntaus ntawv nyob rau ntawm ib qho ntawm lub LVM lossis ZFS pas dej.
    Lub sijhawm tam sim no muaj kev txhawb nqa rau ob peb lub backends thiab lawv cov lej tau nce mus tas li. Muaj kev txhawb nqa rau LVM, ThinLVM thiab ZFS. Qhov kawg ob tso cai rau koj los tsim thiab siv snapshots.
  • Diskless kev pab - yog lub cuab yeej DRBD tso rau ntawm qhov tsis muaj qhov backend, tab sis cia nws raug kho raws li cov cuab yeej thaiv tsis tu ncua; txhua qhov kev nyeem / sau ua haujlwm yuav raug xa mus rau cov ntaub ntawv cov ntaub ntawv. Qhov ze tshaj analogue rau cov khoom siv tsis muaj disk yog iSCSI LUN.

Txhua DRBD cov peev txheej tuaj yeem muaj txog li 8 qhov kev hloov pauv, thiab tsuas yog ib qho ntawm lawv tuaj yeem ua haujlwm los ntawm lub neej ntawd - Primary, lwm tus yuav yog Secondary thiab lawv cov kev siv yuav ua tsis tau yog tias muaj tsawg kawg yog ib qho Kev Pabcuam Tseem Ceeb, uas yog, lawv yuav tsuas luam cov ntaub ntawv ntawm lawv tus kheej.

Los ntawm kev txhim kho DRBD ntaus ntawv rau hauv lub system, nws cia li ua Primary, yog li txawm tias Diskless cov peev txheej, hauv DRBD terminology, tuaj yeem yog qhov tseem ceeb.

Yog li vim li cas koj thiaj xav tau Linstor?

Los ntawm kev tso siab rau tag nrho cov peev txheej ua haujlwm hnyav rau cov ntsiav, Linstor yog qhov tseem ceeb ntawm Java daim ntawv thov uas tso cai rau koj kom yooj yim automate tsim cov peev txheej DRBD.
Ntxiv mus, txhua qhov peev txheej tsim los ntawm nws yuav yog ib pawg DRBD ywj pheej uas ua haujlwm ntawm nws tus kheej, tsis hais lub xeev ntawm kev tswj-dav dav hlau thiab lwm yam kev pabcuam DRBD.

Linstor tsuas muaj ob yam khoom:

  • Linstor-controller - Tus tswj hwm tseem ceeb, uas muab API rau kev tsim thiab tswj cov peev txheej. Nws kuj tseem sib txuas lus nrog satellites, tshawb xyuas qhov chaw dawb ntawm lawv, thiab xa cov dej num los tsim thiab tshem tawm cov peev txheej tshiab. Nws khiav hauv ib qho piv txwv thiab siv cov ntaub ntawv, uas tuaj yeem yog sab hauv (H2) lossis sab nraud (PostgreSQL, MySQL, MariaDB)
  • Linstor-satellite - Nruab rau ntawm txhua qhov chaw khaws cia thiab muab tus tswj hwm nrog cov ntaub ntawv hais txog qhov chaw dawb, thiab tseem ua haujlwm tau txais los ntawm tus tswj hwm los tsim thiab tshem tawm cov ntim tshiab thiab DRBD cov khoom siv rau saum lawv.

Linstor ua haujlwm nrog cov ntsiab lus tseem ceeb hauv qab no:

  • Ntawm - lub cev server uas DRBD cov peev txheej yuav raug tsim thiab siv.
  • Lub pas dej cia - LVM lossis ZFS pas dej ua ke tsim rau ntawm qhov chaw uas DRBD cov peev txheej yuav nyob. Lub pas dej tsis muaj disk kuj tuaj yeem ua tau - qhov no yog lub pas dej uas tsuas yog cov khoom siv diskless yuav nyob.
  • Resource Txhais - Lub ntsiab lus ntawm cov peev txheej yog qhov tseem ceeb tshaj plaws uas piav qhia lub npe thiab tag nrho nws cov khoom.
  • Volume Txhais - Volume txhais. Txhua qhov peev txheej tuaj yeem muaj ntau qhov ntim, txhua qhov ntim yuav tsum muaj qhov loj me.
  • Resource - Ib qho piv txwv tsim ntawm cov cuab yeej thaiv, txhua qhov peev txheej yuav tsum tau muab tso rau ntawm ib qho ntawm qhov tshwj xeeb thiab hauv qee qhov chaw cia khoom.

Installation ntawm Linstor

Kuv pom zoo kom siv Ubuntu ua qhov system, vim tias ... muaj rau nws npaj PPA:

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

Los yog Debian, qhov twg Linstor tuaj yeem ntsia tau los ntawm lub chaw cia khoom rau 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

xws

Txhua yam yog yooj yim ntawm no:

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

Cov nodes

Lub Linux kernel tam sim no xa nrog ib tsob ntoo kernel module DRBD 8, hmoov tsis nws tsis haum peb thiab peb yuav tsum tau nruab DRBD 9:

apt-get install drbd-dkms

Raws li kev xyaum qhia, feem ntau cov teeb meem tshwm sim meej vim hais tias DRBD8 module yog loaded rau hauv lub system, thiab tsis DRBD9. Hmoov zoo, qhov no yog ib qho yooj yim los xyuas los ntawm kev khiav:

modprobe drbd
cat /proc/drbd

Yog koj pom Qhov tseeb: 9 - Nws txhais tau tias txhua yam zoo yog tias Qhov tseeb: 8 - nws txhais tau hais tias muaj ib yam dab tsi mus tsis ncaj ncees lawm thiab koj yuav tsum tau ua cov kauj ruam ntxiv kom paub cov laj thawj.

Tam sim no cia peb nruab lintor-satellite ΠΈ drbd-util:

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

Tsim ib pawg

Cov pas dej thiab cov nodes

Raws li tus backend peb yuav coj ThinLVM, vim nws yog qhov yooj yim tshaj plaws thiab txhawb nqa snapshots.
Teeb lvm2 ua, yog tias koj tsis tau ua li ntawd, cia peb tsim lub pas dej ThinLVM ntawm tag nrho peb cov chaw cia khoom:

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

Txhua qhov kev txiav txim ntxiv tuaj yeem ua ncaj qha rau ntawm tus maub los:

Cia peb ntxiv peb cov 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

Cia peb tsim cov pas dej ua ke:

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

Tam sim no cia saib cov pas dej ua ke tsim:

linstor storage-pool list

Yog tias txhua yam ua tiav lawm, peb yuav tsum pom qee yam xws li:

+---------------------------------------------------- ------------------------------------------------------ -----+ | StoragePool | Node | Tsav tsheb | PoolNpe | FreeCapacity | TotalCapacity | TxhawbSnapshots | |---------------------------------------------------------------- ------------------------------------------------------------------ ---| | cov ntaub ntawv | node1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | tseeb | | cov ntaub ntawv | node2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | tseeb | | cov ntaub ntawv | node3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | tseeb | +---------------------------------------------------- ------------------------------------------------------ ---- +

DRBD cov peev txheej

Tam sim no cia peb sim los tsim peb cov peev txheej DRBD tshiab:

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

Cia peb tshawb xyuas cov peev txheej tsim:

linstor resource list 

+---------------------------------------------------- ------------------------------------------------------ ----+ | Node | Cov peev txheej | StoragePool | VolumeNr | MinorNr | DeviceName | Muab faib | Siv | Xeev | |---------------------------------------------------------------- ------------------------------------------------------------------ --| | node1 | myres | cov ntaub ntawv | 0 | 1084 | Ib /dev/drbd1084 | 52 KiB | Tsis siv | UpToDate | | node2 | myres | cov ntaub ntawv | 0 | 1084 | Ib /dev/drbd1084 | 52 KiB | Tsis siv | UpToDate | +---------------------------------------------------- ------------------------------------------------------ ---+

Zoo heev! - peb pom tias cov peev txheej tau tsim nyob rau thawj ob lub nodes, peb kuj tuaj yeem sim tsim cov peev txheej tsis muaj ntaub ntawv ntawm peb:

linstor resource create --diskless node3 myres

Ntawm nodes koj yuav ib txwm pom cov cuab yeej no /dev/drbd1084 los yog /dev/drbd/by-res/myres/0

Qhov no yog li cas Linstor ua haujlwm, koj tuaj yeem tau txais cov ntaub ntawv ntxiv los ntawm cov ntaub ntawv raug cai.

Tam sim no kuv yuav qhia koj yuav ua li cas koom ua ke nrog OpenNebula

Kev teeb tsa OpenNebula

Kuv yuav tsis nkag mus tob rau hauv OpenNebula txheej txheem, vim ... tag nrho cov kauj ruam tau piav qhia meej hauv cov ntaub ntawv raug cai, uas kuv xav kom koj hu rau, Kuv tsuas yog qhia koj txog kev koom ua ke ntawm OpenNebula nrog Linstor.

linstor_un

Txhawm rau daws qhov teeb meem no, kuv sau kuv tus kheej tsav tsheb - linstor_un, nws yog tam sim no muaj nyob rau hauv ib tug plugin thiab yuav tsum tau ntsia nyias.

Tag nrho cov kev teeb tsa tau ua tiav ntawm qhov frontend OpenNebula nodes thiab tsis tas yuav tsum tau ua ntxiv rau ntawm cov lej suav.

Ua ntej tshaj plaws, peb yuav tsum ua kom paub tseeb tias peb muaj jq ΠΈ lintor-neeg siv:

apt-get install jq linstor-client

pab neeg linstor node list yuav tsum tso saib cov npe ntawm cov nodes. Tag nrho cov OpenNebula suav cov nodes yuav tsum tau ntxiv rau Linstor pawg.

Download tau thiab nruab lub 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

Tam sim no peb yuav tsum ntxiv nws rau OpenNebula config, ua qhov no peb ua raws cov kauj ruam yooj yim piav qhia no.

Tom qab ntawd rov pib dua OpenNebula:

systemctl restart opennebula

Thiab ntxiv peb datastores, system:

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

Thiab lub khw muag khoom:

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 qhia cov naj npawb ntawm cov ntaub ntawv replicas uas yuav raug tsim rau txhua daim duab tshiab hauv OpenNebula.
  • Parameter CLONE_MODE qhia raws nraim li cas cov duab yuav raug cloned thaum tsim cov tshuab virtual tshiab, snapshot - yuav tsim ib qho snapshot ntawm cov duab thiab xa ib lub tshuab virtual los ntawm snapshot, copy - yuav ua kom tiav daim duab rau txhua lub tshuab virtual.
  • Π’ BRIDGE_LIST Nws raug nquahu kom teev tag nrho cov nodes uas yuav siv los ua cov duab cloning.

Rau ib daim ntawv teev tag nrho cov kev txhawb nqa, saib NYEEM qhov project.

Qhov no ua tiav qhov teeb tsa, tam sim no koj tuaj yeem rub tawm qee yam khoom siv los ntawm tus nom OpenNebula Marketplace thiab tsim cov tshuab virtual los ntawm nws.

Qhov project link:
https://github.com/OpenNebula/addon-linstor_un

Tau qhov twg los: www.hab.com

Ntxiv ib saib