Chinaunix首页 | 论坛 | 博客
  • 博客访问: 600617
  • 博文数量: 152
  • 博客积分: 2684
  • 博客等级: 少校
  • 技术积分: 1126
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-29 11:03
文章分类
文章存档

2012年(6)

2011年(96)

2010年(50)

分类: 系统运维

2011-09-06 16:05:55

本文由taoy_2008在论坛中发表,cu技术文章整理,供大家交流。转载请注明出处,谢谢~
 
 
  
DS4000做LVM Mirror DS4000在LVM层面mirror的问题
一、方案:
    两台DS4000,通过两台SAN交换机,交叉连接到两台P55A服务器,两台DS4000上的之间LUN在AIX LVM上建立mirror关系。

二、环境:
   DS4700×2;P55A(HBA×2)×2;B16×2。

三、过程:
   B16上划分zone,4700上做RAID、LUN,P55A识别一切正常。

   P55A的AIX建立VG、LV、FS,将分属两台4700的LUN所对应的hdisk加入,并且做mirror,一切顺利。

四、测试方案:
    用户提出的其中一个测试方案是在其中一台DS4700彻底下线的时候,另一台可以立即顶上,也就是把一台DS4700关掉,或者把两根光纤全部拔掉,通过这种方法确认LVM mirror可以保证数据的多份镜像,并且在需要的时候可以立即顶上。

五、测试方法:
    拔光纤的同时,用time touch testfile来计算文件系统挂起时间

六、问题:
    在彻底断掉一个DS4700的两根光纤后,发现time touch testfile返回结果大约为15分钟,也就是说当其中一个DS4700彻底挂掉以后,需要15分钟FS才能恢复工作。用户对这个挂起时间严重不满意,并且表示这个时间应该是在秒级,也就是说正常使用应该是几乎没有感觉的。

七、分析:
    内置的SCSI disk如果在LVM mirror后,拔盘测试确实可以非常快的结束挂起(但是没有掐过表),所以这个问题应该存在FC和SCSI之间不同的地方。
    可能相关的属性如下:
server1/>lsattr -El hdisk6
PR_key_value     none                                Persistant Reserve Key Value            True
max_transfer      0x100000                         Maximum TRANSFER Size                  True
queue_depth     10                                   Queue Depth                                  True
reassign_to        120                                  Reassign Timeout value                    True
reserve_policy    single_path                        Reserve Policy                                 True
rw_timeout       30                                    Read/Write Timeout value                True

server1/>lsattr -El fcs0
init_link              al                                     INIT Link flags                                                              True
lg_term_dma      0x800000                         Long term DMA                                                            True
max_xfer_size     0x100000                         Maximum Transfer Size                                                   True
num_cmd_elems 200                                 Maximum number of COMMANDS to queue to the adapter  True
pref_alpa            0x1                                 Preferred AL_PA                                                           True
sw_fc_class         2                                    FC Class for Fabric                                                          True

server1/>lsattr -El dar0
aen_freq            600             Polled AEN frequency in seconds                     True
autorecovery      no               Autorecover after failure is corrected               True
balance_freq      600              Dynamic Load Balancing frequency in seconds   True
held_in_reset     none            Held-in-reset controller                                  True
hlthchk_freq      600              Health check frequency in seconds                  True
load_balancing   no                Dynamic Load Balancing                                  True
switch_retries    5                  Number of times to retry failed switches          True

server1/>lsattr -El fscsi0
dyntrk              no                Dynamic Tracking of FC Devices                       True
fc_err_recov     delayed_fail    FC Fabric Event Error RECOVERY Policy             True
sw_fc_class       3                 FC Class for Fabric                                          True

server1/>lsattr -El fcs0
init_link             al                  INIT Link flags                                                             True
lg_term_dma     0x800000       Long term DMA                                                          True
max_xfer_size    0x100000       Maximum Transfer Size                                                 True
num_cmd_elems 200              Maximum number of COMMANDS to queue to the adapter True
pref_alpa          0x1                Preferred AL_PA                                                          True
sw_fc_class       2                   FC Class for Fabric                                                         True

解决:
1,首先从OS中可能影响FS性能的参数下手,修改/sbin/rc.boot文件中syncd设为10。
   没有效果

2,修改逻辑卷中跟mirror有直接关系的两个参数
     qorume off
     MWC off
3,修改fc的参数
    chdev -l fscsi0 -a fc_err_recov=fast_fail
    前面三步执行完后,挂起时间缩短到5分钟左右。

4,修改阵列的参数
    chdev -l dar0 -a switch_retries=0
    这四步完成后,挂起时间缩短到大约90秒

5,再修改其他参数也没有明显的效果。

    到此,用户对我的耐性到达极点,IBM派人处理,2天后,IBM也只是能做到90秒左右的挂起时间,并且  出说明函给用户。

总结:
   DS4000在LVM mirror镜像可以进一步保证数据的可靠性,但是在挂起时间方面不太理想,虽然经过调整后时间大大缩短,但是除了第一步sync的和第三步中修改fc的fast_fail以外,其他修改可能会带来数据不一致等一些降低可靠性的问题。

感谢:
   在这个问题的处理过程中,wildhorse和orain两位老大给了我很多建议,特此感谢。
阅读(1932) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~