忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 16650 | 回复: 58

SUN Cluster仲裁盘脱机故障处理办法 [复制链接]

论坛徽章:
3
技术图书徽章
日期:2014-02-18 11:00:13操作系统版块每日发帖之星
日期:2016-05-24 06:20:00操作系统版块每日发帖之星
日期:2016-08-11 06:20:00
发表于 2014-02-18 09:33 |显示全部楼层
本帖最后由 有机天使 于 2014-04-01 10:53 编辑

     环境描述:两台SUN M8000,每台主机划分了两个域(域0与域1)其中两个域0做了HA,版本为Solaris Cluster 3.2u3
     
     故障描述:1、关机时,一台主机的0域关闭会自动引起另外一台主机的0域重启,但由于有HA机制,造成重启的主机必须等待关机的主机开启后才能完全进入系统,这就造成了一个死循环了,无法正常关闭系统
                  
                   2、开机的时候,会报错:
111.png
                        我用单用户模式进入系统后,发现存储没挂载,用fsck –y命令后,存储才挂载
                  3、查看SUN Cluster日志,发现频繁报这个警告:
    cl_runtime: [ID 856360 kern.warning] WARNING: QUORUM_GENERIC: quorum_read_keys error: Reading the regi

这3个问题该如何解决啊 帮帮忙~~


    首先感谢本帖中的所有跟帖雷锋,小弟在此谢过了。目前单位的仲裁盘脱机故障已经解决了,几乎完全参考了@东方蜘蛛给出的方案,特别是他博客中提及的方案:http://blog.chinaunix.net/uid-431820-id-29313.html很受用。这里再次感谢;还有@junfer,@byuq也给我指出了光明大道。我当初差点想用2位说的方法了,但最后存储还是有剩余空间了,所以划出了1g的空间做仲裁
    大致步骤:
    1、对数据库进行了备份;
    2、从存储上划分了1G的空间给solaris
    3、scsetup,将新划分的1g作为仲裁盘,online状态
    4、删除之前脱机的仲裁盘
    具体步骤随后我会写出详细过程给大家进行参考,其实基本和@东方蜘蛛的博客说的一模一样

---------------------------------------------------------------------------分割线------------------------------------------------------------------------------

    首先,我要道歉,发帖这么久一直没做更新,耽搁这么久主要也是虽然大致了解了处理过程,但主机一直无法关机,所以未进行处理,前阵子才好不容易申请了关机,现在我将重头把故障现象、分析的原因以及处理的过程进行总结与梳理,因为当初处理故障的时候的记录未记录下来,加上是初学,有的地方如果描述的不对,希望各位大神能及时指正:
  一、故障描述

   1、关机时,一台主机的0域关闭会自动引起另外一台主机的0域重启,但由于有HA机制,造成重启的主机必须等待关机的主机开启后才能完全进入系统,这就造成了一个死循环了,无法正常关闭系统
                  
  2、开机的时候,会报错:

    我用单用户模式进入系统后,发现存储没挂载,用fsck –y命令后,存储才挂载
         
3、查看SUN Cluster日志,发现频繁报这个警告:
  
  cl_runtime: [ID 856360 kern.warning] WARNING: QUORUM_GENERIC: quorum_read_keys error: Reading the regi

二、分析过程

1、查看dmesg信息

      Feb 7 13:27:28 rdmsdb02a cl_runtime: [ID 856360 kern.war
ning] WARNING: QUORUM_GENERIC: quorum_read_keys error: Reading the registration keys failed on quorum device /dev/did/rdsk/d4s2 with error 22.

结论: 通过这个信息判断可能是quorum disk磁盘存在问题
      
2、查看cluster状态
     # scstat
   -- Quorum Votes by Device (current status) --
                    Device Name         Present  Possible  Status
                    -----------         ------- -------- ------
  Device votes:     /dev/did/rdsk/d4s2   0        1       Offline
   
结论:确定quorum disk磁盘offline
   
4、mount信息

  查看/etc/vfstab,发现
“options”选项的信息为logging,所以推断系统未采用文件系统日志功能,故在异常关机后,有可能需要手动执行fsck命令(不知道这样推断是否合理?)
   
