Drbd的配置于使用二

1.配置Drbd

drbd安装完成之后,默认的配置文件在/etc/drbd.d/global_common.conf以下是两台主机节点配置的drbd.conf文件实例:

1)定义全局配置文件:

[cc lang="php"]
global {

usage-count no; //用户是否参加使用者统计。

 

# minor-count dialog-refresh disable-ip-verification

}

 

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";

# fence-peer "/usr/lib/drbd/crm-fence-peer.sh";

# split-brain "/usr/lib/drbd/notify-split-brain.sh root";

# out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";

# before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";

# after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;

}

 

startup {

#wfc-timeout 120;

#degr-wfc-timeout 120;

}

 

disk {

on-io-error detach;

#fencing resource-only;

}

 

net {

cram-hmac-alg "sha1";

shared-secret "mydrbdlab"; //生成一个共享密钥

}

 

syncer {

rate 1000M; //设置主备同步时候的网络速率,默认为字节。

 

}

}

[/cc]
2)定义资源配置文件:

node2.test.com 这块主机名一定要跟uname -n所看到的主机名一直

[root@node1 /]# vim /etc/drbd.d/web.res
[cc lang="php"]

resource web {

on node1.test.com {

device   /dev/drbd0;

disk     /dev/sdb1;

address   172.16.249.23:7789;

meta-disk internal;

}

on node2.test.com {

device   /dev/drbd0;

disk     /dev/sdb1;

address   172.16.249.164:7789;

meta-disk internal;

}

}
[/cc]复制到node2上面。

[cc lang="php"]
[root@node1 drbd.d]# scp -r /etc/drbd.d/* node2:/etc/drbd.d/
[/cc]

2.启动Drbd

1)在两个节点执行启动

这里的web为上面定义的资源配置文件名

[cc lang="php"]
[root@drbd ~]# drbdadm   create-md web
[/cc]

2)在两节点启动服务

[cc lang="php"]
[root@drbd1 ~]# /etc/init.d/drbd start

[root@drbd2 ~]# /etc/init.d/drbd start

 

[root@node1 drbd.d]# /etc/init.d/drbd start

Starting DRBD resources: [

create res: web

prepare disk: web

adjust disk: web

adjust net: web

]
[/cc]

3)在节点查看状态
[cc lang="php"]

[root@node1 drbd.d]# cat /proc/drbd

version: 8.4.5 (api:1/proto:86-101)

GIT-hash: 1d360bde0e095d495786eaeb2a1ac76888e4db96 build by root@node1.magedu.com, 2015-01-02 12:06:20

0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----

ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:1060184
[/cc]

对输出的含义解释如下:

ro表示角色信息,第一次启动drbd时候,两个drbd节点都默认处于secondary状态

ds是磁盘状态信息,"inconsisetent/inconsisten"为 "不一致/不一致"状态,表示两个节点的磁盘数据都处于不一致的状态。

NS表示网络发送的数据包信息

dw是磁盘写入信息

dr是磁盘读取信息

4)设置主节点

默认没有主次之分,所以要设置主从节点,选择需要设置的节点主机,然后执行:

[cc lang="php"]
[root@node1 drbd.d]# drbdadm   primary --force web

[root@node1 drbd.d]# cat /proc/drbd

version: 8.4.5 (api:1/proto:86-101)

GIT-hash: 1d360bde0e095d495786eaeb2a1ac76888e4db96 build by root@node1.magedu.com, 2015-01-02 12:06:20

0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----

ns:119804 nr:0 dw:0 dr:123552 al:0 bm:0 lo:0 pe:1 ua:4 ap:0 ep:1 wo:f oos:941400

[=>..................] sync'ed: 11.6% (941400/1060184)K

finish: 0:00:23 speed: 39,592 (39,592) K/sec

[root@node1 drbd.d]# watch -n1 'cat /proc/drbd' 不断刷新查看

[/cc]
所有读写操作只能在主节点上完成,从节点只能挂载。

 

5)格式化文件系统

由于mount操作只能在主节点上进行,所以只有设置主节点之后才能格式化磁盘,然后挂载

[cc lang="php"]
[root@node1 drbd.d]# mke2fs -t   ext4 /dev/drbd0

[root@node1 drbd.d]# mount /dev/drbd0 /mnt/
[/cc]

3.Drbd主备节点切换

1)卸载磁盘把node1设置为从节点

[cc lang="php"]
[root@node1 drbd.d]# umount /dev/drbd0 卸载

[root@node1 drbd.d]# drbdadm secondary web

[root@node1 drbd.d]# drbd-overview

0:web/0 Connected Secondary/Secondary UpToDate/UpToDate
[/cc]

2)在node2上设置为主节点并挂载磁盘

[cc lang="php"]
[root@node2 mnt]# drbdadm   primary web

[root@node2 mnt]# drbd-overview

0:web/0 Connected Primary/Secondary UpToDate/UpToDate

[root@node2 mnt]# mount /dev/drbd0 /mnt/ 挂载
[/cc]

drbd1


发表评论

登录 后发表评论.