Panyimpenan LINSTOR sareng integrasina sareng OpenNebula

Panyimpenan LINSTOR sareng integrasina sareng OpenNebula

Teu lami pisan, budak ti LINBIT nampilkeun solusi SDS énggalna - Linstor. Ieu mangrupikeun panyimpen lengkep gratis dumasar kana téknologi anu kabuktian: DRBD, LVM, ZFS. Linstor ngagabungkeun kesederhanaan jeung arsitéktur well-dirancang, nu ngidinan Anjeun pikeun ngahontal stabilitas jeung hasil rada impressive.

Dinten Abdi hoyong ngobrol ngeunaan eta dina leuwih jéntré saeutik tur némbongkeun kumaha gampang eta bisa terpadu kalayan OpenNebula maké linstor_un - supir anyar nu kuring dimekarkeun husus pikeun tujuan ieu.

Linstor dina kombinasi sareng OpenNebula ngamungkinkeun anjeun ngawangun awan anu gancang sareng dipercaya anu tiasa gampang dipasang dina infrastruktur anjeun nyalira.

arsitéktur Linstor

Linstor sanes sistem file atanapi panyimpen blok per se, Linstor mangrupikeun orkestra anu nyayogikeun lapisan abstraksi anu ngamungkinkeun anjeun ngajadikeun otomatis nyiptakeun volume dina LVM atanapi ZFS sareng ngayakeun réplikasi nganggo DRBD9.

Megatkeun stereotypes

Tapi antosan, DRBD? - Naha ngajadikeun otomatis sareng kumaha éta tiasa dianggo?

Hayu urang émut jaman baheula, nalika DRBD8 populer pisan. pamakéan baku na aub nyieun hiji alat block badag sarta motong kana loba lembar leutik, ngagunakeun LVM sarua. A jenis mdadm RAID-1 tapi kalawan réplikasi ngaliwatan jaringan.

Pendekatan ieu sanés kakuranganana, sareng ku kituna, kalayan munculna DRBD9, prinsip desain panyimpen parantos robih; ayeuna alat DRBD anu misah didamel pikeun unggal mesin virtual.

Pendekatan sareng alat blok mandiri ngamungkinkeun pikeun ngamangpaatkeun rohangan anu langkung saé dina kluster, sareng ogé nambihan sababaraha fitur tambahan. Contona, pikeun tiap alat Anjeun bisa nangtukeun jumlah réplika, lokasi maranéhanana sarta setelan individu. Éta gampang pikeun nyiptakeun / ngahapus, nyandak snapshot, ngatur ukuran, ngaktifkeun enkripsi sareng seueur deui. Perhatos yén DRBD9 ogé ngadukung kuorum, anu ngamungkinkeun anjeun ngahindarkeun kaayaan pamisah-otak.

Sumberdaya sarta backends

Nalika nyiptakeun alat blok anyar, Linstor nempatkeun jumlah réplika anu diperyogikeun dina titik anu béda dina kluster. Kami bakal nyauran unggal réplika sapertos sumberdaya DRBD.

Aya dua jenis sumberdaya:

  • Sumber data - mangrupikeun alat DRBD anu aya dina titik dina kolam renang LVM atanapi ZFS.
    Di momen aya rojongan pikeun sababaraha backends sarta jumlah maranéhanana terus tumuwuh. Aya dukungan pikeun LVM, ThinLVM sareng ZFS. Dua panungtungan ngidinan Anjeun pikeun nyieun sarta ngagunakeun snapshots.
  • sumberdaya Diskless - mangrupakeun alat DRBD disimpen dina titik tanpa backend a, tapi ngamungkinkeun pikeun diolah salaku alat block biasa; sadaya operasi maca / nulis bakal dialihkeun ka sumber data. Analog pangdeukeutna kana sumberdaya diskless nyaéta iSCSI LUN.

Unggal sumberdaya DRBD tiasa gaduh dugi ka 8 réplika, sareng ngan ukur hiji anu tiasa aktip sacara standar - utama, dulur sejenna bakal nu nomber duana sarta pamakéan maranéhna moal mungkin salami aya sahanteuna hiji primér, nyaeta, aranjeunna saukur bakal ngayakeun réplikasi data antara sorangan.

