ืื—ืกื•ืŸ LINSTOR ื•ื”ืฉื™ืœื•ื‘ ืฉืœื• ืขื OpenNebula

ืื—ืกื•ืŸ LINSTOR ื•ื”ืฉื™ืœื•ื‘ ืฉืœื• ืขื OpenNebula

ืœื ืžื–ืžืŸ ื”ืฆื™ื’ื• ื”ื—ื‘ืจ'ื” ืž-LINBIT ืืช ืคืชืจื•ืŸ ื”-SDS ื”ื—ื“ืฉ ืฉืœื”ื - Linstor. ื–ื”ื• ืื—ืกื•ืŸ ื—ื™ื ืžื™ ืœื—ืœื•ื˜ื™ืŸ ื”ืžื‘ื•ืกืก ืขืœ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืžื•ื›ื—ื•ืช: DRBD, LVM, ZFS. ืœื™ื ืกื˜ื•ืจ ืžืฉืœื‘ืช ืคืฉื˜ื•ืช ื•ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžืขื•ืฆื‘ืช, ืžื” ืฉืžืืคืฉืจ ืœื”ื’ื™ืข ืœื™ืฆื™ื‘ื•ืช ื•ืชื•ืฆืื•ืช ืžืจืฉื™ืžื•ืช ืœืžื“ื™.

ื”ื™ื•ื ืื ื™ ืจื•ืฆื” ืœื“ื‘ืจ ืขืœ ื–ื” ืงืฆืช ื™ื•ืชืจ ื‘ืคื™ืจื•ื˜ ื•ืœื”ืจืื•ืช ื‘ืื™ื–ื• ืงืœื•ืช ืืคืฉืจ ืœืฉืœื‘ ืื•ืชื• ืขื OpenNebula ื‘ืืžืฆืขื•ืช linstor_un - ื“ืจื™ื™ื‘ืจ ื—ื“ืฉ ืฉืคื™ืชื—ืชื™ ื‘ืžื™ื•ื—ื“ ืœืžื˜ืจื” ื–ื•.

Linstor ื‘ืฉื™ืœื•ื‘ ืขื OpenNebula ืžืืคืฉืจ ืœืš ืœื‘ื ื•ืช ืขื ืŸ ืžื”ื™ืจ ื•ืืžื™ืŸ ืฉื ื™ืชืŸ ืœืคืจื•ืก ื‘ืงืœื•ืช ืขืœ ื”ืชืฉืชื™ืช ืฉืœืš.

ืื“ืจื™ื›ืœื•ืช ืœื™ื ืกื˜ื•ืจ

Linstor ื”ื™ื ืœื ืžืขืจื›ืช ืงื‘ืฆื™ื ื•ื’ื ืœื ืื—ืกื•ืŸ ื‘ืœื•ืง ื›ืฉืœืขืฆืžื•, Linstor ื”ื•ื ืžืชื–ืžืจ ื”ืžืกืคืง ืฉื›ื‘ืช ื”ืคืฉื˜ื” ื”ืžืืคืฉืจืช ืœืš ืœื”ืคื•ืš ืืช ื”ื™ืฆื™ืจื” ืฉืœ ืืžืฆืขื™ ืื—ืกื•ืŸ ื‘-LVM ืื• ZFS ืœืื•ื˜ื•ืžื˜ื™ื™ื ื•ืœืฉื›ืคืœ ืื•ืชื ื‘ืืžืฆืขื•ืช DRBD9.

ืฉื‘ื™ืจืช ืกื˜ืจื™ืื•ื˜ื™ืคื™ื

ืื‘ืœ ืจื’ืข, DRBD? - ืœืžื” ืœื”ืคื•ืš ืืช ื–ื” ืœืื•ื˜ื•ืžื˜ื™ ื•ืื™ืš ื–ื” ื‘ื›ืœืœ ื™ื›ื•ืœ ืœืขื‘ื•ื“?

