αα·αααΌαααα»ααααΆααα»ααααααΈ LINBIT ααΆααααα αΆααααααααααΆα SDS ααααΈαααααα½ααα - Linstor α αααααΊααΆααα ααααα»αα₯ααα·αααααααΆαααααα»ααααααα’ααααΎαα αα αααα·ααααΆαααααΆααααααΆααα DRBD, LVM, ZFS α Linstor αα½ααααα αΌαααααΆααΌαααΆαααΆαααα αα·αααααΆαααααααααααααΆααα ααΆαααΆαααα’ αααα’αα»ααααΆαα±ααα’ααααααααα ααΆαααΌααααααααΆα αα·ααααααααα½αα±ααα αΆααα’αΆααααααα
ααααααααααα»αα αααα·ααΆαα’αααΈααΆα±ααααΆαααααααα’α·αααααα·α α αΎααααα αΆαααΈαααααααααΆα’αΆα ααααΌαααΆααα½ααααα αΌαααΆαα½α OpenNebula αααΆαααΆααααα½ααααααααΎ linstor_un αααααΆαααααα·ααΈαααααΆααααΈααααααα»αααΆααααααΎαααΆαα·ααααααααΆααααααααααααα
Linstor αα½ααααα αΌαααααΆααΆαα½α OpenNebula α’αα»ααααΆαα±ααα’ααααααααΎαααααααααΆαααααΏαααΏα αα·αα’αΆα αα»αα α·αααααΆα αααα’αΆα ααΆαααααααΆααααΆαααΆααααα½ααα ααΎα αααααΆαα ααΆααααααααααααΆαααααα½αααααα’αααα
ααααΆαααααααα Linstor
Linstor αα·ααααααΆααααααααα―αααΆα α¬αααα»αααΆααααα»ααααα»ααα½ααααα Linstor ααΊααΆαααααααααααααααααααααΆααα’ααΌααΈαααα’αα»ααααΆαα±ααα’αααααααΎααααααααααααα·ααααααααΆααααααΎαααΆααα αααα»α LVM α¬ ZFS α αΎαα αααααα½αααΆαααααααΎ DRBD9 α
ααΆααααααααααΌ
ααα»αααααααα αΆα, DRBD? - α ααα»α’αααΈααΆαααΆααΆααααααααααααα· α αΎαααΎααΆα’αΆα ααααΎαααΆααααααααααΆ?
α αΌαααΎαα αα αΆαα’ααΈαααΆααα αααααα DRBD8 ααΆααααααΆαααα·αααΆαααααΆααα ααΆαααααΎααααΆαααααααααΆαααααααΆααΆαααααααααΉαααΆααααααΎαα§ααααααααα»ααααα½α α αΎαααΆααααΆααΆαααααααΌα αααΆα αααΎα αααααααΎ LVM ααΌα ααααΆα αααααααα mdadm RAID-1 ααα»ααααααΆαα½αααΉαααΆαα ααααααΆααααααΆαα
αα·ααΈααΆαααααααααα·αααααααααααΆααα»ααα·ααααα·ααααααΆαα ααΌα ααααα αΎα ααΆαα½αααΉαααΆαααααααα DRBD9 αααααΆαααααααΆααα ααΆαααααααααα»αααΆαααααΆααααααΌα α αΎαα₯α‘αΌααααα§ααααα DRBD ααΆα ααααα‘αααα½αααααΌαααΆααααααΎαα‘αΎααααααΆαααααΆαααΈααα·αααα·αααΈαα½ααα
αα·ααΈααΆαααααααΆαα½αα§ααααααααα»αα―αααΆαααα’αα»ααααΆαα±ααααΆαααΆαααααΎααααΆααααΆαααααααααΎαα‘αΎααααααααααα αααα»αα ααααα α αΎααααααΆαααααααααα»αααΆααααααααα½αα ααα½ααααα α§ααΆα ααα αααααΆααα§αααααααααααααΈαα½αα α’αααα’αΆα αααααα ααα½αααααΆαα αααα ααΈααΆαα αα·αααΆαααααααα»ααααα αα½αααΆααΆααααα½ααααα»αααΆααααααΎα/αα»α ααααΌα ααααΌαααα α ααΎαααΆαα’αα·αααααΈα αα·αα αααΎααααα ααΆαα½αα±ααααααααααΆααααΆ DRBD9 ααααΆααααααΌααα»αααααα αααα’αα»ααααΆαα±ααα’ααααααααΆαααααΆαααΆααα½αααααΆαα
ααααΆα αα·ααααααααΆαααααα
αα ααααααααΎαα§ααααααααα»αααααΈ Linstor ααΆααα ααα½αααααΆαα αααααααααααΌαααΆααα ααΎααααΆααααααααααααΆαα αααα»αα αααααα ααΎαβααΉαβα α βααΆαβα ααααβααΈαα½ααβααΆβααΆβααααΆα DRBD α
ααααΆαααΆαααΈαααααααα
- ααααΆααα·αααααα - ααΊααΆα§ααααα DRBD αααααΆαααΈααΆαααα
ααΎααααΆαααααα»αα’αΆα LVM α¬ ZFS α
αα αααααα ααΆαααΆαααΆαααααααααΆαα backend ααΆα αααΎα α αΎαα ααα½ααααααα½ααααααα»αααΎαα‘αΎαα₯ααααααα ααΆαααΆαααΆαααααααααΆαα LVM, ThinLVM αα·α ZFS α ααΈαα α»ααααααα’αα»ααααΆαα±ααα’ααααααααΎα αα·αααααΎααΌαααα - ααααΆαααααΆαααΆα β ααΊααΆα§ααααα DRBD αααααΆαααα ααΎααααΆαααααααααΆα backend ααα»ααααα’αα»ααααΆαα±ααααΆααααΌαααΆαα αΆαααα»αααΆα§ααααααααααααΆααααααααΆ ααααα·ααααα·ααΆαα’αΆα/αααααααΆααα’ααααΉαααααΌαααΆααααααΌααααααα ααΆααααααΆααα·ααααααα analogue αα·ααααα»ααα ααΉαααααΆααααααααΆαααΆαααΊ iSCSI LUN α
ααααΆα DRBD ααΈαα½ααα’αΆα ααΆαααΆαα αααααα αΌαααα 8 α αΎαααΆααααα½ααααα»αα αααααα½αααΆα’αΆα αααααααΆαααααΆαααΎα - ααααα·ααααΆα’αααααααααααααΉαααααΌαααΆα α’αα»αα·ααααΆααα α αΎαααΆαααααΎααααΆαααααααα½αααααΉααα·αα’αΆα αα αα½α ααααα αααΆαααΆααΆααααΆαα αα ααΆαααα½α Primary αααααΊαα½αααααΉαα αααααα·αααααααααΆααααα½ααα½ααααααΆαααΆααααα
ααΆααααααΆαααα‘αΎαα§ααααα DRBD αα αααα»ααααααααα ααΆααΉαααααΆαααΆαααααααααααααααα· ααααα·ααααΆααΌα ααααααΌααααΈααααααΆα Diskless αα αααα»αααΆαααααααα DRBD α’αΆα ααΆαααα
ααΌα ααααα ααα»α’αααΈααΆαααΆα’αααααααΌαααΆα Linstor?
αααααΆαααααααααΆααα·α
αα
αααααΉαααα’ααααααΆαααΆααα’αααα
ααΊααα Linstor ααΊααΆαααααα·ααΈ Java ααααααΆαααα’αα»ααααΆαα±ααα’αααααΆααααα½ααααααΎαααααΆα DRBD αααααααααααααααα·α
ααΎαααΈααααα
ααα ααααΆαααΈαα½ααααααααααΎαα‘αΎααααααΆααααΉαααααΆαααΆα
ααααα DRBD α―αααΆααααααααααΎαααΆααααα―αααΆαααααααα·ααα·αααΈααααΆαααΆαααααααα ααααααααααα αα·αααααΆα DRBD ααααααααα
Linstor ααΆαααΆαα»ααααααααΈαααα»αααααα
- α§ααααααααααΆ Linstor - α§ααααααααααΆααααΆαααααααααα API αααααΆαααααααΎα αα·ααααααααααααααΆαα ααΆααααΆααααααΆαα½αααααΆαααα αα·αα·αααααΎαααα αααααααα ααΎαα½αααΆ αα·ααααααΌαααΆααα·α αα ααΎααααΈαααααΎα αα·ααα»αααααΆαααααΈα ααΆααααΎαααΆααααα»αα§ααΆα ααααααα½α α αΎαααααΎααΌαααααΆααα·αααααα αααα’αΆα ααΆααΆααααα»α (H2) α¬ααΆααααα (PostgreSQL, MySQL, MariaDB)
- ααΈαααααα - ααααΆαααα - ααΆαααα‘αΎααα ααΎααααΆαααααα»αααΆααα’αα αα·ααααααα±ααα§ααααααααααΆααΌαααααααΆαα’αααΈααα αααααα α αΎααααααΆααα’αα»αααααα·α αα ααΆααααααα½αααΆαααΈα§ααααααααααΆααΎααααΈαααααΎα αα·ααα»αααΆαααααΈ αα·αα§ααααα DRBD αα ααΈααΎαα½αααΆα
Linstor ααααΎαααΆαααΆαα½αααααααα·αααααΆαααααΌα ααΆααααααα
- ααααΆαα - αααΆαααΈαααααΆαααΆααααααααΆα DRBD ααΉαααααΌαααΆααααααΎα αα·αααααΎααααΆααα
- α’αΆααααα»ααα»α - α’αΆα LVM α¬ ZFS ααααΌαααΆααααααΎαα‘αΎααα ααΎααααΆαααααααααΆα DRBD ααΉαααΆαααΈααΆαααα α α’αΆαααααα·αααΆαααΆαααα’αΆα ααααΎαα ααΆαααα - αααααΊααΆα’αΆααααααΆαααααααΆααααααααΆαααΆαααα»αααααααΉαααΆαααΈααΆαααα α
- αα·αααααααααΆα - αα·αααααααααααΆαααΊααΆααααΌααΎαααααα·αααααΆα’αααΈααααα αα·ααααααααααααααα·ααΆααα’ααααααααΆα
- αα·αααααααααα·αααα‘αα - αα·αααααααααα·αααα‘ααα ααααΆαααΈαα½ααα’αΆα ααΆαααα·ααΆαα αααΎα ααα·ααΆαααΈαα½ααααααΌαααααΆαααα αα
- ααααΆα - α§ααΆα ααααααααΆααααααΎαααα§ααααααααααααΆαα ααααΆαααΈαα½ααααααΌαααααΆαααα ααΎααααΆααααΆααααΆαααα½α αα·ααα αααα»αα’αΆααααα»ααα»ααα½αα ααα½αα
ααΆαααα‘αΎα Linstor
αααα»αααΌαααααΆαα±ααααααΎα’ααΌααα»αααΌααΆαααααααα ααααα... ααΆααααααΆααααΆα
add-apt-repository ppa:linbit/linbit-drbd9-stack
apt-get update
α¬ Debian ααα 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
ααααα·αααΎα’αααααΎα ααααα α .α .α€ - ααΆααΆααααααΆα’αααΈααααααααΆαααΊααα’ααααα·αααΎ ααααα α .α .α€ - ααΆααΆααααααΆααΆαα’αααΈαα½ααα»αααααααααΈ α αΎαα’αααααααΌαα αΆαααα·ααΆαααΆααααααα ααΎααααΈαααααααααΌαα ααα»α
α₯α‘αΌααααααα‘αΎα ααΈαααααα - ααααΆαααα ΠΈ 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 | ααααΆαα | α’αααααΎααα | PoolName | FreeCapacity | αααααααΆαααα»α | ααΆααααααΌαααΆα | |---------------------------------------------------- ---------------------------------------------------- ---| | αα·αααααα | 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 | αααααα§ααααα | αααα αα | ααΆαααααΎααααΆαα | αααα | |---------------------------------------------------- ---------------------------------------------------- --| | node1 | ααΈαααα | αα·αααααα | 0 | α‘α α¨α€ | /dev/drbd1084 | 1084 ααΈα‘αΌαα | αα·αααΆαααααΎ | UpToDate | | node52 | ααΈαααα | αα·αααααα | 2 | α‘α α¨α€ | /dev/drbd0 | 1084 ααΈα‘αΌαα | αα·αααααΎ | UpToDate | +------------------------------------------------ ---------------------------------------------------------------- ----+
α’ααα αΆααα! - ααΎαααΎαααΆααααΆαααααΌαααΆααααααΎααα ααΎααααΆααααΈαααααΌα ααΎαααα’αΆα ααααΆααΆααααααΎαααααΆααααααααΆαααΆααα ααΎααΈααΈα
linstor resource create --diskless node3 myres
αα
ααΎααααΆααα’αααααΉααααααααααΎαα§ααααααααααΆ /dev/drbd1084
α¬ /dev/drbd/by-res/myres/0
αααααΆααααααα Linstor ααααΎααΆα α’αααα’αΆα
ααα½αααΆαααααααΆαααααααααΈ
α₯α‘αΌαααααααα»αααΉαααααΆααα’αααααΈαααααααα αΌαααΆααΆαα½α OpenNebula
ααΆαααα‘αΎα OpenNebula
αααα»αααΉααα·αα
αΌααααα
αα
αααα»αααααΎαααΆαααα‘αΎα OpenNebula αα ααααα... ααα αΆαααΆααα’ααααααΌαααΆααα·αααααΆαααα’α·ααα
αααα»α
linstor_un
ααΎααααΈαααααααΆααααα αΆααα αααα»αααΆαααααααααααα·ααΈαααααΆααααΆαααααα½ααααααααα»α -
ααΆαααα‘αΎαααΆααααΌαααααΌαααΆαα’αα»αααααα ααΎααααΆαα OpenNebula αααααααΆααα»α α αΎααα·αααααΌαααΆααααααααΆαααααααααΎααααΆαααα»αααααΌαααααα
ααΆααααΌαααΎαααααΌαααααΎα±ααααααΆααααΆααΎαααΆα jq ΠΈ linstor-α’αα·αα·αα:
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
ααΆααααΌαααΆααααααα’αα»ααΆαααα±αααααααΆααααααΆααααΆααα’αααααααΉαααααΌαααΆαααααΎααΎααααΈα’αα»ααααααααα·ααααα·ααΆαααααΌαααΌαααΆαα
αααααΆαααααααΈαααααααααααΆαααΆαααααααααααΆαααΆαααα ααΌαααΎα
ααΆαααα
ααααΆαααα‘αΎα α₯α‘αΌααααα’αααα’αΆα
ααΆαααα§ααααααα½αα
ααα½αααΈααααΌαααΆα
αααααααΆααααααααα
ααααα: www.habr.com