drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ

เช†เชชเชฃเซ‡ เชœเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚:
drbd+ocfs2 เชธเซ‹เชฒเซเชฏเซเชถเชจเซเชธ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชฌเซ‡ เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‡ เชเชกเชชเชฅเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชฎเชพเชตเชตเซเช‚.

เช† เช•เซ‹เชจเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡:
เช† เชŸเซเชฏเซเชŸเซ‹เชฐเซ€เชฏเชฒ เชธเชฟเชธเซเชŸเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐเซ‹ เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เช•เซ‡ เชœเซ‡เช“ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชชเชฆเซเชงเชคเชฟ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เช‰เช•เซ‡เชฒ เช…เชœเชฎเชพเชตเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡ เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡.

เช…เชฎเซ‡ เช•เชฏเชพ เชจเชฟเชฐเซเชฃเชฏเซ‹ เชจเช•เชพเชฐเซเชฏเชพ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡?

เช˜เชฃเซ€เชตเชพเชฐ เช†เชชเชฃเซ‡ เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชœเซเชฏเชพเช‚ เช†เชชเชฃเซ‡ เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชธเชพเชฐเชพ เชตเชพเช‚เชšเชจ-เชฒเซ‡เช–เชจ เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเชพเชฅเซ‡ เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช›เซ‡. เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฎเชพเชŸเซ‡ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชตเชฟเช•เชฒเซเชชเซ‹ เช…เชœเชฎเชพเชตเซเชฏเชพ, เชชเชฐเช‚เชคเซ เชฅเซ‹เชกเชพ เชœ เช…เชฎเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เช…เชจเซ‡เช• เชธเซ‚เชšเช•เชพเช‚เช•เซ‹ เชชเชฐ เชธเช‚เชคเซเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเชพ. เชนเชตเซ‡ เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชœเชฃเชพเชตเซ€เชถเซเช‚ เช•เซ‡ เชถเชพ เชฎเชพเชŸเซ‡.

  • Glusterfs เชตเชพเช‚เชšเชจ เช…เชจเซ‡ เชฒเซ‡เช–เชจ เช•เชพเชฎเช—เซ€เชฐเซ€ เชธเชพเชฅเซ‡ เช…เชฎเชจเซ‡ เชธเช‚เชคเซเชทเซเชŸ เชจ เชนเชคเซ€; เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹ เชเช• เชธเชพเชฅเซ‡ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเช“ เชนเชคเซ€, เช…เชจเซ‡ CPU เชชเชฐ เชตเชงเซ เชญเชพเชฐ เชนเชคเซ‹. เชซเชพเชˆเชฒเซ‹ เชตเชพเช‚เชšเชตเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชˆเช‚เชŸเชฎเชพเช‚เชฅเซ€ เชธเซ€เชงเซ€ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€เชจเซ‡ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เชนเช‚เชฎเซ‡เชถเชพ เชฒเชพเช—เซ เชชเชกเชคเซเช‚ เชจเชฅเซ€ เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช–เซ‹เชŸเซเช‚ เช›เซ‡.

  • เชธเซ‡เชซเชจเซ‡ เชตเชงเซ เชชเชกเชคเซ€ เชœเชŸเชฟเชฒเชคเชพ เช—เชฎเชคเซ€ เชจ เชนเชคเซ€, เชœเซ‡ 2-4 เชธเชฐเซเชตเชฐเชตเชพเชณเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชชเชฐ เชนเชพเชจเชฟเช•เชพเชฐเช• เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชœเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเช›เซ€เชฅเซ€ เชœเชพเชณเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡. เชซเชฐเซ€เชฅเซ€, เชคเซเชฏเชพเช‚ เช—เช‚เชญเซ€เชฐ เชชเซเชฐเชฆเชฐเซเชถเชจ เชฎเชฐเซเชฏเชพเชฆเชพเช“ เช›เซ‡ เชœเซ‡ เช…เชฎเชจเซ‡ เช—เซเชฒเซเชธเซเชŸเชฐเชซเซเชธเชจเซ€ เชœเซ‡เชฎ เช…เชฒเช— เชธเซเชŸเซ‹เชฐเซ‡เชœ เช•เซเชฒเชธเซเชŸเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฆเชฌเชพเชฃ เช•เชฐเซ‡ เช›เซ‡.

  • เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชธเช‚เช—เซเชฐเชนเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เชเช• NFS เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชซเซ‹เชฒเซเชŸ เชธเชนเชฟเชทเซเชฃเซเชคเชพเชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชชเซเชฐเชถเซเชจเซ‹ เช‰เชญเชพ เช•เชฐเซ‡ เช›เซ‡.

  • เชšเซ‹เช•เซเช•เชธ เชถเซเชฐเซ‡เชฃเซ€เชจเชพ เช•เชพเชฐเซเชฏเซ‹ เชฎเชพเชŸเซ‡ s3 เช เชเช• เช‰เชคเซเชคเชฎ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เช‰เช•เซ‡เชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เชจเชฅเซ€, เชœเซ‡ เชคเซ‡เชจเชพ เช…เชตเช•เชพเชถเชจเซ‡ เชธเช‚เช•เซเชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡.

  • lsyncd. เชœเซ‹ เช†เชชเชฃเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ "เชจเซ‹เชจ-เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ" เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€ เชฆเซ€เชงเซเช‚ เช›เซ‡, เชคเซ‹ เช† เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชชเชฐ เชœเชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชคเซ‡ เชฎเชพเชคเซเชฐ เชฆเซเชตเชฟ-เชฎเชพเชฐเซเช—เซ€เชฏ เชตเชฟเชจเชฟเชฎเชฏ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€ (เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ เช–เชฐเซ‡เช–เชฐ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹, เชคเซ‹ เชชเช›เซ€ เชคเชฎเซ‡ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹), เชคเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹ เชชเชฐ เชชเชฃ เชธเซเชฅเชฟเชฐ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เช†เช–เซ€ เชตเชธเซเชคเซเชฎเชพเช‚ เชเช• เชธเชฐเชธ เช‰เชฎเซ‡เชฐเซ‹ เช เช›เซ‡ เช•เซ‡ เชคเซ‡ เชธเชฟเช‚เช—เชฒ-เชฅเซเชฐเซ‡เชกเซ‡เชก เช›เซ‡. เช•เชพเชฐเชฃ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชฎเชพเช‚ เช›เซ‡: เชคเซ‡ เชตเชฐเซเช• เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ inotify เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชคเซ‡ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชชเชฐ เช…เชจเซ‡ เชฐเชฟเชธเซเช•เซ‡เชจเชฟเช‚เช— เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเซ‹เช‚เชชเซ‡ เช›เซ‡. rsync เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เชฎเชพเชงเซเชฏเชฎ เชคเชฐเซ€เช•เซ‡ เชฅเชพเชฏ เช›เซ‡.

