ການເກັບຮັກສາ LINSTOR ແລະການເຊື່ອມໂຍງຂອງມັນກັບ OpenNebula

ການເກັບຮັກສາ LINSTOR ແລະການເຊື່ອມໂຍງຂອງມັນກັບ OpenNebula

ບໍ່ດົນກ່ອນຫນ້ານີ້, guys ຈາກ LINBIT ໄດ້ນໍາສະເຫນີການແກ້ໄຂ SDS ໃຫມ່ຂອງພວກເຂົາ - Linstor. ນີ້ແມ່ນບ່ອນເກັບຂໍ້ມູນຟຣີຢ່າງສົມບູນແບບໂດຍອີງໃສ່ເຕັກໂນໂລຢີທີ່ພິສູດແລ້ວ: DRBD, LVM, ZFS. Linstor ປະສົມປະສານຄວາມລຽບງ່າຍແລະສະຖາປັດຕະຍະກໍາທີ່ມີການອອກແບບດີ, ເຊິ່ງຊ່ວຍໃຫ້ທ່ານບັນລຸຄວາມຫມັ້ນຄົງແລະຜົນໄດ້ຮັບທີ່ຫນ້າປະທັບໃຈ.

ມື້ນີ້ຂ້ອຍຢາກເວົ້າກ່ຽວກັບມັນໃນລາຍລະອຽດເລັກນ້ອຍແລະສະແດງໃຫ້ເຫັນວ່າມັນສາມາດປະສົມປະສານໄດ້ງ່າຍກັບ OpenNebula ໂດຍໃຊ້ linstor_un - ໄດເວີໃຫມ່ທີ່ຂ້ອຍພັດທະນາໂດຍສະເພາະສໍາລັບຈຸດປະສົງນີ້.

Linstor ປະສົມປະສານກັບ OpenNebula ຊ່ວຍໃຫ້ທ່ານສ້າງເມຄທີ່ໄວແລະເຊື່ອຖືໄດ້ທີ່ສາມາດຖືກນໍາໃຊ້ໄດ້ງ່າຍໃນໂຄງສ້າງພື້ນຖານຂອງທ່ານເອງ.

ສະຖາປັດຕະຍະກໍາ Linstor

Linstor ບໍ່ແມ່ນລະບົບໄຟລ໌ຫຼືບລັອກການເກັບຮັກສາຕໍ່ se, Linstor ເປັນນັກດົນຕີທີ່ສະຫນອງຊັ້ນ abstraction ທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດສ້າງປະລິມານໃນ LVM ຫຼື ZFS ໂດຍອັດຕະໂນມັດແລະເຮັດຊ້ໍາກັນໂດຍໃຊ້ DRBD9.

ທໍາລາຍແບບເດີມ

ແຕ່ລໍຖ້າ, DRBD? — ເປັນ​ຫຍັງ​ຈຶ່ງ​ເຮັດ​ໃຫ້​ມັນ​ອັດ​ຕະ​ໂນ​ມັດ ແລະ​ມັນ​ເຮັດ​ວຽກ​ໄດ້​ແນວ​ໃດ?

ຂໍໃຫ້ຈື່ຈໍາອະດີດ, ເມື່ອ DRBD8 ເປັນທີ່ນິຍົມຫລາຍ. ການນໍາໃຊ້ມາດຕະຖານຂອງມັນກ່ຽວຂ້ອງກັບການສ້າງອຸປະກອນຕັນຂະຫນາດໃຫຍ່ຫນຶ່ງແລະຕັດມັນເຂົ້າໄປໃນຕ່ອນຂະຫນາດນ້ອຍຫຼາຍ, ການນໍາໃຊ້ LVM ດຽວກັນ. ປະເພດຂອງ mdadm RAID-1 ແຕ່ມີການຈໍາລອງຜ່ານເຄືອຂ່າຍ.

ວິທີການນີ້ບໍ່ແມ່ນບໍ່ມີຂໍ້ບົກຜ່ອງຂອງມັນ, ແລະດັ່ງນັ້ນ, ດ້ວຍການມາຮອດຂອງ DRBD9, ຫຼັກການຂອງການອອກແບບການເກັບຮັກສາໄດ້ມີການປ່ຽນແປງ; ໃນປັດຈຸບັນອຸປະກອນ DRBD ແຍກຕ່າງຫາກໄດ້ຖືກສ້າງຂື້ນສໍາລັບແຕ່ລະເຄື່ອງ virtual.