ื‘ื•ืื• ื ื–ื›ื•ืจ ืืช ื”ืขื‘ืจ, ื›ืืฉืจ DRBD8 ื”ื™ื” ืžืื•ื“ ืคื•ืคื•ืœืจื™. ื”ืฉื™ืžื•ืฉ ื”ืกื˜ื ื“ืจื˜ื™ ืฉืœื• ื›ืœืœ ื™ืฆื™ืจืช ื”ืชืงืŸ ื‘ืœื•ืง ืื—ื“ ื’ื“ื•ืœ ื•ื—ื™ืชื•ืš ืื•ืชื• ืœื—ืชื™ื›ื•ืช ืงื˜ื ื•ืช ืจื‘ื•ืช, ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืื•ืชื• LVM. ืกื•ื’ ืฉืœ mdadm RAID-1 ืื‘ืœ ืขื ืฉื›ืคื•ืœ ืขืœ ื”ืจืฉืช.

ื’ื™ืฉื” ื–ื• ืื™ื ื” ื—ืคื” ืžื—ืกืจื•ื ื•ืชื™ื”, ื•ืœื›ืŸ, ืขื ื”ื•ืคืขืช DRBD9, ืขืงืจื•ื ื•ืช ืขื™ืฆื•ื‘ ื”ืื—ืกื•ืŸ ื”ืฉืชื ื•; ื›ืขืช ื ื•ืฆืจ ืžื›ืฉื™ืจ DRBD ื ืคืจื“ ืขื‘ื•ืจ ื›ืœ ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช.

ื”ื’ื™ืฉื” ืขื ื”ืชืงื ื™ ื‘ืœื•ืง ืขืฆืžืื™ื™ื ืžืืคืฉืจืช ื ื™ืฆื•ืœ ื˜ื•ื‘ ื™ื•ืชืจ ืฉืœ ื”ื—ืœืœ ื‘ืืฉื›ื•ืœ, ื•ืžื•ืกื™ืคื” ื’ื ืžืกืคืจ ืชื›ื•ื ื•ืช ื ื•ืกืคื•ืช. ืœื“ื•ื’ืžื”, ืขื‘ื•ืจ ื›ืœ ืžื›ืฉื™ืจ ื›ื–ื” ืืชื” ื™ื›ื•ืœ ืœืงื‘ื•ืข ืืช ืžืกืคืจ ื”ื”ืขืชืงื™ื, ืžื™ืงื•ืžื ื•ื”ื’ื“ืจื•ืช ื‘ื•ื“ื“ื•ืช. ืงืœ ืœื™ืฆื•ืจ/ืœืžื—ื•ืง ืื•ืชื, ืœืฆืœื ืชืžื•ื ื•ืช, ืœืฉื ื•ืช ื’ื•ื“ืœ, ืœืืคืฉืจ ื”ืฆืคื ื” ื•ืขื•ื“ ื”ืจื‘ื” ื™ื•ืชืจ. ืจืื•ื™ ืœืฆื™ื™ืŸ ื›ื™ DRBD9 ืชื•ืžืš ื’ื ื‘ืงื•ื•ืจื•ื, ื”ืžืืคืฉืจ ืœื”ื™ืžื ืข ืžืžืฆื‘ื™ื ืฉืœ ืžื•ื— ืžืคื•ืฆืœ.

ืžืฉืื‘ื™ื ื•ืื—ื•ืจื™ื™ื

ื‘ืขืช ื™ืฆื™ืจืช ื”ืชืงืŸ ื‘ืœื•ืง ื—ื“ืฉ, Linstor ืžืžืงื ืืช ื”ืžืกืคืจ ื”ื ื“ืจืฉ ืฉืœ ื”ืขืชืงื™ื ื‘ืฆืžืชื™ื ืฉื•ื ื™ื ื‘ืืฉื›ื•ืœ. ืื ื• ื ืงืจื ืœื›ืœ ื”ืขืชืง ื›ื–ื” ืžืฉืื‘ DRBD.