เชŸเซเชฏเซเชŸเซ‹เชฐเซ€เชฏเชฒ: drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชฎเชพเชตเชตเซ‹

เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เช…เชจเซเช•เซ‚เชณ เช‰เช•เซ‡เชฒเซ‹ เชชเซˆเช•เซ€ เชเช• เชฒเชฟเช‚เช• เชนเชคเซ€ ocfs2+drbd. เชนเชตเซ‡ เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชœเชฃเชพเชตเซ€เชถเซเช‚ เช•เซ‡ เชคเชฎเซ‡ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเซ‡ เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชเชกเชชเชฅเซ€ เชœเชฎเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชชเชฐเช‚เชคเซ เชชเซเชฐเชฅเชฎ, เช˜เชŸเช•เซ‹ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚:

เชกเซ€เช†เชฐเชฌเซ€เชกเซ€ - เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค Linux เชตเชฟเชคเชฐเชฃเชฎเชพเช‚เชฅเซ€ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เชฌเซเชฒเซ‹เช•เซเชธเชฎเชพเช‚ เชธเชฐเซเชตเชฐเซเชธ เชตเชšเซเชšเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เชจเช•เชฒ เช•เชฐเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. เชฎเซเช–เซเชฏ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชซเซ‹เชฒเซเชŸ-เชธเชนเชฟเชทเซเชฃเซ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฌเชจเชพเชตเชตเชพเชจเซ€ เช›เซ‡.