ວິທີການທີ່ມີອຸປະກອນບລັອກເອກະລາດຊ່ວຍໃຫ້ມີການນໍາໃຊ້ພື້ນທີ່ທີ່ດີກວ່າໃນກຸ່ມ, ແລະຍັງເພີ່ມລັກສະນະເພີ່ມເຕີມຈໍານວນຫນຶ່ງ. ຕົວຢ່າງ, ສໍາລັບແຕ່ລະອຸປະກອນດັ່ງກ່າວ, ທ່ານສາມາດກໍານົດຈໍານວນຂອງ replicas, ສະຖານທີ່ຂອງເຂົາເຈົ້າແລະການຕັ້ງຄ່າສ່ວນບຸກຄົນ. ພວກມັນງ່າຍທີ່ຈະສ້າງ/ລຶບ, ຖ່າຍຮູບ, ປັບຂະໜາດ, ເປີດການເຂົ້າລະຫັດ ແລະອື່ນໆອີກ. ມັນເປັນມູນຄ່າທີ່ສັງເກດວ່າ DRBD9 ຍັງສະຫນັບສະຫນູນກຸ່ມ, ເຊິ່ງຊ່ວຍໃຫ້ທ່ານສາມາດຫຼີກເວັ້ນສະຖານະການສະຫມອງແຕກ.

ຊັບພະຍາກອນແລະ backends

ເມື່ອສ້າງອຸປະກອນຕັນໃຫມ່, Linstor ວາງຈໍານວນ replicas ທີ່ກໍານົດໄວ້ໃນ nodes ທີ່ແຕກຕ່າງກັນໃນ cluster. ພວກເຮົາຈະໂທຫາແຕ່ລະ replica ດັ່ງກ່າວເປັນຊັບພະຍາກອນ DRBD.

ມີສອງປະເພດຂອງຊັບພະຍາກອນ:

  • ຊັບພະຍາກອນຂໍ້ມູນ — ແມ່ນ​ອຸ​ປະ​ກອນ DRBD ທີ່​ຕັ້ງ​ຢູ່​ໃນ node ໃນ LVM ຫຼື ZFS pool​.
    ໃນປັດຈຸບັນມີການສະຫນັບສະຫນູນສໍາລັບ backends ຫຼາຍແລະຈໍານວນຂອງພວກເຂົາແມ່ນການຂະຫຍາຍຕົວຢ່າງຕໍ່ເນື່ອງ. ມີການສະຫນັບສະຫນູນສໍາລັບ LVM, ThinLVM ແລະ ZFS. ສອງອັນສຸດທ້າຍອະນຸຍາດໃຫ້ທ່ານສ້າງແລະນໍາໃຊ້ຮູບຖ່າຍ.
  • ຊັບພະຍາກອນ Diskless — ເປັນອຸປະກອນ DRBD ທີ່ຕັ້ງຢູ່ໃນ node ທີ່ບໍ່ມີ backend, ແຕ່ອະນຸຍາດໃຫ້ມັນຖືກປະຕິບັດເປັນອຸປະກອນ block ປົກກະຕິ; ການປະຕິບັດການອ່ານ / ຂຽນທັງຫມົດຈະຖືກໂອນໄປຫາຊັບພະຍາກອນຂໍ້ມູນ. ການປຽບທຽບທີ່ໃກ້ທີ່ສຸດກັບຊັບພະຍາກອນທີ່ບໍ່ມີແຜ່ນແມ່ນ iSCSI LUN.

ແຕ່ລະຊັບພະຍາກອນ DRBD ສາມາດມີເຖິງ 8 replicas, ແລະມີພຽງແຕ່ຫນຶ່ງໃນນັ້ນສາມາດມີການເຄື່ອນໄຫວໂດຍຄ່າເລີ່ມຕົ້ນ - ປະຖົມ, ຄົນອື່ນຈະເປັນ ມັດທະຍົມ ແລະການນໍາໃຊ້ຂອງພວກມັນຈະເປັນໄປບໍ່ໄດ້ຕາບໃດທີ່ມີຢ່າງຫນ້ອຍຫນຶ່ງປະຖົມ, ນັ້ນແມ່ນ, ພວກເຂົາຈະເຮັດຊ້ໍາຂໍ້ມູນລະຫວ່າງຕົວເອງ.