三、结论

1、关机错误
  故障概述:一台主机的0域关闭会自动引起另外一台主机的0域重启,但由于有HA机制,造成重启的主机必须等待关机的主机开启后才能完全进入系统,这就造成了一个死循环了,无法正常关闭系统

   故障原因:根据以上问题分析,判断此故障和quorum disk状态为 offline有关。根据cluster的设置原理,quorum disk为重要的投票点,当某个节点出现问题或两节点通讯中断后,为了防止“脑裂”情况出现,权值低的系统自动重启,当quorum disk出现问题,两个节点的票权相同,且都为权值低的节点,某个节点出现问题或两节点通讯中断,两节点都为权值低的节点,故出现重启现象。      
所以此故障是由于Quorum disk 状态为offline,节点启动的过程中两节点都不能获取quorum disk的投票造成反复重启。

  解决方法:新增一块1GB quorum disk专用于quorum disk。删除之前offline的仲裁盘

2、开机错误
故障概述:系统开机后出现循环报错,通过单用户模式进入系统后需用fsck命令校验磁盘后才可挂载上存储磁盘。

故障原因:根据文件系统mount选项为logging,系统在文件系统出现故障时,并不会自动进行fsck处理,需手动干预,所以开机后,由于文件系统报错,且没有自动执行fsck,造成了系统无法开机,需进行人工fsck后才挂载存储的错误。这也是造成了quorum disk 状态为offline的根本原因。(分析是否正确??)
  
解决方法:修改文件系统mount选项,将vfstab文件中的文件系统logging选项调整为缺省

3、quorum disk故障

  故障现象:查看/var/adm/messages日志发现有持续告警信息:Feb 14 03:10:40 rdmsdb01a cl_runtime: [ID 856360 kern.warning] WARNING: QUORUM_GENERIC: quorum_read_keys error: Reading the regi

故障原因:由于quorum disk(4.2T,也是数据盘)盘过大,在调整mount选项后,如文件系统出现问题,在系统启动时依然会由于fsck过程过长,造成quorum disk磁盘获取失败的问题。

  解决方法:将大磁盘分解为多块较小容量的磁盘,磁盘数小于cpu数,但风险较大,暂不实施

四、问题处理步骤
  
1、停止所有资源
#scswitch -F -g oradb_rg    //停止所有资源(VIP也停掉)       
#scswitch -n -j lh_oracle    //关闭各个资源(开机时需手动开启)
#scswitch -n -j oracle-re   
#scswitch -n -j oradata-re   
#scswitch -n -j archive-re   
#scswitch -n -j ora-server-re
#scswitch -n -j ora-lsnr-re  
  
# scstat -g //查看资源组及所有资源状态
  
2、修改vsftab文件
把文件系统logging选项调整为缺省,即将“options”选项的信息的“logging”换成“-”

3、从存储划分一块1g的磁盘给系统

4、操作系统识别并配置磁盘

   #cfgadm –al //两个节点均执行此命令,显示有关 SCSI 设备(如磁盘和磁带)的信息。
   #format  

  AVAILABLE DISK SELECTIONS:
       0. c0**d0 <**>
        ****
       1. c0**d0 <**>
      ****
      2. c1**d1 <HITACHI-OPEN-V-SUN   cyl 278 alt 2 hd 15 sec 512>
         ****
       3. c2**d1 <HITACHI-OPEN-V-SUN  cyl 278 alt 2 hd 15 sec 512>
        ****
       4. c3**d0 <HITACHI-OPEN-V*16   -SUN-4.16TB>
       ****
     目前存储给系统新划分了1G的存储空间,但由于有多块HBA卡,所有系统识别时会将同一块存储空间识别为多块同一大小的硬盘(红色表示的2和3),故要通过多路径软件进行配置,以便存储划分的1g空间在系统上识别为一块1g的硬盘。
    #cd /opt/DynamicLinkManager/bin   //多路径软件所在目录
   #./dlmsetconf  //配置多路径软件,输入命令后系统会自动进行相关设置