ื™ืฉื ื ืฉื ื™ ืกื•ื’ื™ื ืฉืœ ืžืฉืื‘ื™ื:

  • ืžืฉืื‘ ื ืชื•ื ื™ื - ื”ื ื”ืชืงืŸ DRBD ื”ืžืžื•ืงื ืขืœ ืฆื•ืžืช ื‘ืžืื’ืจ LVM ืื• ZFS.
    ื›ืจื’ืข ื™ืฉ ืชืžื™ื›ื” ื‘ื›ืžื” ืžืขืจื›ื•ืช ืื—ื•ืจื™ื•ืช ื•ืžืกืคืจื ื’ื“ืœ ื›ืœ ื”ื–ืžืŸ. ื™ืฉ ืชืžื™ื›ื” ื‘-LVM, ThinLVM ื•-ZFS. ืฉื ื™ ื”ืื—ืจื•ื ื™ื ืžืืคืฉืจื™ื ืœืš ืœื™ืฆื•ืจ ืฆื™ืœื•ืžื™ ืžืฆื‘ ื•ืœื”ืฉืชืžืฉ ื‘ื”ื.
  • ืžืฉืื‘ ืœืœื ื“ื™ืกืง - ื”ื•ื ื”ืชืงืŸ DRBD ื”ืžื•ืฆื‘ ืขืœ ืฆื•ืžืช ืœืœื ืงืฆื” ืื—ื•ืจื™, ืืš ืžืืคืฉืจ ืœื”ืชื™ื™ื—ืก ืืœื™ื• ื›ืืœ ื”ืชืงืŸ ื—ืกื™ืžื” ืจื’ื™ืœ; ื›ืœ ืคืขื•ืœื•ืช ื”ืงืจื™ืื”/ื›ืชื™ื‘ื” ื™ื•ืคื ื• ืœืžืฉืื‘ื™ ื ืชื•ื ื™ื. ื”ืžืฉืื‘ื™ื ื”ืื ืœื•ื’ื™ื™ื ื”ืงืจื•ื‘ื™ื ื‘ื™ื•ืชืจ ืœืžืฉืื‘ื™ื ืœืœื ื“ื™ืกืง ื”ื•ื iSCSI LUN.

ื›ืœ ืžืฉืื‘ DRBD ื™ื›ื•ืœ ืœื›ืœื•ืœ ืขื“ 8 ื”ืขืชืงื™ื, ื•ืจืง ืื—ื“ ืžื”ื ื™ื›ื•ืœ ืœื”ื™ื•ืช ืคืขื™ืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ - ืจืืฉื™, ื›ืœ ื”ืฉืืจ ื™ื”ื™ื• ื”ืžืฉื ื™ ื•ื”ืฉื™ืžื•ืฉ ื‘ื”ื ื™ื”ื™ื” ื‘ืœืชื™ ืืคืฉืจื™ ื›ืœ ืขื•ื“ ื™ืฉ Primary ืื—ื“ ืœืคื—ื•ืช, ื›ืœื•ืžืจ, ื”ื ืคืฉื•ื˜ ื™ืฉื›ืคืœื• ื ืชื•ื ื™ื ื‘ื™ื ื™ื”ื.

ืขืœ ื™ื“ื™ ื”ืชืงื ืช ื”ืชืงืŸ DRBD ื‘ืžืขืจื›ืช, ื”ื•ื ื”ื•ืคืš ืื•ื˜ื•ืžื˜ื™ืช ืจืืฉื™, ื•ืœื›ืŸ ืืคื™ืœื• ืžืฉืื‘ ืœืœื ื“ื™ืกืง, ื‘ื˜ืจืžื™ื ื•ืœื•ื’ื™ื” ืฉืœ DRBD, ื™ื›ื•ืœ ืœื”ื™ื•ืช ืจืืฉื™.

ืื– ืœืžื” ืืชื” ืฆืจื™ืš ืœื™ื ืกื˜ื•ืจ?