ໂດຍການຕິດຕັ້ງອຸປະກອນ DRBD ເຂົ້າໄປໃນລະບົບ, ມັນຈະກາຍເປັນອັດຕະໂນມັດ ປະຖົມ, ດັ່ງນັ້ນເຖິງແມ່ນວ່າຊັບພະຍາກອນ Diskless, ໃນຄໍາສັບ DRBD, ສາມາດເປັນປະຖົມ.

ດັ່ງນັ້ນເປັນຫຍັງທ່ານຕ້ອງການ Linstor?

ໂດຍການມອບໃຫ້ວຽກງານທີ່ໃຊ້ຊັບພະຍາກອນທັງຫມົດໃຫ້ກັບ kernel, Linstor ເປັນສິ່ງຈໍາເປັນເປັນຄໍາຮ້ອງສະຫມັກ Java ປົກກະຕິທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດສ້າງຊັບພະຍາກອນ DRBD ໂດຍອັດຕະໂນມັດ.
ຍິ່ງໄປກວ່ານັ້ນ, ແຕ່ລະຊັບພະຍາກອນທີ່ລາວສ້າງຂື້ນຈະເປັນກຸ່ມ DRBD ທີ່ເປັນເອກະລາດທີ່ເຮັດວຽກເປັນເອກະລາດ, ໂດຍບໍ່ຄໍານຶງເຖິງສະຖານະຂອງຍົນຄວບຄຸມແລະຊັບພະຍາກອນ DRBD ອື່ນໆ.

Linstor ປະກອບດ້ວຍພຽງແຕ່ສອງອົງປະກອບ:

  • Linstor-controller - ຕົວຄວບຄຸມຕົ້ນຕໍ, ເຊິ່ງສະຫນອງ API ສໍາລັບການສ້າງແລະການຄຸ້ມຄອງຊັບພະຍາກອນ. ມັນຍັງຕິດຕໍ່ສື່ສານກັບດາວທຽມ, ກວດເບິ່ງພື້ນທີ່ຫວ່າງຢູ່ໃນພວກມັນ, ແລະສົ່ງວຽກງານເພື່ອສ້າງແລະລຶບຊັບພະຍາກອນໃຫມ່. ມັນເຮັດວຽກຢູ່ໃນຕົວຢ່າງດຽວແລະໃຊ້ຖານຂໍ້ມູນ, ເຊິ່ງສາມາດເປັນພາຍໃນ (H2) ຫຼືພາຍນອກ (PostgreSQL, MySQL, MariaDB)
  • ລິນສະເຕີ-ດາວທຽມ — ຕິດ​ຕັ້ງ​ຢູ່​ໃນ​ຂໍ້​ມູນ​ການ​ເກັບ​ຮັກ​ສາ​ທັງ​ຫມົດ​ແລະ​ສະ​ຫນອງ​ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ການ​ຄວບ​ຄຸມ​ກ່ຽວ​ກັບ​ຊ່ອງ​ຫວ່າງ​, ແລະ​ຍັງ​ປະ​ຕິ​ບັດ​ວຽກ​ງານ​ທີ່​ໄດ້​ຮັບ​ຈາກ​ການ​ຄວບ​ຄຸມ​ໃນ​ການ​ສ້າງ​ແລະ​ລຶບ​ປະ​ລິ​ມານ​ໃຫມ່​ແລະ​ອຸ​ປະ​ກອນ DRBD ເທິງ​ຂອງ​ເຂົາ​ເຈົ້າ​.

