DRBD (Distributed Replicated Block Device) ຄືຊັອບແວທີ່ສາມາດສໍາເນົາຂໍ້ມູນໃຫ້ກັບຮາດດິດ ( ຫຼື ອຸປະກອນເກັບຂໍ້ມູນອື່ນໆ ) ໃຫ້ຂໍ້ມູນຄືກັນທຸກປະການຜ່ານທາງເຄືອຂ່າຍ ການສໍາເນົາຂໍ້ມູນບໍ່ພຽງແຕ່ໄຟລແຕ່ເລິກລົງໄປເຖິງລະດັບ block ຂອງຮາດດິດ ບາງຄົນກໍອາດຈະໃຊ້ຄໍາວ່າ RAID1 ຜ່ານທາງເຄືອຂ່າຍ ຈຸດປະສົງກໍເພື່ອສໍາຮອງຂໍ້ມູນໄປສະຖານທີ່ປະຕິບັດການສໍາຮອງ (disaster recovery site – DR site) ຖ້າສະຖານທີ່ເຮັດວຽກຫຼັກມີບັນຫາສາມາດຍ້າຍໄປໄວ້ບ່ອນສໍາຮອງໄດ້ເພື່ອໃຫ້ການປະຕິບັດງານໄດ້ຢ່າງຕໍ່ເນື່ອງ
ໃນການທົດລອງນີ້ເຮົາຈະໃຊ້ 2 ເຄື່ອງ ແລະ ຈໍາລອງ Harddisk ໄວ້ 2 ລູກທັງ 2 ເຄື່ອງ (sda + sdb)
ກວດກາຄວາມພ້ອມຂອງ Disk
ເຮັດໃຫ້ທັງ 2 ເຄື່ອງຮູ້ຈັກກັນດ້ວຍ hostname (ໃນຂັ້ນຕອນການ config ເຮົາຈະອ້າງ hostname ແທນ IP )
ຂັ້ນຕອນການຕິດຕັ້ງ DRBD
All Server
1 > ຕິດຕັ້ງ Epel Packages
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
2 > ອັບເດດ repo
yum -y update
3 > ຕິດຕັ້ງ DRBD
[root@host1 ~]# yum -y install drbd83-utils kmod-drbd83 [root@host2 ~]# yum -y install drbd83-utils kmod-drbd83
4 > ສ້າງພາທິຊັ່ນສໍາລັບ DRBD
[root@host1 ~]# fdisk -cu /dev/sdb [root@host2 ~]# fdisk -cu /dev/sdb
5 > ສ້າງ ໄຟລ clusterdb_res.res
[root@host1 ~]# vi /etc/drbd.d/clusterdb_res.res
resource clusterdb_res { protocol C; handlers { pri-on-incon-degr “/usr/lib/drbd/notify-pri-on-incon-degr.sh;/usr/lib/drbd/notifyemergency-reboot.sh;echo b > /proc/sysrq-trigger; reboot -f”; pri-lost-after-sb “/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notifyemergency-reboot.sh; echo b > /proc/sysrq-trigger ;reboot -f”; local-io-error “/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergencyshutdown.sh; echo o > /proc/sysrq-trigger ; halt -f”;fence-peer “/usr/lib/drbd/crm-fence-peer.sh”; } startup { degr-wfc-timeout 120; # 2 minutes. outdated-wfc-timeout 2; # 2 seconds. } disk { on-io-error detach; } net { cram-hmac-alg “sha1”; shared-secret “clusterdb”; after-sb-0pri disconnect; after-sb-1pri disconnect; after-sb-2pri disconnect; rr-conflict disconnect; } syncer { rate 10M; al-extents 257; on-no-data-accessible io-error; } on host1 { device /dev/drbd0; disk /dev/sdb1; address 192.168.0.221:7788; flexible-meta-disk internal; } on host2 { device /dev/drbd0; disk /dev/sdb1; address 192.168.0.222:7788; meta-disk internal; } }
6 > ຄັດລອກໄຟລໄປທີ່ host2
[root@host1 ~]# scp /etc/drbd.d/clusterdb_res.res host2:/etc/drbd.d/clusterdb_res.res
7 > ສ້າງ drbd partition
[root@host1 ~]# drbdadm create-md clusterdb_res [root@host2 ~]# drbdadm create-md clusterdb_res
8 > ເປີດນໍາໃຊ້ drbd
[root@host1 ~]# service drbd start [root@host2 ~]# service drbd start
ສາມາດກວດສອບຄວາມພ້ອມນໍາໃຊ້
service drbd status
9 > ສັງເກດວ່າໃນຕອນນີ້ ສະຖານະຈະເປັນ Secondaty/Secondary ເຊິ່ງເຮົາຈະຕ້ອງເຮັດໃຫ້ເຄື່ອງໃດເຄື່ອງໜຶ່ງເປັນ Primary ເພື່ອທີ່ຈະ Mount ມານໍາໃຊ້
[root@host1 ~]# drbdadm primary –force data [root@host1 ~]# drbdadm — –overwrite-data-of-peer primary all
ສັງເກດວ່າສະຖານະຕອນນີ້ເປັນ Primary/Secondary ແລ້ວ
10 > Format partition
[root@host1 ~]# mkfs -t ext4 /dev/drbd0
ທົດລອງ Mount ເພື່ອນໍາໃຊ້
[root@host1 ~]# mkdir -p /home/putter [root@host1 ~]# mount /dev/drbd0 /home/putter/
ເຮົາສາມາດ Mount ໄດ້ສະເພາະທີ່ເປັນ Primary ເທົ່ານັ້ນຫາກຕ້ອງການປ່ຽນຈາກ Primary ເປັນ Secondary
[root@host1 ~]# drbdadm secondary clusterdb_res [root@host2 ~]# drbdadm — –overwrite-data-of-peer primary all
** ຫາກໃຜໄດ້ເປີດໃຊ້ firewall ກໍເປີດ port tcp 7788 ດ້ວຍ
ຂໍ້ມູນເພີ່ມເຕີມ
http://www.drbd.org/
http://www.raspberrypithai.com/2013/01/10/drbd-raspberry-pi/