ืขืœ ื™ื“ื™ ื”ืคืงื“ืช ื›ืœ ื”ืžืฉื™ืžื•ืช ืขืชื™ืจื•ืช ื”ืžืฉืื‘ื™ื ืœืงืจื ืœ, Linstor ื”ื™ื ื‘ืขืฆื ืืคืœื™ืงืฆื™ื™ืช Java ืจื’ื™ืœื” ื”ืžืืคืฉืจืช ืœืš ืœื”ืคื•ืš ื‘ืงืœื•ืช ืืช ื”ื™ืฆื™ืจื” ืฉืœ ืžืฉืื‘ื™ DRBD ืœืื•ื˜ื•ืžื˜ื™ื™ื.
ื™ืชืจื” ืžื›ืš, ื›ืœ ืžืฉืื‘ ืฉื ื•ืฆืจ ืขืœ ื™ื“ื• ื™ื”ื™ื” ืืฉื›ื•ืœ DRBD ืขืฆืžืื™ ื”ืคื•ืขืœ ื‘ืื•ืคืŸ ืขืฆืžืื™, ืœืœื ืชืœื•ืช ื‘ืžืฆื‘ ืฉืœ ืžื™ืฉื•ืจ ื”ื‘ืงืจื” ื•ืžืฉืื‘ื™ DRBD ืื—ืจื™ื.

Linstor ืžื•ืจื›ื‘ ืžืฉื ื™ ืžืจื›ื™ื‘ื™ื ื‘ืœื‘ื“:

  • ืœื™ื ืกื˜ื•ืจ-ื‘ืงืจ - ื”ื‘ืงืจ ื”ืจืืฉื™, ื”ืžืกืคืง API ืœื™ืฆื™ืจื” ื•ื ื™ื”ื•ืœ ืžืฉืื‘ื™ื. ื”ื•ื ื’ื ืžืชืงืฉืจ ืขื ืœื•ื•ื™ื™ื ื™ื, ื‘ื•ื“ืง ืืช ื”ืžืงื•ื ื”ืคื ื•ื™ ื‘ื”ื ื•ืฉื•ืœื— ืžืฉื™ืžื•ืช ืœื™ืฆื™ืจื” ื•ืžื—ื™ืงื” ืฉืœ ืžืฉืื‘ื™ื ื—ื“ืฉื™ื. ื–ื” ืคื•ืขืœ ื‘ืžื•ืคืข ื‘ื•ื“ื“ ื•ืžืฉืชืžืฉ ื‘ืžืกื“ ื ืชื•ื ื™ื, ืฉื™ื›ื•ืœ ืœื”ื™ื•ืช ืคื ื™ืžื™ (H2) ืื• ื—ื™ืฆื•ื ื™ (PostgreSQL, MySQL, MariaDB)
  • ืœื™ื ืกื˜ื•ืจ-ืœื•ื•ื™ื™ืŸ - ืžื•ืชืงืŸ ื‘ื›ืœ ืฆืžืชื™ ื”ืื—ืกื•ืŸ ื•ืžืกืคืง ืœื‘ืงืจ ืžื™ื“ืข ืขืœ ืžืงื•ื ืคื ื•ื™, ื•ื›ืŸ ืžื‘ืฆืข ืžืฉื™ืžื•ืช ื”ืžืชืงื‘ืœื•ืช ืžื”ื‘ืงืจ ืœื™ืฆื™ืจื” ื•ืžื—ื™ืงื” ืฉืœ ืืžืฆืขื™ ืื—ืกื•ืŸ ื—ื“ืฉื™ื ื•ื”ืชืงื ื™ DRBD ืžืขืœื™ื”ื.