Linstor ດໍາເນີນການກັບແນວຄວາມຄິດທີ່ສໍາຄັນດັ່ງຕໍ່ໄປນີ້:

  • node — ເຊີບເວີທາງກາຍະພາບທີ່ຊັບພະຍາກອນ DRBD ຈະຖືກສ້າງ ແລະນຳໃຊ້.
  • ສະລອຍນໍ້າ — ສະນຸກເກີ LVM ຫຼື ZFS ສ້າງຢູ່ໃນ node ທີ່ຊັບພະຍາກອນ DRBD ຈະຕັ້ງຢູ່. ສະນຸກເກີທີ່ບໍ່ມີແຜ່ນກໍ່ເປັນໄປໄດ້ - ນີ້ແມ່ນສະລອຍນ້ໍາທີ່ມີພຽງແຕ່ຊັບພະຍາກອນທີ່ບໍ່ມີແຜ່ນ.
  • ຄໍານິຍາມຊັບພະຍາກອນ — ຄໍານິຍາມຂອງຊັບພະຍາກອນເປັນສິ່ງຈໍາເປັນຕົ້ນແບບທີ່ອະທິບາຍຊື່ແລະຄຸນສົມບັດທັງຫມົດຂອງມັນ.
  • ນິຍາມປະລິມານ - ຄໍາ​ນິ​ຍາມ​ປະ​ລິ​ມານ​. ແຕ່ລະຊັບພະຍາກອນສາມາດປະກອບດ້ວຍຫຼາຍປະລິມານ, ແຕ່ລະປະລິມານຕ້ອງມີຂະຫນາດ.
  • ຊັບພະຍາກອນ — ຕົວ​ຢ່າງ​ທີ່​ສ້າງ​ຂຶ້ນ​ຂອງ​ອຸ​ປະ​ກອນ​ຕັນ​, ແຕ່​ລະ​ຊັບ​ພະ​ຍາ​ກອນ​ຕ້ອງ​ໄດ້​ຮັບ​ການ​ວາງ​ໄວ້​ໃນ node ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​ແລະ​ໃນ​ສະ​ນຸກ​ເກີ​ການ​ເກັບ​ຮັກ​ສາ​ຈໍາ​ນວນ​ຫນຶ່ງ​.

ການຕິດຕັ້ງ Linstor

ຂ້ອຍແນະນໍາໃຫ້ໃຊ້ Ubuntu ເປັນລະບົບ, ເພາະວ່າ ... ມີຢູ່ສໍາລັບນາງ ກຽມພ້ອມ PPA:

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

ຫຼື Debian, ບ່ອນທີ່ Linstor ສາມາດຕິດຕັ້ງໄດ້ຈາກ repository ຢ່າງເປັນທາງການສໍາລັບ 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

ການຄວບຄຸມ

ທຸກສິ່ງທຸກຢ່າງແມ່ນງ່າຍດາຍຢູ່ທີ່ນີ້:

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

nodes ການເກັບຮັກສາ

kernel Linux ປະຈຸບັນສົ່ງກັບໂມດູນ kernel ໃນຕົ້ນໄມ້ DRBD8, ແຕ່ຫນ້າເສຍດາຍ, ມັນບໍ່ເຫມາະສົມກັບພວກເຮົາແລະພວກເຮົາຈໍາເປັນຕ້ອງຕິດຕັ້ງ DRBD9:

apt-get install drbd-dkms

ໃນຖານະເປັນການປະຕິບັດສະແດງໃຫ້ເຫັນ, ຄວາມຫຍຸ້ງຍາກສ່ວນໃຫຍ່ເກີດຂື້ນຢ່າງແນ່ນອນເພາະວ່າໂມດູນ DRBD8 ຖືກໂຫລດເຂົ້າໄປໃນລະບົບ, ແລະບໍ່ແມ່ນ DRBD9. ໂຊກດີ, ນີ້ແມ່ນງ່າຍຕໍ່ການກວດສອບໂດຍການແລ່ນ:

modprobe drbd
cat /proc/drbd

ຖ້າເຈົ້າເຫັນ ຮຸ່ນ: 9 - ມັນຫມາຍຄວາມວ່າທຸກສິ່ງທຸກຢ່າງແມ່ນດີຖ້າຫາກວ່າ ຮຸ່ນ: 8 - ມັນຫມາຍຄວາມວ່າມີບາງສິ່ງບາງຢ່າງຜິດພາດແລະທ່ານຈໍາເປັນຕ້ອງໄດ້ດໍາເນີນຂັ້ນຕອນເພີ່ມເຕີມເພື່ອຊອກຫາເຫດຜົນ.

ຕອນນີ້ໃຫ້ເຮົາຕິດຕັ້ງ linstor-ດາວທຽມ и drbd-utils:

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

ສ້າງກຸ່ມ

ສະນຸກເກີເກັບຮັກສາແລະ nodes

ເປັນ backend ພວກເຮົາຈະເອົາ ThinLVM, ເນື່ອງຈາກວ່າ ມັນ​ເປັນ​ການ​ງ່າຍ​ທີ່​ສຸດ​ແລະ​ສະ​ຫນັບ​ສະ​ຫນູນ​ຮູບ​ພາບ​.
ຕັ້ງ lvm2, ຖ້າທ່ານຍັງບໍ່ໄດ້ເຮັດແນວນັ້ນ, ໃຫ້ສ້າງສະນຸກເກີ ThinLVM ໃນທຸກ nodes ຂອງພວກເຮົາ:

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

