可以看到 mds1 已经接管了,执行命令看一下~
mds1 $> cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@mds1, 2009-01-14 00:39:29
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r---
ns:20596 nr:660 dw:788 dr:20750 al:5 bm:10 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:12
mds1 $> mount
root@mds1:~# mount
/dev/sda1 . / type ext3 (rw,relatime,errors=remount-ro)
tmpfs . /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/proc . /proc type proc (rw,noexec,nosuid,nodev)
sysfs . /sys type sysfs (rw,noexec,nosuid,nodev)
varrun . /var/run type tmpfs (rw,nosuid,mode=0755)
varlock . /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev . /dev type tmpfs (rw,mode=0755)
tmpfs . /dev/shm type tmpfs (rw,nosuid,nodev)
devpts . /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl . /sys/fs/fuse/connections type fusectl (rw)
securityfs . /sys/kernel/security type securityfs (rw)
/dev/drbd0 . /opt type lustre (rw) ---已经挂载上了
好了我们现在 把mds开机
开机后
mds $> cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@mds, 2009-01-14 02:05:53
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r---
ns:0 nr:12 dw:12 dr:0 al:0 bm:2 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
好已经变为辅机了,
8,开机 启动
ln -s /etc/init.d/drbd /etc/rc2.d/S60drbd
ln -s /etc/init.d/drbd /etc/rc3.d/S60drbd
ln -s /etc/init.d/drbd /etc/rc4.d/S60drbd
ln -s /etc/init.d/drbd /etc/rc5.d/S60drbd
9,配置 ost ost1
shell $>mkfs.lustre --reformat --fsname=testfs --ost --mgsnode=mds@tcp0 --mgsnode=mds1@tcp0 /dev/sdb
## --mgsnode=mds@tcp0 --mgsnode=mds1@tcp0 意思是有一台正常就不会影响使用~
shell $> mount -t lustre /dev/sdb /opt
10,配置 client
shell $> mount -t lustre mds@tcp0:mds1@tcp0:/testfs /opt
shell $> cd /opt
shell $> touch test
shell $> ls
test
shell $> dd if=/dev/zero of=test1 bs=1024 count=40000
执行后 在ost 与 ost1 上执行 df -lh 查看结果
ost $> df -lh
/dev/sdb 1008M 34M 924M 4% /opt
ost1 $> df -lh
/dev/sdb 1008M 73M 885M 8% /opt
我们可以清楚看到 40M 的数据写到了 ost1上
再在 client 上执行
client $> dd if=/dev/zero of=test2 bs=1024 count=40000
再去 两台 ost 上查看 结果数据写到了 ost 上
11,在线切换,看 ost 与 client 是否能正常工作~,因为刚刚做过切换测试,现在的 主机是 mds1,那么我就把 mds1关机,看mds接管后,是否正常~
mds1 $> shutdown -h now
ost $> taif /var/log/message 在一台OST 上查看日志
Jan 15 22:24:33 ost kernel: [ 1424.924073] Lustre: Request x49 sent from MGC192.168.6.20@tcp to NID 192.168.6.21@tcp 100s ago has timed out (limit 100s).
Jan 15 22:26:13 ost kernel: [ 1524.787044] Lustre: Request x54 sent from MGC192.168.6.20@tcp to NID 192.168.6.21@tcp 100s ago has timed out (limit 100s).
Jan 15 22:26:13 ost kernel: [ 1524.787135] Lustre: Changing connection for MGC192.168.6.20@tcp to MGC192.168.6.20@tcp_0/192.168.6.20@tcp
Jan 15 22:26:13 ost kernel: [ 1524.802552] Lustre: 3501:0:(import.c:700:ptlrpc_connect_interpret()) MGS@MGC192.168.6.20@tcp_0 changed server handle from 0xcb3cb29f8eba6fc0 to 0x441e063eb5523617 - evicting.
Jan 15 22:26:13 ost kernel: [ 1524.803661] Lustre: MGC192.168.6.20@tcp: Reactivating import
Jan 15 22:26:13 ost kernel: [ 1524.803673] Lustre: MGC192.168.6.20@tcp: Connection restored to service MGS using nid 192.168.6.20@tcp
这里会有一段时间的,好服务已经切换到 mds上了 我们去 client去看一下。
client $> ls
test test1 test2
三个文件没有我呢题~
好了 热切换已经OK了,注意的是切换的时候会有一段时间不能读写是正常的!
注意了,测试的时候不要在虚拟机禁用网卡,因为你禁用网卡 eth0:0 这个虚拟IP并没有卸载掉,所以你在 开启网卡的时候会导致 drbd 都认为自己是 主服务器,会导致 drbd_split-brain错误,如果出现这个错误,在 当前 辅机器上执行(注意是当前, cat /proc/drbd查看)
drbdadm secondary r0 (我的是r0你的是多少就多少)
drbdadm disconnect r0
drbdadm -- --discard-my-data connect r0
在当前 主机上执行
drbdadm connect r0
我之演示的是 MDS 切换,OST 切换也是如此,
不过是 mkfs.lustre 创建文件系统的时候也要加,slave机器!
--failnode=ost_slave
只有加了 slave才会接管
.
分页: [1] [2] [3]
TAG: luster1.6.5 drbd 主备切换