Dec
16
[原]双机双盘柜failover配置说明
2、建立软RAID1
详细的命令就不说了,可以参考之前的配置[原]用mdadm管理软件RAID 。
先在一台主机上进行(假设是db1)
◎先建立linux softraid分区
# fdisk /dev/sdd
使用n命令建立新分区,然后用t命令设置为fd,即softraid分区,最后用w保存分区表。
引用
# fdisk /dev/sdg
n
t----fd
w
n
t----fd
w
对另一盘柜上的对应分区进行同样的操作。
◎创建软RAID1
# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 /dev/sdg1
◎状态
引用
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdg1[1] sdd1[0]
4891648 blocks [2/2] [UU]
[=========>...........] resync = 48.1% (2356928/4891648) finish=1.3min speed=30573K/sec
unused devices:
Personalities : [raid1]
md0 : active raid1 sdg1[1] sdd1[0]
4891648 blocks [2/2] [UU]
[=========>...........] resync = 48.1% (2356928/4891648) finish=1.3min speed=30573K/sec
unused devices:
◎测试
# dd if=/dev/zero of=/dev/md0
正常情况:
引用
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdd 32.67 0.00 5504.95 0 5560
sde 0.00 0.00 0.00 0 0
sdf 0.00 0.00 0.00 0 0
sdg 1979.21 15580.20 5457.43 15736 5512
md0 2626.73 15580.20 5433.66 15736 5488
avg-cpu: %user %nice %sys %iowait %idle
0.00 0.00 2.00 23.00 75.00
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdd 32.67 0.00 5504.95 0 5560
sde 0.00 0.00 0.00 0 0
sdf 0.00 0.00 0.00 0 0
sdg 1979.21 15580.20 5457.43 15736 5512
md0 2626.73 15580.20 5433.66 15736 5488
avg-cpu: %user %nice %sys %iowait %idle
0.00 0.00 2.00 23.00 75.00
故障模拟:
引用
# mdadm /dev/md0 --fail /dev/sdd1 --remove /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md0
mdadm: hot removed /dev/sdd1
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdg1[1]
4891648 blocks [2/1] [_U]
unused devices:
# mdadm -D --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=b8f291ec:cd76eb10:55637557:8381f70f
devices=/dev/sdg1
avg-cpu: %user %nice %sys %iowait %idle
0.25 0.00 2.51 22.31 74.94
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 45.00 8.00 560.00 8 560
sdb 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdd 2851.00 22520.00 24664.00 22520 24664
sde 0.00 0.00 0.00 0 0
sdf 0.00 0.00 0.00 0 0
sdg 291.00 2032.00 24688.00 2032 24688
md0 6149.00 24552.00 24640.00 24552 24640
avg-cpu: %user %nice %sys %iowait %idle
0.50 0.00 2.99 21.95 74.56
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdd 0.00 0.00 0.00 0 0
sde 0.00 0.00 0.00 0 0
sdf 0.00 0.00 0.00 0 0
sdg 3682.00 29040.00 36992.00 29040 36992
md0 8250.00 29040.00 36960.00 29040 36960
mdadm: set /dev/sdd1 faulty in /dev/md0
mdadm: hot removed /dev/sdd1
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdg1[1]
4891648 blocks [2/1] [_U]
unused devices:
# mdadm -D --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=b8f291ec:cd76eb10:55637557:8381f70f
devices=/dev/sdg1
avg-cpu: %user %nice %sys %iowait %idle
0.25 0.00 2.51 22.31 74.94
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 45.00 8.00 560.00 8 560
sdb 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdd 2851.00 22520.00 24664.00 22520 24664
sde 0.00 0.00 0.00 0 0
sdf 0.00 0.00 0.00 0 0
sdg 291.00 2032.00 24688.00 2032 24688
md0 6149.00 24552.00 24640.00 24552 24640
avg-cpu: %user %nice %sys %iowait %idle
0.50 0.00 2.99 21.95 74.56
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdd 0.00 0.00 0.00 0 0
sde 0.00 0.00 0.00 0 0
sdf 0.00 0.00 0.00 0 0
sdg 3682.00 29040.00 36992.00 29040 36992
md0 8250.00 29040.00 36960.00 29040 36960
可以看到对md0的读写能保持持续进行,测试成功。
◎故障恢复
引用
# mdadm /dev/md0 -add /dev/sdd1
mdadm: hot added /dev/sdd1
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd1[2] sdg1[1]
4891648 blocks [2/1] [_U]
[======>..............] recovery = 30.3% (1483008/4891648) finish=1.6min speed=33449K/sec
# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Fri Dec 15 20:21:00 2006
Raid Level : raid1
Array Size : 439514176 (419.15 GiB 450.06 GB)
Device Size : 439514176 (419.15 GiB 450.06 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri Dec 15 20:21:00 2006
State : clean, recovering
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Rebuild Status : 0% complete
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 97 1 active sync /dev/sdg1
UUID : b8f291ec:cd76eb10:55637557:8381f70f
Events : 0.995
mdadm: hot added /dev/sdd1
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd1[2] sdg1[1]
4891648 blocks [2/1] [_U]
[======>..............] recovery = 30.3% (1483008/4891648) finish=1.6min speed=33449K/sec
# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Fri Dec 15 20:21:00 2006
Raid Level : raid1
Array Size : 439514176 (419.15 GiB 450.06 GB)
Device Size : 439514176 (419.15 GiB 450.06 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri Dec 15 20:21:00 2006
State : clean, recovering
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Rebuild Status : 0% complete
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 97 1 active sync /dev/sdg1
UUID : b8f291ec:cd76eb10:55637557:8381f70f
Events : 0.995
◎保存配置
echo DEVICE /dev/sd[dg]1 >> /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
3、软RAID停止和激活
停止:
# mdadm --stop /dev/md0
激活:
# mdadm -As /dev/md0
※请注意,使用-As选项前,必须先保存好上面的配置,否则请用-E选项。
4、备机的设置
对于备机(db2)不需要重建软RAID,也千万不要重建,否则UUID改变后,会严重影响db1的识别。正确的步骤应该是:
a、拷贝db1的/etc/mdadm.conf到db2对应的地方:
scp /etc/mdadm.conf db2:/etc
b、重启db2
当db2重启的时候,请留意是否能正确识别到已经建立的软RAID。当然,这个时候db2也会进行一次初始化。但由于我们建立的是RAID1,这样同时对盘柜的进行读写,是没有问题的。注意事项,请看最后的说明。
四、其他配置
当使用两盘柜分区建立软RAID1后,应用的共享数据应存放在/dev/md0上。为保证应用的冗余,还应正确配置红旗HA软件,以确保网络或应用故障时,应用能持续运行。
五、特别注意
由于建立或激活软RAID时,系统会自动进行初始化,此时可能会出现两盘柜同时被两主机进行读写的过程。这在通常情况下时不允许的,或尽可能避免的。所以,建议使用该配置方法的时候,使用下面任一措施避免:
引用
1、先在一台主机上建立软RAID,并初始化,完成后,再激活另一主机上的软RAID(千万不要再建一次);
这可以避免同时对磁盘进行读写;当然,建立软RAID1似乎没有这样的问题,但我还是希望大家按照这样的顺序操作比较好。
2、正确配置HA软件,不要让系统使用/etc/fstab进行自动挂载,而在HA的配置脚本中,让活动的主机激活软RAID,切换的时候停止,然后再让备机激活。
这可以避免同时对磁盘进行读写;当然,建立软RAID1似乎没有这样的问题,但我还是希望大家按照这样的顺序操作比较好。
2、正确配置HA软件,不要让系统使用/etc/fstab进行自动挂载,而在HA的配置脚本中,让活动的主机激活软RAID,切换的时候停止,然后再让备机激活。

但双盘柜架构是否必要?有保留。