ການດໍາເນີນການເພີ່ມເຕີມທັງຫມົດສາມາດປະຕິບັດໄດ້ໂດຍກົງໃນຕົວຄວບຄຸມ:

ໃຫ້ເພີ່ມ 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

ມາສ້າງອ່າງເກັບຂໍ້ມູນ:

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

ຕອນນີ້ໃຫ້ກວດເບິ່ງສະນຸກເກີທີ່ສ້າງຂຶ້ນ:

linstor storage-pool list

ຖ້າທຸກສິ່ງທຸກຢ່າງຖືກເຮັດຢ່າງຖືກຕ້ອງ, ພວກເຮົາຄວນຈະເຫັນບາງສິ່ງບາງຢ່າງເຊັ່ນ:

+------------------------------------------------ ------------------------------------------------ -+ | StoragePool | ໂນດ | ຄົນຂັບ | PoolName | ຄວາມອາດສາມາດຟຣີ | ຄວາມອາດສາມາດທັງໝົດ | ຮອງຮັບSnapshots | |------------------------------------------------ ---------------------------------------------------- ---| | ຂໍ້ມູນ | node1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | ຄວາມຈິງ | | ຂໍ້ມູນ | node2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | ຄວາມຈິງ | | ຂໍ້ມູນ | node3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | ຄວາມຈິງ | +------------------------------------------------ ------------------------------------------------ ----+

ຊັບພະຍາກອນ DRBD

ຕອນນີ້ໃຫ້ລອງສ້າງຊັບພະຍາກອນ DRBD ໃໝ່ຂອງພວກເຮົາ:

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

ໃຫ້ກວດເບິ່ງຊັບພະຍາກອນທີ່ສ້າງຂຶ້ນ:

linstor resource list 

+------------------------------------------------ ------------------------------------------------ ----+ | ໂນດ | ຊັບພະຍາກອນ | StoragePool | VolumeNr | ຈ່ອຍ | ຊື່ອຸປະກອນ | ຈັດສັນ | ໃຊ້ | ລັດ | |------------------------------------------------ ---------------------------------------------------- --| | node1 | myres | ຂໍ້ມູນ | 0 | 1084 | /dev/drbd1084 | 52 ກິບ | ບໍ່ໄດ້ໃຊ້ | UpToDate | | node2 | myres | ຂໍ້ມູນ | 0 | 1084 | /dev/drbd1084 | 52 ກິບ | ບໍ່ໄດ້ໃຊ້ | UpToDate | +------------------------------------------------ ------------------------------------------------ ----+

ຍິ່ງໃຫຍ່! — ພວກ​ເຮົາ​ເຫັນ​ວ່າ​ຊັບ​ພະ​ຍາ​ກອນ​ໄດ້​ຖືກ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​ໃນ​ສອງ​ຂໍ້​ທໍາ​ອິດ​, ພວກ​ເຮົາ​ຍັງ​ສາ​ມາດ​ພະ​ຍາ​ຍາມ​ທີ່​ຈະ​ສ້າງ​ຊັບ​ພະ​ຍາ​ກອນ diskless ໃນ​ທີ​ສາມ​:

linstor resource create --diskless node3 myres

ໃນ nodes ທ່ານສະເຫມີຈະພົບເຫັນອຸປະກອນນີ້ເປັນ /dev/drbd1084 ຫຼື /dev/drbd/by-res/myres/0

ນີ້ແມ່ນວິທີການ Linstor ເຮັດວຽກ, ທ່ານສາມາດໄດ້ຮັບຂໍ້ມູນເພີ່ມເຕີມຈາກ ເອກະສານທາງການ.

ຕອນນີ້ຂ້ອຍຈະບອກທ່ານກ່ຽວກັບວິທີການປະສົມປະສານກັບ OpenNebula

ການຕັ້ງຄ່າ OpenNebula

ຂ້ອຍຈະບໍ່ເລິກເຂົ້າໄປໃນຂະບວນການຕິດຕັ້ງ OpenNebula, ເພາະວ່າ ... ຂັ້ນ​ຕອນ​ທັງ​ຫມົດ​ແມ່ນ​ໄດ້​ອະ​ທິ​ບາຍ​ໂດຍ​ລະ​ອຽດ​ໃນ​ ເອກະສານທາງການ, ທີ່ຂ້າພະເຈົ້າແນະນໍາໃຫ້ທ່ານຕິດຕໍ່, ຂ້າພະເຈົ້າຈະບອກທ່ານກ່ຽວກັບການເຊື່ອມໂຍງຂອງ OpenNebula ກັບ Linstor.

