DRBD安装配置
前提:
本配置共有兩個測試節點,分別node1和node2,相的IP地址分別為202.207.178.6和202.207.178.7,管理節點202.207.178.8,對node1和node2進行配置
(為避免影響,先關閉防火墻和SElinux)
1、準備工作:
1)節點名稱必須跟uname -n命令的執行結果一致
node1:
# hostname node1
# vim /etc/sysconfig/network
HOSTNAME=node1
node2:
# hostname node2
# vim /etc/sysconfig/network
HOSTNAME=node2
2)節點之間必須通過ssh互信通信
[root@node1 ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
[root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@202.207.178.7
[root@node2 ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
[root@node2 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@202.207.178.6
3)集群各節點之間時間必須同步
使用ntp服務器同步時間
ntpdate ip(配置了ntp服務的主機地址)
4)配置本地解析:
[root@node1 ~]# vim /etc/hosts
202.207.178.6 node1
202.207.178.7 node2
[root@node1 ~]# scp /etc/hosts node2:/etc/
5)配置管理節點(如不需要,可以不配置)
[root@fsy ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
[root@fsy ~]# ssh-copy-id -i .ssh/id_rsa.pub root@202.207.178.6
[root@fsy ~]# ssh-copy-id -i .ssh/id_rsa.pub root@202.207.178.7
[root@fsy ~]# vim /etc/hosts
202.207.178.6 node1
202.207.178.7 node2
2、安裝yum源及所需軟件包
[root@node1 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
[root@node2 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
[root@node1 ~]# yum -y install drbd83-utils kmod-drbd83
[root@node2 ~]# yum -y install drbd83-utils kmod-drbd83
3、準備存儲設備
在node1和node2上分別創建1個大小為1G 的分區作為存儲設備,我這里是/dev/sdb1
4、編輯主配置文件
[root@node1 ~]# vim /etc/drbd.d/global_common.conf
啟用: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";
}
添加:disk {
? ? ? ? ? ? ? ? # on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes
? ? ? ? ? ? ? ? # no-disk-drain no-md-flushes max-bio-bvecs
? ? ? ? ? ? ? ? on-io-error detach; (發生故障時拆除硬盤)
? ? ? ? }
?net {
? ? ? ? ? ? ? ? # sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers
? ? ? ? ? ? ? ? # max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret
? ? ? ? ? ? ? ? # after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork
? ? ? ? ? ? ? ? cram-hmac-alg "sha1"; (數據報文驗證時使用的算法)
? ? ? ? ? ? ? ? shared-secret "fsyhaonobi"; (密碼)
? ? ? ? }
syncer {
? ? ? ? ? ? ? ? # rate after al-extents use-rle cpu-mask verify-alg csums-alg
? ? ? ? ? ? ? ? rate 200M; (同步時使用的速率)
? ? ? ? }
5、定義資源
[root@node1 ~]# cd /etc/drbd.d/
[root@node1 drbd.d]# vim mydrbd.res
resource mydrbd {
? ? ? ? device /dev/drbd0;
? ? ? ? disk /dev/sdb1;
? ? ? ? meta-disk internal; #數據寫在磁盤內部
? ? ? ? on node1 {
? ? ? ? address 202.207.178.6:7789;
? ? ? ? }
? ? ? ? on node2 {
? ? ? ? address 202.207.178.7:7789;
? ? ? ? }
}
6、使兩個節點上配置文件一致
[root@node1 ~]# scp -r /etc/drbd.* node2:/etc
7、在兩個節點上初始化已定義的資源并啟動服務:
1)初始化資源,在Node1和Node2上分別執行:
# drbdadm create-md mydrbd
2)啟動服務,在Node1和Node2上分別執行:
#/etc/init.d/drbd start
3)查看啟動狀態:(也可以使用drbd-overview命令來查看:# drbd-overview )
# cat /proc/drbd
4)我們接下來需要將其中一個節點設置為Primary。在要設置為Primary的節點上執行如下命令:
# drbdsetup /dev/drbd0 primary –o
也可以在要設置為Primary的節點上使用如下命令來設置主節點:
# drbdadm -- --overwrite-data-of-peer primary mydrbd
之后會發現兩個節點變為一主一從
8、創建文件系統
文件系統的掛載只能在Primary節點進行,因此,也只有在設置了主節點后才能對drbd設備進行格式化:
# mkfs.ext4 /dev/drbd0
# mkdir /mydata?
# mount /dev/drbd0 /mydata/
9、切換Primary和Secondary節點(測試DRBD是否工作正常)
對主Primary/Secondary模型的drbd服務來講,在某個時刻只能有一個節點為Primary,因此,要切換兩個節點的角色,只能在先將原有的Primary節點設置為Secondary后,才能原來的Secondary節點設置為Primary:
主節點上(node1):
[root@node1 ~]# cd /mydata/
[root@node1 mydata]# ls
lost+found
[root@node1 mydata]# cp /etc/inittab ./
[root@node1 mydata]# ls
inittab ?lost+found
[root@node1 ~]# umount /mydata/
[root@node1 ~]# drbdadm secondary mydrbd
[root@node1 ~]# drbd-overview?
0:mydrbd ?Connected Secondary/Secondary UpToDate/UpToDate C r-----
從節點(node2):
[root@node2 ~]# drbdadm primary mydrbd
[root@node2 ~]# drbd-overview
0:mydrbd ?Connected Primary/Secondary UpToDate/UpToDate C r-----
[root@node2 ~]# mkdir /mydata
[root@node2 ~]# mount /dev/drbd0 /mydata/
[root@node2 ~]# cd /mydata/
[root@node2 mydata]# ls
inittab ?lost+found
此時,一切正常!
????????????????????????????????? ? 歡迎批評指正!
轉載于:https://blog.51cto.com/10927734/1867283
總結
- 上一篇: 泰拉瑞亚怎么打世纪之花(汉典泰字的基本解
- 下一篇: thinkPHP5中hasOne和bel