ืœื™ื ืกื˜ื•ืจ ืคื•ืขืœืช ืขื ืžื•ืฉื’ื™ ื”ืžืคืชื— ื”ื‘ืื™ื:

  • ืฆื•ืžืช - ืฉืจืช ืคื™ื–ื™ ืฉื‘ื• ื™ื™ืฆืจื• ืžืฉืื‘ื™ DRBD ื•ื™ืฉืชืžืฉื• ื‘ื•.
  • ื‘ืจื™ื›ืช ืื—ืกื•ืŸ - ืžืื’ืจ LVM ืื• ZFS ื ื•ืฆืจ ื‘ืฆื•ืžืช ืฉื‘ื• ื™ืžื•ืงื ืžืฉืื‘ื™ DRBD. ืืคืฉืจ ื’ื ืžืื’ืจ ืœืœื ื“ื™ืกืงื™ื - ื–ื”ื• ืžืื’ืจ ื‘ื• ื™ืžืฆืื• ืžืฉืื‘ื™ื ืœืœื ื“ื™ืกืง ื‘ืœื‘ื“.
  • ื”ื’ื“ืจืช ืžืฉืื‘ - ื”ื”ื’ื“ืจื” ืฉืœ ืžืฉืื‘ ื”ื™ื ื‘ืขืฆื ืื‘ ื˜ื™ืคื•ืก ื”ืžืชืืจ ืืช ื”ืฉื ื•ืืช ื›ืœ ืชื›ื•ื ื•ืชื™ื•.
  • ื”ื’ื“ืจืช ื ืคื— - ื”ื’ื“ืจืช ื ืคื—. ื›ืœ ืžืฉืื‘ ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื•ืจื›ื‘ ืžื ืคื—ื™ื ืžืจื•ื‘ื™ื, ืœื›ืœ ืืžืฆืขื™ ืื—ืกื•ืŸ ื—ื™ื™ื‘ ืœื”ื™ื•ืช ื’ื•ื“ืœ.
  • ืžืฉืื‘ - ืžื•ืคืข ืฉื ื•ืฆืจ ืฉืœ ื”ืชืงืŸ ื‘ืœื•ืง, ื›ืœ ืžืฉืื‘ ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžืžื•ืงื ื‘ืฆื•ืžืช ืกืคืฆื™ืคื™ ื•ื‘ื‘ืจื™ื›ืช ืื—ืกื•ืŸ ื›ืœืฉื”ื™.

ื”ืชืงื ืช ืœื™ื ืกื˜ื•ืจ

ืื ื™ ืžืžืœื™ืฅ ืœื”ืฉืชืžืฉ ื‘ืื•ื‘ื•ื ื˜ื• ื›ืžืขืจื›ืช, ื›ื™... ืงื™ื™ื ืขื‘ื•ืจื” PPA ืžื•ื›ืŸ:

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

ืื• ื“ื‘ื™ืืŸ, ืฉื ื ื™ืชืŸ ืœื”ืชืงื™ืŸ ืืช Linstor ืžื”ืžืื’ืจ ื”ืจืฉืžื™ ืฉืœ 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

ืฆืžืชื™ ืื—ืกื•ืŸ

ืœื™ื‘ืช ืœื™ื ื•ืงืก ื ืฉืœื—ืช ื›ืขืช ืขื ืžื•ื“ื•ืœ ืœื™ื‘ื” ื‘ืชื•ืš ื”ืขืฅ 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

ืฆื•ืจ ืืฉื›ื•ืœ

ื‘ืจื™ื›ื•ืช ืื—ืกื•ืŸ ื•ืฆืžืชื™ื

ื‘ืชื•ืจ backend ื ื™ืงื— ThinLVM, ื›ื™ ื–ื” ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ ื•ืชื•ืžืš ื‘ืฆื™ืœื•ืžื™ ืžืฆื‘.
ืœื”ืชืงื™ืŸ lvm2, ืื ืขื“ื™ื™ืŸ ืœื ืขืฉื™ืช ื–ืืช, ื‘ื•ืื• ื ื™ืฆื•ืจ ืžืื’ืจ ThinLVM ื‘ื›ืœ ืฆืžืชื™ ื”ืื—ืกื•ืŸ ืฉืœื ื•:

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

ื ื™ืชืŸ ืœื‘ืฆืข ืืช ื›ืœ ื”ืคืขื•ืœื•ืช ื”ื ื•ืกืคื•ืช ื™ืฉื™ืจื•ืช ืขืœ ื”ื‘ืงืจ:

ื‘ื•ืื• ื ื•ืกื™ืฃ ืืช ื”ืฆืžืชื™ื ืฉืœื ื•:

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 | ืฆื•ืžืช | ื ื”ื’ | ืฉื ื”ื‘ืจื™ื›ื” | FreeCapacity | TotalCapacity | ืชื•ืžืš ื‘ืชืžื•ื ื•ืช | |------------------------------------------------ - -------------------------------------------------- - ---| | ื ืชื•ื ื™ื | 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 | MinorNr | ืฉื ืžื›ืฉื™ืจ | ื”ื•ืงืฆื• | InUse | ืžื“ื™ื ื” | |------------------------------------------------ - -------------------------------------------------- - --| | node1 | myres | ื ืชื•ื ื™ื | 0 | 1084 | /dev/drbd1084 | 52 KiB | ืœื ื‘ืฉื™ืžื•ืฉ | UpToDate | | node2 | myres | ื ืชื•ื ื™ื | 0 | 1084 | /dev/drbd1084 | 52 KiB | ืœื ื‘ืฉื™ืžื•ืฉ | UpToDate | +-------------------------------------------------------- -------------------------------------------------- ---+

ื’ื“ื•ืœ! - ืื ื• ืจื•ืื™ื ืฉื”ืžืฉืื‘ ื ื•ืฆืจ ื‘ืฉื ื™ ื”ืฆืžืชื™ื ื”ืจืืฉื•ื ื™ื, ืื ื• ื™ื›ื•ืœื™ื ื’ื ืœื ืกื•ืช ืœื™ืฆื•ืจ ืžืฉืื‘ ืœืœื ื“ื™ืกืง ืขืœ ื”ืฉืœื™ืฉื™:

linstor resource create --diskless node3 myres

ื‘ืฆืžืชื™ื ืชืžื™ื“ ืชืžืฆื ืืช ื”ืžื›ืฉื™ืจ ื”ื–ื” ื› /dev/drbd1084 ืื• /dev/drbd/by-res/myres/0

ื›ืš ืœื™ื ืกื˜ื•ืจ ืขื•ื‘ื“, ืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ืžื™ื“ืข ื ื•ืกืฃ ืชื™ืขื•ื“ ืจืฉืžื™.

ืขื›ืฉื™ื• ืื ื™ ืื’ื™ื“ ืœืš ืื™ืš ืœืฉืœื‘ ืืช ื–ื” ืขื OpenNebula

ื”ื’ื“ืจืช OpenNebula

ืื ื™ ืœื ืื›ื ืก ื™ื•ืชืจ ืžื“ื™ ืœืชื”ืœื™ืš ื”ื”ื’ื“ืจื” ืฉืœ OpenNebula, ื›ื™... ื›ืœ ื”ืฉืœื‘ื™ื ืžืชื•ืืจื™ื ื‘ืคื™ืจื•ื˜ ื‘ ืชื™ืขื•ื“ ืจืฉืžื™, ืฉืื ื™ ืžืžืœื™ืฅ ืœืš ืœืคื ื•ืช ืืœื™ื•, ืืกืคืจ ืœืš ืจืง ืขืœ ื”ืฉื™ืœื•ื‘ ืฉืœ OpenNebula ืขื Linstor.

linstor_un

ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื” ื–ื•, ื›ืชื‘ืชื™ ื“ืจื™ื™ื‘ืจ ืžืฉืœื™ - linstor_un, ื”ื•ื ื–ืžื™ืŸ ื›ืขืช ื›ืคืœืื’ื™ืŸ ื•ื™ืฉ ืœื”ืชืงื™ืŸ ืื•ืชื• ื‘ื ืคืจื“.

ื”ื”ืชืงื ื” ื›ื•ืœื” ืžืชื‘ืฆืขืช ืขืœ ืฆืžืชื™ OpenNebula ื”ืงื“ืžื™ื™ื ื•ืื™ื ื” ื“ื•ืจืฉืช ืคืขื•ืœื•ืช ื ื•ืกืคื•ืช ื‘ืฆืžืชื™ ื”ืžื—ืฉื•ื‘.

