
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/