Ku masang alat DRBD kana sistem, éta otomatis jadi utama, Ku kituna sanajan sumberdaya Diskless, dina terminologi DRBD, bisa jadi primér.

Janten naha anjeun peryogi Linstor?

Ku mercayakeun sagala tugas sumberdaya-intensif kana kernel, Linstor dasarna mangrupa aplikasi Java biasa nu ngidinan Anjeun pikeun gampang ngajadikeun otomatis kreasi sumberdaya DRBD.
Leuwih ti éta, unggal sumberdaya dijieun ku anjeunna bakal kluster DRBD bebas nu beroperasi sacara mandiri, paduli kaayaan kontrol-pesawat jeung sumberdaya séjén DRBD.

Linstor diwangun ku ukur dua komponén:

  • Linstor-controller - Controller utama, anu nyayogikeun API pikeun nyiptakeun sareng ngatur sumber. Éta ogé komunikasi sareng satelit, mariksa rohangan bébas dina éta, sareng ngirim tugas pikeun nyiptakeun sareng ngahapus sumber daya énggal. Éta dijalankeun dina hiji conto sareng nganggo pangkalan data, anu tiasa internal (H2) atanapi éksternal (PostgreSQL, MySQL, MariaDB)
  • Linstor-satelit - Dipasang dina sadaya titik panyimpen sareng nyayogikeun pangendali inpormasi ngeunaan rohangan bébas, sareng ogé ngalaksanakeun tugas anu ditampi ti pengontrol pikeun nyiptakeun sareng ngahapus volume énggal sareng alat DRBD di luhur.

Linstor ngoperasikeun sareng konsép konci ieu:

  • titik - server fisik dimana sumberdaya DRBD bakal didamel sareng dianggo.
  • Kolam Panyimpenan - Kolam renang LVM atanapi ZFS didamel dina titik dimana sumber DRBD bakal aya. Kolam renang diskless ogé mungkin - ieu mangrupikeun kolam renang anu ngan ukur sumber diskless anu bakal aya.
  • Harti Sumberdaya - Definisi sumberdaya dasarna mangrupikeun prototipe anu ngajelaskeun nami sareng sadaya pasipatanana.
  • Volume Harti - harti volume. Unggal sumberdaya tiasa diwangun ku sababaraha jilid, unggal volume kedah gaduh ukuran.
  • sumber - Hiji conto dijieun tina alat block, unggal sumberdaya kudu disimpen dina titik husus sarta sababaraha kolam renang gudang.

Pamasangan Linstor

Abdi nyarankeun ngagunakeun Ubuntu salaku sistem, sabab ... aya pikeun dirina siap PPA:

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

Atanapi Debian, dimana Linstor tiasa dipasang tina gudang resmi pikeun 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

controller

Sadayana saderhana di dieu:

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

Tempat neundeun

Kernel Linux ayeuna dikirimkeun nganggo modul kernel in-tree DRBD8, hanjakalna teu cocog jeung urang kudu install DRBD9:

apt-get install drbd-dkms

Salaku prakték nempokeun, paling kasusah timbul persis sabab modul DRBD8 dimuat kana sistem, sarta teu DRBD9. Untungna, ieu gampang dipariksa ku ngajalankeun:

modprobe drbd
cat /proc/drbd

Lamun ningali vérsi: 9 - eta hartina sagalana geus rupa lamun vérsi: 8 - hartina aya nu salah jeung anjeun kudu nyokot léngkah tambahan pikeun manggihan alesan.

Ayeuna hayu urang pasang linstor-satelit и drbd-utils:

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

Jieun klaster

Panyimpen pools jeung titik

Salaku backend urang bakal nyandak ThinLVM, sabab éta nu pangbasajanna tur ngarojong snapshots.
Masang lvm2, upami anjeun henteu acan ngalakukeun kitu, hayu urang ngadamel kolam renang ThinLVM dina sadaya titik panyimpen urang:

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

Sadaya tindakan salajengna tiasa dilakukeun langsung dina controller:

Hayu urang tambahkeun titik kami:

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

Hayu urang nyieun pools gudang:

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

Ayeuna hayu urang pariksa pools dijieun:

linstor storage-pool list

Upami sadayana dilakukeun leres, maka urang kedah ningali sapertos kieu:

