Centos 5.5 安装DRBD

Centos5.5 32bit安装DRBD

  • 安装前准备
节点类型IP地址规划主机名
主用节点192.168.1.101node2
备用节点192.168.1.102node1
磁盘两台10G磁盘

在主节点安装DRBD

1
[root@node2 ~]# yum -y install kmod-drbd83 drbd83

安装成功之后/sbin目录下面有drbdadm,drbdmeta,drbdsetup命令,以及/etc /init.d/drbd启动脚本。

  • 备用节点安装DRBD
1
[root@node1 ~]# yum -y install kmod-drbd83 drbd83

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[root@node2 ~]# cat /etc/drbd.conf
#
# please have a a look at the example configuration file in
# /usr/share/doc/drbd83/drbd.conf
#
# drbd.conf
# create by dba.gao@gmail.com at 2010-10-11
global {
# minor-count 64;
# dialog-refresh 5; # 5 seconds
# disable-ip-verification;
usage-count no; #是否参加DRBD使用者统计,默认yes
}
common {
syncer { rate #设置主备节点同步时的网络速率最大值,单位是字节。
200M; }
}
resource r0 {
protocol C;
# 使用drbd的第三种同步协议,表示收到远程主机的写入确认后,则认为写入完成
handlers {
pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
fence-peer "/usr/lib64/heartbeat/drbd-peer-outdater -t 5";
pri-lost "echo pri-lost. Have a look at the log files. | mail -s 'DRBD Alert' root";
split-brain "/usr/lib/drbd/notify-split-brain.sh root";
out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
}
net {
# timeout 60;
# connect-int 10;
# ping-int 10;
# max-buffers 2048;
# max-epoch-size 2048;
cram-hmac-alg "sha1";
shared-secret "MySQL-HA";
# DRBD同步时使用的验证方式和密码信息。
}
disk {
on-io-error detach;
fencing resource-only;
}
startup {
wfc-timeout 120;
degr-wfc-timeout 120;
}
device /dev/drbd0;
#这里配置档我们挂在的系统的磁盘标示驱动盘符; on node2 {
#每个主机的说明以on开头,后面是hostname(uname - n),在后面的{}中为这个主机的配置。
disk /dev/sdb5;
#/dev/drbd0使用的磁盘分区是/dev/sdb5
address 192.168.1.101:7788;
IP地址以及DRBD使用的端口 meta-disk internal;
}
on node1 {
disk /dev/sdb5;
address 192.168.1.102:7788; 和上述一样
meta-disk internal; #drbd的元数据存放方式 }
}

    配置完成后启动节点,在启动DRBD之前,你需要分别在两台主机的hd分区上,创建供DRBD记录信息的数据块.分别在两台主机上执行(这里注意:在创建分区之前我们需要吧磁盘的分区分好)

img

分区分好以后先不要挂在和格式化(挂在以后创建会报错),然后创建供DRBD记 录信息的数据块

1
2
3
[root@node2 ~]# drbdadm create-md r0
[root@node1 ~]# drbdadm create-md r0
或者执行drbdadm create-md all
  • 在两个节点启动服务

    1
    2
    [root@node2 ~]# /etc/init.d/drbd start
    [root@node1 ~]# /etc/init.d/drbd start
  • 在任意节点查看节点状态

1: 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:b oos:2007644

对输出的含义解释如下:
ro表示角色信息,第一次启动drbd时,两个drbd节点默认都处于Secondary状态,
ds是磁盘状态信息,“Inconsistent/Inconsisten”,即为“不一致/不一致” 状态,表示两个节点的磁盘数据处于不一致状态。
Ns表示网络发送的数据包信息。

这里我设置是node2

1
2
[root@node2 ~]# drbdsetup /dev/drbd1 primary –o 或者执行下面命令也是可以的
[root@node2 ~]#drbdadm -- --overwrite-data-of-peer primary all

第一次执行完此命令后,在后面如果需要设置哪个是主节点时,就可以使用另 外一个命令:

1
[root@node2 ~]#/sbin/drbdadm primary r0或者/sbin/drbdadm primary all

执行此命令后,开始同步两台机器对应磁盘的数据

1
2
3
4
5
[root@ node2 ~]#cat /proc/drbd
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r--- -
ns:576224 nr:0 dw:0 dr:581760 al:0 bm:34 lo:84 pe:369 ua:256 ap:0 ep:1 wo:b oos:1443196
[====>...............] sync'ed: 28.4% (1443196/2007644)K delay_probe: 69
finish: 0:03:56 speed: 6,024 (5,876) K/sec

最后格式化文件系统,由于mount操作只能在主节点进行,所以只有设置了主节点后才能格式化磁盘分 区,然后挂载:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@node2 ~]# mkfs -t ext3 /dev/drbd0
[root@node2 ~]# mount /dev/drbd0 /data/
[root@node2 ~]# df -h
Filesystem
/dev/sda3
/dev/sda1
tmpfs
/dev/drbd0
Size Used Avail Use% Mounted on
28G 3.7G 23G 15% /
487M 22M 440M 5% /boot
125M 0 125M 0% /dev/shm
9.9G 151M 9.2G 2% /data

    Dw是磁盘写信息;Dr是磁盘读信息;启动DRBD后设置主次节点,选择需要设置主机的主节点,然后执行如下命令: 这里我设置是node2

坚持原创技术分享,您的支持将鼓励我继续创作!
0%