OCFS2 - เชเช• เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡ เชœเซ‡ เช˜เชฃเซ€ เชธเชฟเชธเซเชŸเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชธเชฎเชพเชจ เชธเช‚เช—เซเชฐเชนเชจเซ‹ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เช‰เชชเชฏเซ‹เช— เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. Linux เชตเชฟเชคเชฐเชฃเชฎเชพเช‚ เชธเชฎเชพเชตเชฟเชทเซเชŸ เช›เซ‡ เช…เชจเซ‡ 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 โ€” drbd เชตเซ‹เชฒเซเชฏเซเชฎเชจเชพ เชชเชพเชฅ เชคเชฐเซ€เช•เซ‡ /dev/drbd0 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹.
เชกเชฟเชธเซเช• /dev/vdb1 - /dev/vdb1 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹
เชธเชฎเชจเซเชตเชฏ { เชฆเชฐ 1000M; } โ€” เช—เซ€เช—เชพเชฌเซ€เชŸ เชšเซ‡เชจเชฒ เชฌเซ‡เชจเซเชกเชตเชฟเชกเซเชฅเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹
เชฎเช‚เชœเซ‚เชฐเซ€-เชฌเซ‡-เชชเซเชฐเชพเชฅเชฎเชฟเช• - เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชตเชฟเช•เชฒเซเชช เช•เซ‡ เชœเซ‡ เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเซ‡ เชฌเซ‡ เชชเซเชฐเชพเชฅเชฎเชฟเช• เชธเชฐเซเชตเชฐ เชชเชฐ เชธเซเชตเซ€เช•เชพเชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡
after-sb-0pri, after-sb-1pri, after-sb-2pri - เชœเซเชฏเชพเชฐเซ‡ เชธเซเชชเซเชฒเชฟเชŸเชฌเซเชฐเซ‡เชˆเชจ เชฎเชณเซ€ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชจเซ‹เชกเชจเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เชตเชฟเช•เชฒเซเชชเซ‹. เชตเชงเซ เชตเชฟเช—เชคเซ‹ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡.
เชฌเชจเซ‹-เชชเซเชฐเชพเชฅเชฎเชฟเช•-เชฌเช‚เชจเซ‡ เชชเชฐ - เชฌเช‚เชจเซ‡ เช—เชพเช‚เช เซ‹เชจเซ‡ เชชเซเชฐเชพเชฅเชฎเชฟเช• เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡.

เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 10 เช—เซ€เช—เชพเชฌเชฟเชŸเซเชธเชจเชพ เชฅเซเชฐเซเชชเซเชŸ เชธเชพเชฅเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชจเซ‡เชŸเชตเชฐเซเช• เชธเชพเชฅเซ‡, เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเชฎเชพเชจ เชฌเซ‡ VM เช›เซ‡.

เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เชฌเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชจเซ‹เชกเซเชธเชจเชพ เชจเซ‡เชŸเชตเชฐเซเช• เชจเชพเชฎ drbd1 เช…เชจเซ‡ drbd2 เช›เซ‡. เชฏเซ‹เช—เซเชฏ เช•เชพเชฎเช—เซ€เชฐเซ€ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ /etc/hosts เชฎเชพเช‚ เชฏเชœเชฎเชพเชจเซ‹เชจเชพ เชจเชพเชฎ เช…เชจเซ‡ IP เชธเชฐเชจเชพเชฎเชพเช“ เชธเชพเชฅเซ‡ เชฎเซ‡เชณ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

10.10.10.192 drbd1
10.10.10.193 drbd2

เชชเช—เชฒเซเช‚ 2. เชจเซ‹เชกเซเชธ เชธเซ‡เชŸ เช•เชฐเซ‹:

เชฌเช‚เชจเซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เช…เชฎเซ‡ เชšเชฒเชพเชตเซ€เช เช›เซ€เช:

drbdadm create-md drbd0

drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