KAPL10242-I To configure HDLM, device files of sd/ssd devices managed by HDLM are removed after reboot.
Do you want to continue? [y/n]:n
KAPL10256-I The user terminated the operation.

   #sync;sync;reboot -- -r //重启系统

   #format  //系统识别出的新划分的1g磁盘,且只有一块
AVAILABLE DISK SELECTIONS:
       0. c0**d0 <**>
        ****
       1. c0**d0 <**>
      ****
       2. c3**d0 <HITACHI-OPEN-V*16   -SUN-4.16TB>
       ****
       3. c1**d1 <HITACHI-OPEN-V-SUN  cyl 278 alt 2 hd 15 sec 512>
         ****
    278个磁柱,每个磁柱有15个磁头,每个磁头管理512个扇区,每个扇区的大小均为512字节,所有每个磁柱的大小为15*512*512= 3932160 bytes;一共有278个磁柱,所有此磁盘的大小为278*3932160约等于1G(这样算合适不?希望给予指正)

  Specify disk (enter its number): 3
selecting c3t50060E8005638900d1
[disk formatted]
  format> label   //将新标签写入当前磁盘,标签一般存放了关磁盘的控制器、几何参数和分片的信息,为磁盘设置标签通常是在系统安装过程中或者使用新磁盘时进行的,一般磁盘出厂时都自带标签,但异构环境下,solaris有可能无法识别标签,所以最好重新添加标签。
Ready to label disk, continue? Y
format> quit
#scdidadm -L //查看SUN cluster管理的磁盘情况,找出新加磁盘对应得DXX的号.
以便选择作为仲裁盘的磁盘序号,该磁盘必须两个节点都可以访问的共享磁盘,这里我们选择的是DID号为d8的新划分的1G磁盘。
#scdidadm –C  //将不存在的设备上的映射关系删除
#sync;sync;init 6 //重启系统

5、调整quorum disk

# scsetup   //磁盘组注册为Sun Cluster 磁盘设备组
  *** Main Menu ***
    Please select from one of the following options:
      1) Quorum
        2) Resource groups
        3) Cluster interconnect
        4) Device groups and volumes
        5) Private hostnames
        6) New nodes
        7) Other cluster properties
      ?) Help with menu options
        q) Quit
    Option:  1
*** Quorum Menu ***
    Please select from one of the following options:
      1) Add a quorum disk
        2) Remove a quorum disk
      ?) Help
        q) Return to the Main Menu
          Option:  1    // 将新划分的1g的磁盘设置为仲裁盘,
>>> Add a Quorum Disk <<<
    This option is used to add a quorum disk to the cluster
    configuration. SCSI-2 disks can be used for dual-ported quorum
    devices. However, SCSI-3 PGR disks must be used when there are more
    than two node-to-disk paths. You can use a disk containing user data
    or one that is a member of a device group as a quorum device. For
    more information on supported quorum device topologies, see the Sun
    Cluster documentation.
    Each quorum disk must be connected to at least two nodes. Adding a
    quorum device automatically configures node-to-disk paths for all
    nodes attached to the disk. Later, if you add more nodes to the
    cluster, you might need to update these paths by removing then adding
    back the quorum device.
       Is it okay to continue (yes/no) [yes]?
    Which global device do you want to use (d<N>)? d8 //选择使用哪个全局设备,这里用d8代替d4
    Is it okay to proceed with the update (yes/no) [yes]?  yes
   scconf -a -q globaldev=d8 //至此d8作为一个新的仲裁盘已经添加完毕。
此时,查看cluster状态,会发现仲裁盘会有两块,一块online,一块offline

# scstat -q
-- Quorum Votes by Device –
Device Name    Present     Possible        Status
Device votes:     /dev/did/rdsk/d4s2    0       1       Offline
Device votes:     /dev/did/rdsk/d8s2   1       1       Online

# scconf -r -q globaldev=d4 //删除之前offline的d4删除

此时,再来查看cluster的状态:

# scstat -q
-- Quorum Votes by Device (current status)
                    Device Name         Present Possible Status
                    -----------         ------- -------- ------
  Device votes:     /dev/did/rdsk/d8s2  1        1       Online //只有一个仲裁盘且为online状态

# scswitch -Z -g oradb_rg  //开启所有资源