+------------------------------------------------ ------------------------------------------------- ----+ | StoragePool | Node | Supir | PoolName | Kamampuh Gratis | TotalKapasitas | NgarojongSnapshots | |------------------------------------------------ - ------------------------------------------------- - ---| | data | node1 | LVM_THIN | drbdpool / thinpool | 64 GiB | 64 GiB | leres | | data | node2 | LVM_THIN | drbdpool / thinpool | 64 GiB | 64 GiB | leres | | data | node3 | LVM_THIN | drbdpool / thinpool | 64 GiB | 64 GiB | leres | +------------------------------------------------ ------------------------------------------------- ----+

sumberdaya DRBD

Ayeuna hayu urang cobian nyiptakeun sumber DRBD énggal:

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

Hayu urang pariksa sumberdaya dijieun:

linstor resource list 

+------------------------------------------------- ------------------------------------------------- ---+ | Node | Sumberdaya | StoragePool | VolumeNr | MinorNr | Ngaran Alat | Dialokasikeun | InUse | Nagara | |------------------------------------------------ - ------------------------------------------------- - --| | node1 | myres | data | 0 | 1084 | /dev/drbd1084 | 52 KiB | Teu kapake | UpToDate | | node2 | myres | data | 0 | 1084 | /dev/drbd1084 | 52 KiB | Teu kapake | UpToDate | +------------------------------------------------- ------------------------------------------------- ---+

Hebat! — urang ningali yén sumberna diciptakeun dina dua titik anu munggaran, urang ogé tiasa nyobian nyiptakeun sumber daya diskless dina katilu:

linstor resource create --diskless node3 myres

Dina titik anjeun bakal salawasna manggihan alat ieu salaku /dev/drbd1084 atawa /dev/drbd/by-res/myres/0

Ieu kumaha Linstor jalan, anjeun bisa meunangkeun informasi leuwih ti dokuméntasi resmi.

Ayeuna kuring bakal nyarioskeun ka anjeun kumaha ngahijikeunana sareng OpenNebula

Nyetél OpenNebula

Kuring moal lebet teuing kana prosés pangaturan OpenNebula, sabab ... Sadaya léngkah dijelaskeun sacara rinci dina dokuméntasi resmi, nu kuring nyarankeun Anjeun ngahubungan, Kuring ngan bakal ngabejaan Anjeun tentang integrasi OpenNebula kalawan Linstor.

linstor_un

Pikeun ngajawab masalah ieu, kuring nulis supir sorangan - linstor_un, ayeuna sayogi salaku plugin sareng kedah dipasang nyalira.

Sakabeh instalasi dilaksanakeun dina frontend OpenNebula titik sarta henteu merlukeun lampah tambahan dina titik komputasi.

Anu mimiti, urang kedah mastikeun yén urang gaduh jq и linstor-klién:

apt-get install jq linstor-client

regu linstor node list kedah nembongkeun daptar titik. Kabéh titik komputasi OpenNebula kudu ditambahkeun kana klaster Linstor.

Unduh sareng pasang pluginna:

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

Ayeuna urang kedah nambihanana kana konfigurasi OpenNebula, pikeun ngalakukeun ieu urang turutan léngkah-léngkah anu dijelaskeun di dieu.

Teras balikan deui OpenNebula:

systemctl restart opennebula

Sareng tambahkeun datastores kami, sistem:

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

Jeung toko gambar:

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 mintonkeun jumlah réplika data anu bakal dijieun pikeun tiap gambar anyar dina OpenNebula.
  • parameter CLONE_MODE nunjukkeun persis kumaha gambar bakal diklon nalika nyieun mesin virtual anyar, snapshot - bakal nyiptakeun snapshot gambar sareng nyebarkeun mesin virtual tina snapshot, copy - bakal nyieun salinan lengkep gambar pikeun tiap mesin virtual.
  • В BRIDGE_LIST Disarankeun pikeun nangtukeun sadaya titik anu bakal dianggo pikeun ngalakukeun operasi kloning gambar.

Pikeun daptar lengkep parameter dirojong, tingali README proyék.

Ieu ngalengkepan pangaturan, ayeuna anjeun tiasa ngaunduh sababaraha alat ti resmi Pasar OpenNebula sareng nyiptakeun mesin virtual tina éta.

Link proyék:
https://github.com/OpenNebula/addon-linstor_un

sumber: www.habr.com

Tambahkeun komentar