ืงื•ื“ื ื›ืœ, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื•ื•ื“ื ืฉื™ืฉ ืœื ื• jq ะธ ืœื™ื ืกื˜ื•ืจ-ืœืงื•ื—:

apt-get install jq linstor-client

ืงื‘ื•ืฆื” linstor node list ืืžื•ืจ ืœื”ืฆื™ื’ ืจืฉื™ืžื” ืฉืœ ืฆืžืชื™ื. ื™ืฉ ืœื”ื•ืกื™ืฃ ืืช ื›ืœ ืฆืžืชื™ ื”ืžื—ืฉื•ื‘ ืฉืœ OpenNebula ืœืืฉื›ื•ืœ Linstor.

ื”ื•ืจื“ ื•ื”ืชืงืŸ ืืช ื”ืชื•ืกืฃ:

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, ืœืฉื ื›ืš ื ื‘ืฆืข ืืช ื”ืฉืœื‘ื™ื ื”ืคืฉื•ื˜ื™ื ื”ืžืชื•ืืจื™ื ื›ืืŸ.

ืœืื—ืจ ืžื›ืŸ ื”ืคืขืœ ืžื—ื“ืฉ ืืช OpenNebula:

systemctl restart opennebula

ื•ื”ื•ืกื™ืคื• ืืช ืžืื’ืจื™ ื”ื ืชื•ื ื™ื ืฉืœื ื•, ืžืขืจื›ืช:

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

  • ืคืจืžื˜ืจ AUTO_PLACE ืžืฆื™ื’ ืืช ืžืกืคืจ ื”ืขืชืงื•ืช ื”ื ืชื•ื ื™ื ืฉื™ื™ื•ื•ืฆืจื• ืขื‘ื•ืจ ื›ืœ ืชืžื•ื ื” ื—ื“ืฉื” ื‘-OpenNebula.
  • ืคืจืžื˜ืจ CLONE_MODE ืžืฆื™ื™ืŸ ื‘ื“ื™ื•ืง ื›ื™ืฆื“ ื™ืฉื•ื‘ื˜ื• ืชืžื•ื ื•ืช ื‘ืขืช ื™ืฆื™ืจืช ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื—ื“ืฉื•ืช, snapshot - ืชื™ืฆื•ืจ ืชืžื•ื ืช ืžืฆื‘ ืฉืœ ื”ืชืžื•ื ื” ื•ืชืคืจื•ืก ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืžืชืžื•ื ืช ื”ืžืฆื‘, copy - ื™ื™ืฆื•ืจ ืขื•ืชืง ืฉืœื ืฉืœ ื”ืชืžื•ื ื” ืขื‘ื•ืจ ื›ืœ ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช.
  • ะ’ BRIDGE_LIST ืžื•ืžืœืฅ ืœืฆื™ื™ืŸ ืืช ื›ืœ ื”ืฆืžืชื™ื ืฉื™ืฉืžืฉื• ืœื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ืฉื™ื‘ื•ื˜ ืชืžื•ื ื”.

ืœืจืฉื™ืžื” ืžืœืื” ืฉืœ ืคืจืžื˜ืจื™ื ื ืชืžื›ื™ื, ืจืื” README ืคึผืจื•ึนื™ึถืงื˜.

ื–ื” ืžืฉืœื™ื ืืช ื”ื”ื’ื“ืจื”, ืขื›ืฉื™ื• ืืชื” ื™ื›ื•ืœ ืœื”ื•ืจื™ื“ ืžื›ืฉื™ืจ ื›ืœืฉื”ื• ืžื”ืจืฉืžื™ OpenNebula Marketplace ื•ืœื™ืฆื•ืจ ืžืžื ื• ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช.

ืงื™ืฉื•ืจ ืœืคืจื•ื™ืงื˜:
https://github.com/OpenNebula/addon-linstor_un

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”