เช…เชฎเชจเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชฎเชณเซ‡ เช›เซ‡:

drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ

เชคเชฎเซ‡ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชชเซเชฐเชฅเชฎ เชจเซ‹เชก เชชเชฐ เชคเชฎเชพเชฐเซ‡ เชเช•เซเชเซ‡เช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

drbdadm primary --force drbd0

เชšเชพเชฒเซ‹ เชธเซเชฅเชฟเชคเชฟ เชœเซ‹เชˆเช:

cat /proc/drbd

drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ

เชธเชฐเชธ, เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชถเชฐเซ‚ เชฅเชฏเซเช‚ เช›เซ‡. เช…เชฎเซ‡ เช…เช‚เชค เชธเซเชงเซ€ เชฐเชพเชน เชœเซเช“ เช…เชจเซ‡ เชšเชฟเชคเซเชฐ เชœเซเช“:

drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ

เชชเช—เชฒเซเช‚ 3. เชฌเซ€เชœเชพ เชจเซ‹เชก เชชเชฐ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชถเชฐเซ‚ เช•เชฐเซ‹:

drbdadm primary --force drbd0

เช…เชฎเชจเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชฎเชณเซ‡ เช›เซ‡:

drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ

เชนเชตเซ‡ เช†เชชเชฃเซ‡ เชฌเซ‡ เชธเชฐเซเชตเชฐเชฅเซ€ 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 เชฌเช‚เชจเซ‡ เช—เชพเช‚เช เซ‹ เชชเชฐ.

เช…เชฎเซ‡ เช•เซ‹เชˆเชชเชฃ เชจเซ‹เชก เชชเชฐ drbd0 เชชเชฐ FS เชฌเชจเชพเชตเซ€เช เช›เซ€เช:

mkfs.ocfs2 -L "testVol" /dev/drbd0

เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ drbd0 เชชเชฐ testVol เชฒเซ‡เชฌเชฒ เชธเชพเชฅเซ‡ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เชฌเชจเชพเชตเซ€ เช›เซ‡.

drbd+ocfs2 เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจเชพเชจเชพ เชตเซ‡เชฌ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ

/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

เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ /เชฎเซ€เชกเชฟเชฏเชพ/เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชคเซ‡ เช…เช—เชพเช‰เชฅเซ€ เชฌเชจเชพเชตเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.

เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ noauto เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ เชซเชพเช‡เชฒ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชชเชฐ เชฎเชพเช‰เชจเซเชŸ เชฅเชถเซ‡ เชจเชนเซ€เช‚ (เชนเซเช‚ systemd เชฆเซเชตเชพเชฐเชพ เชจเซ‡เชŸเชตเชฐเซเช• เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเซเช‚ เช›เซเช‚) เช…เชจเซ‡ heartbeat=local, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ เชฆเชฐเซ‡เช• เชจเซ‹เชก เชชเชฐ เชนเชพเชฐเซเชŸเชฌเซ€เชŸ เชธเซ‡เชตเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹. เชตเซˆเชถเซเชตเชฟเช• เชงเชฌเช•เชพเชฐเชพ เชชเชฃ เช›เซ‡, เชœเซ‡ เชฎเซ‹เชŸเชพ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เชตเชงเซ เชฏเซ‹เช—เซเชฏ เช›เซ‡.

เช†เช—เชณ เชคเชฎเซ‡ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ /เชฎเซ€เชกเชฟเชฏเชพ/เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เช…เชจเซ‡ เชธเชพเชฎเช—เซเชฐเซ€ เชธเชฎเชจเซเชตเชฏเชจ เชคเชชเชพเชธเซ‹.

เชฅเชˆ เช—เชฏเซเช‚! เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเซ‡ เชฎเชพเชชเชจเซ€เชฏเชคเชพ เช…เชจเซ‡ เชฏเซ‹เช—เซเชฏ เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเชพเชฅเซ‡ เชตเชงเซ เช•เซ‡ เช“เช›เชพ เชซเซ‹เชฒเซเชŸ-เชธเชนเชฟเชทเซเชฃเซ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเซ‡เชณเชตเซ€เช เช›เซ€เช.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