#scstat   -g   //查看资源状态

所有资源都启动,则一切ok


这样的过程和表述,希望各位大神能给我指正下,特别是一些细节的地方,如有不对或不当之处,请告知 谢谢各位



   

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
发表于 2014-02-18 09:38 |显示全部楼层
估计是你的存储端有问题,导致锁盘离线,你把scstat贴出来看看吧。。。

论坛徽章:
3
技术图书徽章
日期:2014-02-18 11:00:13操作系统版块每日发帖之星
日期:2016-05-24 06:20:00操作系统版块每日发帖之星
日期:2016-08-11 06:20:00
发表于 2014-02-18 10:01 |显示全部楼层
你是说三个问题都是如此吗?还是某一个问题是这样?
东方蜘蛛 发表于 2014-02-18 09:38
估计是你的存储端有问题,导致锁盘离线,你把scstat贴出来看看吧。。。

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
发表于 2014-02-18 10:05 |显示全部楼层
有机天使 发表于 2014-02-18 10:01
你是说三个问题都是如此吗?还是某一个问题是这样?


建议你好好看看cluster概念指南,锁盘是第三方投票设备,一但离线,重启任何一个节点,都会导致另一个节点panic。

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
发表于 2014-02-18 10:08 |显示全部楼层
为了维持集群的稳定性,Sun Cluster软件框架采取了一种称为投票系统(voting system)的机制:
每个节点都被明确分配了一张选票;
指定特定的磁盘(可多个)作为仲裁设备(quorum devices),并给予选票;
采用多数票原则,任何节点的票数必须超过所有选票数的50%才能够形成一个集群或继续呆在集群中。

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
发表于 2014-02-18 10:11 |显示全部楼层
Sun Cluster软件的仲裁使用持久保留来防止节点启动形成集群。节点2将无法使用仲裁设备来完成选票计数。因此节点2将会一直等待直到其他节点(节点1)启动才能达到仲裁选举所需的票数。

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
发表于 2014-02-18 10:13 |显示全部楼层
当一个集群在运行时,它必须能够清楚的知道以下事情:
所有可能的仲裁选票数(节点数+在集群中定义的来自磁盘的仲裁选票数);
所有当前的仲裁选票数(集群中当前启动的节点数+能够被这些节点物理访问的磁盘仲裁选票数);
所有所需的仲裁选票数(必须达到所有可能的仲裁选票数的一半以上,即>50%)。

对选票异常事件,集群软件采用以下处理方式:
如果节点在启动时无法找到所需的选票数,将停滞等待其他节点加入,以获得期待的选票;
已在集群中启动的节点,但无法继续找到所需的选票数,将发生kernel panics。

论坛徽章:
3
技术图书徽章
日期:2014-02-18 11:00:13操作系统版块每日发帖之星
日期:2016-05-24 06:20:00操作系统版块每日发帖之星
日期:2016-08-11 06:20:00
发表于 2014-02-18 10:37 |显示全部楼层
但我关机的时候不应该另外一个主机也自动关闭,以前也么这样,而且现在报的这个警告,您能给我说说啥咋回事吗WARNING: QUORUM_GENERIC: quorum_read_keys error: Reading the regi
回复 7# 东方蜘蛛


   

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
发表于 2014-02-18 10:45 |显示全部楼层
有机天使 发表于 2014-02-18 10:37
但我关机的时候不应该另外一个主机也自动关闭,以前也么这样,而且现在报的这个警告,您能给我说说啥咋回事 ...

我前面说的那些你看不懂么?这个报错明显是cluster在读取锁盘中的key信息出错了。。。。

论坛徽章:
3
技术图书徽章
日期:2014-02-18 11:00:13操作系统版块每日发帖之星
日期:2016-05-24 06:20:00操作系统版块每日发帖之星
日期:2016-08-11 06:20:00
发表于 2014-02-18 10:51 |显示全部楼层
您方便的话能提供个联系方式吗,邮箱或者扣扣什么的,我好和您详细沟通?我现在的主要问题是我关一台主机的时候,另外一台主机自动关闭,开机的时候报图示的错误,这个如何解决呢?

回复 9# 东方蜘蛛


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP