一.元数据服务器上的安装与配置
1.drbd的安装与配置
1.)DRBD安装(这里选择yum来安装,也可以下载源码编译安装)
[root@mfs-master ~]# yum -y install kmod-drbd83 drbd83
[root@mfs-master ~]# modprobe drbd
[root@mfs-master ~]# lsmod |grep -i drbd
drbd 300440 2
如果没有提示,则系统找不到相应的模块执行下面的命令找到drbd.ko:
[root@mfs-master ~]# modprobe -l | grep -i drbd
/lib/modules/2.6.18-308.4.1.el5/extra/drbd83/drbd.ko
2.)DRBD配置
修改配置文件:
[root@mfs-master ~]# mv /etc/drbd.conf /etc/drbd.conf.bak
[root@mfs-master ~]# cat /etc/drbd.conf
global { usage-count yes; } common { syncer { rate 50M; } } resource r0 { protocol C; net { cram-hmac-alg sha1; shared-secret "secret string"; } onmfs-master { device /dev/drbd1; disk /dev/sdb; address 192.168.8.200:7898; meta-disk internal; } on mfs-bak { device /dev/drbd1; disk /dev/sdb; address 192.168.8.201:7898; meta-disk internal; } }
3.)创建一个ro 资源
[root@mfs-master ~]# drbdadm create-md r0
4.)启动DRBD
[root@mfs-master ~]# /etc/init.d/drbd start
或
[root@mfs-master ~]# service drbd start
[root@mfs-master ~]# cat /proc/drbd
1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
ns:2007644 nr:0 dw:0 dr:2007644 al:0 bm:123 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
对输出的含义解释如下:
ro表示角色信息,第一次启动drbd时,两个drbd节点默认都处于Secondary状态,
ds是磁盘状态信息,“Inconsistent/Inconsisten”,即为“不一致/不一致”状态, 表示两个节点的磁盘数据处于不一致状态。
Ns表示网络发送的数据包信息。
Dw是磁盘写信息
Dr是磁盘读信息
PS:以上步骤主备一样!!!!!!!!!!
+++++++++++++++++++++++++++++++++++++++++++++++++++
在mfs-master服务器上操作:
5.)设置主备节点
由于默认没有主次节点之分,因而需要设置两个主机的主次节点,选择需要设置为主节点的主机,然后执行如下命令:
[root@mfs-master ~]# drbdsetup /dev/drbd1 primary -o
或者
[root@mfs-master ~]# drbdadm -- --overwrite-data-of-peer primary all
接下来再执行如下命令
[root@mfs-master ~]# drbdadm primary r0
要是有多个资源的话可以执行以下命令:
[root@mfs-master ~]# drbdadm primary all
执行此命令后,开始同步两台机器对应磁盘的数据!
[root@mfs-master ~]# 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
从输出可知:“ro状态现在变为“Primary/Secondary”,“ds”状态也变为“UpToDate/Inconsistent”,也就是“实时/不一致”状态,现在数据正在主备两个主机的磁盘间进行同步,且同步进度为28.4%,同步速度每秒5.8M左右。
只有出现了Primary/Secondary表示主从机器已经识别到对方了,drbd启动正常。
等待片刻,再次查看同步状态,输出如下:
[root@mfs-master ~]#cat /proc/drbd
1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
ns:2007644 nr:0 dw:0 dr:2007644 al:0 bm:123 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
我们再到备份服务器上查看下:
[root@ mfs-bak ~]#cat /proc/drbd
1: cs:WFConnection ro:Secondary/Primary ds:UpToDate/UpToDate C r----
ns:0 nr:4 dw:4 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
可以看到同步完成了,并且“ds“状态也变为“UpToDate/UpToDate”了。即为“实时/实时”状态了。
6.)格式化并挂载文件系统
mount操作只能在主节点进行
[root@mfs-master ~]# mkfs.ext3 /dev/drbd1
[root@mfs-master ~]# mount /dev/drbd1 /usr/local/mfs
[root@mfs-master ~]# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda5 on /data type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/drbd1 on /data type ext3 (rw)
PS:这里最好挂载到mfs的安装目录(后面主备服务器的MFS安装目录与这里的挂载目录相同!)
7.)正常切换
在主节点卸载磁盘分区,然后执行
[root@mfs-master ~]# drbdadm secondary all
如果不执行这个命令,直接在备用节点执行切换到主节点的命令,会报错:
2: State change failed: (-1) Multiple primaries not allowed by config
Command 'drbdsetup 2 primary' terminated with exit code 11
接着,在备用节点执行
[root@mfs-bak ~]# drbdadm primary all
最后在备用节点挂载磁盘分区即可:
[root@mfs-bak ~]# mount /dev/drbd1 /mnt/mfs