CentOS 6.x系統要升級到最新的內核才支持node
CentOS 6.x網絡
rpm -ivh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm yum -y install drbd83-utils kmod-drbd83
CentOS 7.xspa
rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum install -y drbd84-utils kmod-drbd84
加載模塊:code
modprobe drbd
echo drbd >/etc/modules-load.d/drbd.conf
兩臺機器時間同步,並修改/etc/hosts文件blog
10.205.22.185 node1 10.205.22.187 node2
兩臺主機分別修改主機名md5
hostname node1 hostname node2
修改配置文件(兩臺機器配置同樣)同步
/etc/drbd.d/global_common.conf配置文件it
global { usage-count yes; #是否參加DRBD使用者統計,默認是參加 } common { protocol C; #使用DRBD的第三種同步協議,表示收到遠程主機的寫入確認後認爲寫入完成 handlers { pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-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/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f"; } startup { wfc-timeout 240; degr-wfc-timeout 240; outdated-wfc-timeout 240; } disk { on-io-error detach; } net { #DRBD同步時使用的驗證方式和密碼 cram-hmac-alg md5; shared-secret "testdrbd"; } syncer { rate 30M; #主節點和備用節點同步時最大的網絡速率 } }
/etc/drbd.d/r0.res配置文件io
resource r0 { on node1 { device /dev/drbd0; disk /dev/sdb1; address 10.205.22.185:7898; meta-disk internal; } on node2 { device /dev/drbd0; disk /dev/sdb1; address 10.205.22.187:7898; meta-disk internal; } }
準備好/dev/sdb1分區class
初始化磁盤文件格式,比喵建立數據塊的時候報錯。
dd if=/dev/zero bs=1M count=1 of=/dev/sdb1; sync
在兩臺機器上分別建立數據塊
drbdadm create-md r0
在兩臺機器都啓動服務
/etc/init.d/drbd start
設定主,並查看狀態(drbd84-utils版本用, drbdadm -- --overwrite-data-of-peer primary r0設爲主)
drbdsetup /dev/drbd0 primary -o
cat /proc/drbd
在主上格式磁盤,掛載並寫入文件,主備切換查看同步狀況
mkfs.ext4 /dev/drbd0 mount /dev/drbd0 /drbd
主備手動切換:
1.先將主上面的磁盤卸載掉並降級 umount /dev/drbd0 drbdadm secondary r0 2.在備機上升級爲主機 drbdadm primary r0 3.掛載磁盤 mount /dev/drbd0 /media/mnt