linstor_un

ເພື່ອແກ້ໄຂບັນຫານີ້, ຂ້ອຍຂຽນໄດເວີຂອງຂ້ອຍເອງ - linstor_un, ມັນສາມາດໃຊ້ໄດ້ໃນປັດຈຸບັນເປັນ plugin ແລະຕ້ອງໄດ້ຮັບການຕິດຕັ້ງແຍກຕ່າງຫາກ.

ການຕິດຕັ້ງທັງຫມົດແມ່ນດໍາເນີນຢູ່ໃນຫນ້າ OpenNebula nodes ແລະບໍ່ຮຽກຮ້ອງໃຫ້ມີການປະຕິບັດເພີ່ມເຕີມໃນ nodes ຄອມພິວເຕີ.

ກ່ອນອື່ນ ໝົດ, ພວກເຮົາຕ້ອງໃຫ້ແນ່ໃຈວ່າພວກເຮົາມີ jq и linstor-ລູກຄ້າ:

apt-get install jq linstor-client

ທີມງານ linstor node list ຄວນສະແດງລາຍຊື່ຂອງ nodes. ໂນດຄອມພິວເຕີ OpenNebula ທັງໝົດຈະຕ້ອງຖືກເພີ່ມໃສ່ກຸ່ມ Linstor.

ດາວ​ນ​໌​ໂຫລດ​ແລະ​ຕິດ​ຕັ້ງ 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

ໃນປັດຈຸບັນພວກເຮົາຈໍາເປັນຕ້ອງເພີ່ມມັນໃສ່ OpenNebula config, ເພື່ອເຮັດສິ່ງນີ້, ພວກເຮົາປະຕິບັດຕາມຂັ້ນຕອນງ່າຍໆທີ່ໄດ້ອະທິບາຍ ທີ່ນີ້.

ຈາກນັ້ນເປີດ OpenNebula ຄືນໃໝ່:

systemctl restart opennebula

ແລະເພີ່ມ datastores ຂອງພວກເຮົາ, ລະບົບ:

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

ແລະ​ຮ້ານ​ຮູບ​ພາບ​:

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 ສະແດງຈໍານວນການຈໍາລອງຂໍ້ມູນທີ່ຈະສ້າງສໍາລັບແຕ່ລະຮູບພາບໃຫມ່ໃນ OpenNebula.
  • Parameter CLONE_MODE ຊີ້ບອກຢ່າງແນ່ນອນວ່າຮູບພາບຈະຖືກໂຄນແນວໃດໃນເວລາສ້າງເຄື່ອງ virtual ໃໝ່, snapshot — ຈະ​ສ້າງ​ພາບ​ລວມ​ຂອງ​ຮູບ​ພາບ​ແລະ​ການ​ນໍາ​ໃຊ້ virtual machine ຈາກ snapshot​, copy — ຈະ​ເຮັດ​ສໍາ​ເນົາ​ທີ່​ສົມ​ບູນ​ຂອງ​ຮູບ​ພາບ​ສໍາ​ລັບ​ເຄື່ອງ virtual ແຕ່​ລະ​ຄົນ​.
  • В BRIDGE_LIST ມັນແນະນໍາໃຫ້ລະບຸທຸກ nodes ທີ່ຈະຖືກນໍາໃຊ້ເພື່ອປະຕິບັດການ cloning ຮູບພາບ.

ສໍາລັບບັນຊີລາຍຊື່ຄົບຖ້ວນຂອງຕົວກໍານົດການສະຫນັບສະຫນູນ, ເບິ່ງ README ໂຄງການ.

ນີ້ເຮັດໃຫ້ການຕິດຕັ້ງສໍາເລັດ, ຕອນນີ້ທ່ານສາມາດດາວໂຫລດອຸປະກອນບາງຢ່າງຈາກທາງການ ຕະຫຼາດ OpenNebula ແລະສ້າງເຄື່ອງ virtual ຈາກມັນ.

ລິ້ງໂຄງການ:
https://github.com/OpenNebula/addon-linstor_un

ແຫຼ່ງຂໍ້ມູນ: www.habr.com

ເພີ່ມຄວາມຄິດເຫັນ