ืขื ืื ื ืืืจ:
ืืืฆื ืืคืจืืก ืืืืืจืืช ืืืกืื ืืฉืืชืฃ ืืฉื ื ืฉืจืชืื ืืืืืกืกืื ืขื ืคืชืจืื ืืช drbd+ocfs2.
ืืื ืื ืืืขืื:
ืืืืจืื ืืืื ืฉืืืืฉื ืืื ืืื ืืขืจืืช ืืืื ืื ืฉืืืืจ ืืฉืืืช ืืืืขืช ืืืกืื ืื ืืขืื ืืื ืื ืกืืช ืืช ืืคืชืจืื.
ืืืืื ืืืืืืช ืกืืจืื ื ืืืื?
ืืขืชืื ืงืจืืืืช ืื ื ืืชืืืืืื ืขื ืืฆื ืฉืื ืื ื ืฆืจืืืื ืืืืฉื ืืืกืื ืืฉืืชืฃ ืขื ืืืฆืืขื ืงืจืืื-ืืชืืื ืืืืื ืขื ืืฉืืื ืืื ืืจื ื ืงืื. ื ืืกืื ื ืืคืฉืจืืืืช ืฉืื ืืช ืืืืืขืช ืืืกืื ืืฉืืชืฃ ืขืืืจ ืืคืจืืืงืืื ืฉืื ื, ืื ืืขืืื ืืฆืืืื ืืกืคืง ืืืชื ื ืืืื ืืื ืืืงืืืจืื ืื-ืืื ืืช. ืขืืฉืื ื ืืื ืื ืืื.
- Glusterfs ืื ืกืืคืง ืืืชื ื ืืืืฆืืขื ืงืจืืื ืืืชืืื; ืืื ืืขืืืช ืืงืจืืื ืื-ืืื ืืช ืฉื ืืกืคืจ ืจื ืฉื ืงืืฆืื, ืืืื ืขืืืก ืืืื ืขื ืืืขืื. ื ืืชื ืืคืชืืจ ืืช ืืืขืื ืืงืจืืืช ืงืืฆืื ืขื ืืื ืืืฉื ืืืืื ืืฉืืจืืช ืืืืื ื, ืื ืื ืื ืชืืื ืืฉืื ืืืืจื ืืื ืืื ื ื ืืื.
- Ceph ืื ืืื ืืช ืืืืจืืืืช ืืืืืืืช, ืฉืขืืืื ืืืืืง ืืคืจืืืงืืื ืขื 2-4 ืฉืจืชืื, ืืืืืื ืื ืืคืจืืืงื ืืชืืืืง ืืืืจ ืืื. ืฉืื, ืืฉื ื ืืืืืืช ืืืฆืืขืื ืืืืจืืช ืืืืฆืืช ืืืชื ื ืืื ืืช ืืฉืืืืืช ืืืกืื ื ืคืจืืื, ืืื ืขื ืืืืกืืจืคืื.
- ืฉืืืืฉ ืืฉืจืช NFS ืืื ืืืืฉืื ืืืกืื ืืฉืืชืฃ ืืขืื ืฉืืืืช ืืืื ืืื ืฉื ืกืืืื ืืช ืชืงืืืช.
- s3 ืืื ืคืชืจืื ืคืืคืืืจื ืืฆืืื ืขืืืจ ืืืืื ืืกืืื ืฉื ืืฉืืืืช, ืืื ืื ืื ืืขืจืืช ืงืืฆืื, ืื ืฉืืฆืืฆื ืืช ืืืงืคื.
- lsyncd. ืื ืืืจ ืืชืืื ื ืืืืจ ืขื "ืืขืจืืืช ืฉืืื ื ืงืืฆืื", ืื ืืืื ืืขืืืจ ืขื ืืคืชืจืื ืืคืืคืืืจื ืืื. ืื ืจืง ืฉืืื ืื ืืชืืื ืืืืืคื ืื ืืืืื ืืช (ืืื ืื ืืชื ืืืืช ืจืืฆื, ืื ืืชื ืืืื), ืื ืื ืื ืขืืื ืืืฆืืืืช ืขื ืืกืคืจ ืจื ืฉื ืงืืฆืื. ืชืืกืคืช ื ืืืื ืืื ืืขื ืืื ืืื ืฉืืื ืื ืืืื. ืืกืืื ืืื ืืืจืืืืงืืืจื ืฉื ืืชืืื ืืช: ืืื ืืฉืชืืฉืช ื-inotify ืืื ืื ืืจ ืืืืืืงืื ืขืืืื, ืืืชื ืืื ืืงืฆื ืืขืช ืืืคืขืื ืืืืืื ืกืจืืงื ืืืืฉ. rsync ืืฉืืฉ ืืืืฆืขื ืืืขืืจื.
ืืืจืื: ืืืฆื ืืคืจืืก ืืืกืื ืืฉืืชืฃ ืขื ืืกืืก drbd+ocfs2
ืืื ืืคืชืจืื ืืช ืื ืืืื ืื ื ืืื ืืงืืฉืืจ ocfs2+drbd. ืืขืช ื ืกืคืจ ืืื ืืืฆื ืชืืืื ืืคืจืืก ืืืืืจืืช ืืืกืื ืืฉืืชืฃ ืืฉื ื ืฉืจืชืื ืขื ืืกืืก ืืกื ื ืชืื ืื ืฉื ืคืชืจืื ืืช. ืืื ืงืืื ืื, ืงืฆืช ืขื ืืจืืืืื:
DRBD - ืืขืจืืช ืืืกืื ืืืคืฆืช ืืื ืืงืก ืืจืืืื ืืืืคืฉืจืช ืืฉืืคื ื ืชืื ืื ืืื ืฉืจืชืื ืืืืืงืื. ืืืืฉืื ืืขืืงืจื ืืื ืืื ืืช ืืืกืื ืกืืืื ื ืืชืงืืืช.
OCFS2 - ืืขืจืืช ืงืืฆืื ืืืกืคืงืช ืฉืืืืฉ ืืฉืืชืฃ ืืืืชื ืืืกืื ืขื ืืื ืืกืคืจ ืืขืจืืืช. ืืืื ืืืคืฆืช ืืื ืืงืก ืืืื ืืืืื ืืืื ืืืื ืืจืื ืืฉืชืืฉ ืืขืืืื ืขื ื-FS. OCFS2 ืืืื ืืฉืืฉ ืื ืจืง ืขื DRBD, ืืื ืื ืขื iSCSI ืขื ืืกืคืจ ืืืืืจืื. ืืืืืื ืฉืื ื ืื ื ืืฉืชืืฉืื ื-DRBD.
ืื ืืคืขืืืืช ืืืืฆืขืืช ืืฉืจืช ืืืืื ืื 18.04 ืืชืฆืืจื ืืื ืืืืืช.
ืฉืื 1. ืืืืจ ืืช DRBD:
ืืงืืืฅ /etc/drbd.d/drbd0.res ืื ื ืืชืืจืื ืืช ืืืฉืืจ ืืืกืืื ืืืืืจืืืืื ืฉืื ื /dev/drbd0:
resource drbd0 {
syncer { rate 1000M; }
net {
allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
}
startup { become-primary-on both; }
on drbd1 {
meta-disk internal;
device /dev/drbd0;
disk /dev/vdb1;
address 10.10.10.192:7789;
}
on drbd2 {
meta-disk internal;
device /dev/drbd0;
disk /dev/vdb1;
address 10.10.10.193:7789;
}
}
ืืื-ืืืกืง ืคื ืืื - ืืฉืชืืฉ ืืืืชื ืืชืงื ื ืืกืืื ืืื ืืืืกื ืืื ื ืชืื ืื
ืืืฉืืจ /dev/drbd0 - ืืฉืชืืฉ ื-/dev/drbd0 ืืชืืจ ืื ืชืื ืืืืฆืขื ืืืืกืื ืฉื drbd.
ืืืกืง /dev/vdb1 - ืืฉืชืืฉ ื-/dev/vdb1
ืกืื ืืจืื { ืฉืืขืืจ 1000M; } - ืืฉืชืืฉ ืืจืืื ืคืก ืฉื ืขืจืืฅ ืืืื-ืืื
ืืคืฉืจ-ืฉื ื-ืคืจืืืืจืื - ืืคืฉืจืืช ืืฉืืื ืืืืคืฉืจืช ืงืืืช ืฉืื ืืืื ืืฉื ื ืฉืจืชืื ืจืืฉืืื
after-sb-0pri, after-sb-1pri, after-sb-2pri - ืืคืฉืจืืืืช ืืืืจืืืืช ืืคืขืืืืช ืืฆืืืช ืืืฉืจ ืืืืื ืืื ืืคืืฆื. ืคืจืืื ื ืืกืคืื ื ืืชื ืืืฆืื ืืชืืขืื.
ืืืืืช-ืจืืฉื-ืขื ืฉื ืืื - ืืืืืจ ืืช ืฉื ื ืืฆืืชืื ืืจืืฉืื ื.
ืืืงืจื ืฉืื ื, ืืฉ ืื ื ืฉื ื VM ืืืื ืืืืืืื, ืขื ืจืฉืช ืืืจืืืืืืช ืืืขืืืืช ืขื ืชืคืืงื ืฉื 10 ืืืื-ืืื.
ืืืืืื ืฉืื ื, ืฉืืืช ืืจืฉืช ืฉื ืฉื ื ืฆืืชื ืืฉืืื ืื drbd1 ื-drbd2. ืืืคืขืื ืชืงืื ื, ืขืืื ืืืชืืื ืืช ืืฉืืืช ืืืชืืืืช ื-IP ืฉื ืืืจืืื ื-/etc/hosts.
10.10.10.192 drbd1
10.10.10.193 drbd2
ืฉืื 2. ืืืืจ ืฆืืชืื:
ืืฉื ื ืืฉืจืชืื ืื ื ืืจืืฆืื:
drbdadm create-md drbd0
modprobe drbd
drbdadm up drbd0
cat /proc/drbd
ืื ืื ื ืืงืืืื ืืช ืืืืจืื ืืืืื:
ืืชื ืืืื ืืืชืืื ืกื ืืจืื. ืืฆืืืช ืืจืืฉืื ืืชื ืฆืจืื ืืืฆืข:
drbdadm primary --force drbd0
ืืืื ื ืกืชืื ืขื ืืืฆื:
cat /proc/drbd
ื ืืืจ, ืืกื ืืจืื ืืชืืื. ื ืืื ืขื ืืกืืฃ ืืจืืืื ืืช ืืชืืื ื:
ืฉืื 3. ืืชืื ืกื ืืจืื ืืฆืืืช ืืฉื ื:
drbdadm primary --force drbd0
ืื ืื ื ืืงืืืื ืืช ืืืืจืื ืืืืื:
ืืขืช ื ืืื ืืืชืื ื-drbd ืืฉื ื ืฉืจืชืื.
ืฉืื 4. ืืชืงื ืืืืืจ ืืช ocfs2.
ื ืฉืชืืฉ ืืชืฆืืจื ืื ืืจืืืืืืืืช:
cluster:
node_count = 2
name = ocfs2cluster
node:
number = 1
cluster = ocfs2cluster
ip_port = 7777
ip_address = 10.10.10.192
name = drbd1
node:
number = 2
cluster = ocfs2cluster
ip_port = 7777
ip_address = 10.10.10.193
name = drbd2
ืฆืจืื ืืจืฉืื ืืช ืื /etc/ocfs2/cluster.conf ืืฉื ื ืืฆืืชืื.
ืื ื ืืืฆืจืื FS ื-drbd0 ืืื ืฆืืืช:
mkfs.ocfs2 -L "testVol" /dev/drbd0
ืืื ืืฆืจื ื ืืขืจืืช ืงืืฆืื ืขื ืืชืืืืช testVol ืขื drbd0, ืชืื ืฉืืืืฉ ืืคืจืืืจื ืืจืืจืช ืืืืื.
ื-/etc/default/o2cb ืืชื ืฆืจืื ืืืืืืจ (ืืื ืืงืืืฅ ืืชืฆืืจื ืฉืื ื)
O2CB_ENABLED=true
O2CB_BOOTCLUSTER=ocfs2cluster
ืืืคืขื ืืื ืฆืืืช:
o2cb register-cluster ocfs2cluster
ืืืืจ ืืื ื ืคืขืื ืื ืืกืืฃ ืืช ืื ืืืืืืืช ืฉืื ื ืฆืจืืืื ืืืคืขืื ืืืืืืืืช:
systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2
ืืืง ืืื ืืืจ ืืคืขื ืืืืื ืชืืืื ืืืชืงื ื.
ืฉืื 5. ืืืกืฃ ื ืงืืืืช ืืจืืื ื-fstab ืืฉื ื ืืฆืืชืื:
/dev/drbd0 /media/shared ocfs2 defaults,noauto,heartbeat=local 0 0
ืึทืืจึดืื /media/shared ืืฉ ืืืฆืืจ ืืืชื ืืจืืฉ.
ืืื ืื ื ืืฉืชืืฉืื ืืืคืฉืจืืืืช noauto, ืื ืฉืืืืจ ืฉืืงืืืฅ ืื ืืืขืื ืืืคืขืื (ืื ื ืืขืืืฃ ืืขืืืช ืงืืฆื ืจืฉืช ืืจื systemd) ืื-heartbeat=local, ืืืืืจ ืฉืืืืฉ ืืฉืืจืืช heartbeat ืืื ืฆืืืช. ืืฉ ืื ืคืขืืืืช ืื ืืืืืืืืช, ืฉืืชืืื ืืืชืจ ืืืฉืืืืืช ืืืืืื.
ืืื ืืชื ืืืื ืืขืืืช /media/shared ืืืืืืง ืกื ืืจืื ืชืืื.
ืืืฆืข! ืืชืืฆืื ืืื, ืื ื ืืงืืืื ืคืืืช ืื ืืืชืจ ืืืกืื ืกืืืื ื ืืชืงืืืช ืขื ืืืจืืืืช ืืืืฆืืขืื ื ืืืชืื.
ืืงืืจ: www.habr.com