免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4567 | 回复: 6
打印 上一主题 下一主题

[系统管理] AIX操作系统卷组故障维护 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 16:26 |只看该作者 |倒序浏览
AIX操作系统卷组故障维护








故障描述:

4.20日早晨,发现日报没有正常发送,登录数据库备机查看原因,查看系统的log命令:


errpt |more

没有发现什么异常,不过发现有如下错误:

  1. F3931284   0410055009 I H ent2           ETHERNET NETWORK RECOVERY MODE
  2. F3931284   0410055009 I H ent0           ETHERNET NETWORK RECOVERY MODE
  3. 173C787F   0410053709 I S topsvcs        Possible malfunction on local adapter
  4. 173C787F   0410053709 I S topsvcs        Possible malfunction on local adapter
  5. EC0BCCD4   0410053709 T H ent2           ETHERNET DOWN
  6. EC0BCCD4   0410053709 T H ent0           ETHERNET DOWN
复制代码
这个时间正好是同事更换以太网交换机的时间

查看数据库同步脚本log:

  1. # sh /home/oracle/sh/rmanres.sh
  2. [YOU HAVE NEW MAIL]
  3. 0516-040 lqueryvg: Unable to read the specified physical volume
  4.         descriptor area.
  5. 0516-932 /usr/sbin/syncvg: Unable to synchronize volume group backvg.
  6. [YOU HAVE NEW MAIL]

  7. restoring datafile 00058 to /u01/oracle/product/9.2.0/oradata/orcl/yy33.dbf
  8. restoring datafile 00059 to /u01/oracle/product/9.2.0/oradata/orcl/yy34.dbf
  9. released channel: ch1
  10. RMAN-00571: ===========================================================
  11. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
  12. RMAN-00571: ===========================================================
  13. RMAN-03002: failure of restore command at 04/20/2009 12:06:25
  14. ORA-19501: read error on file "/u03/orabackup/rman/orcl_db_684391660_523_1", blockno 8192001 (blocksize=8192)
  15. ORA-27063: skgfospo: number of bytes read/written is incorrect
  16. IBM AIX RISC System/6000 Error: 12: Not enough space
  17. Additional information: -1
  18. Additional information: 1048576
  19. ORA-19501: read error on file "/u03/orabackup/rman/orcl_db_684391660_523_1", blockno 8191873 (blocksize=8192)
  20. ORA-27063: skgfospo: number of bytes read/written is incorrect

  21. Recovery Manager complete.
  22. [YOU HAVE NEW MAIL]

  23. SQL*Plus: Release 9.2.0.1.0 - Production on Mon Apr 20 12:06:26 2009

  24. Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

  25. SP2-0640: Not connected
  26. SP2-0640: Not connected
  27. ERROR:
  28. ORA-12500: TNS:listener failed to start a dedicated server process


  29. SP2-0640: Not connected
  30. SP2-0640: Not connected

  31. 系统日志:
  32. # ps -ef |more
  33.      UID    PID   PPID   C    STIME    TTY  TIME CMD
  34.     root      1      0   0   Dec 16      -  0:55 /etc/init
  35.     root  61572  78170   0   Dec 16      - 359:56 dtgreet
  36.     root  69798      1   0   Dec 16      -  0:00 /usr/lib/errdemon
  37.     root  73882      1   0   Dec 16      - 71:56 /usr/sbin/syncd 60
  38.     root  90242      1   0   Dec 16      -  0:00 /usr/dt/bin/dtlogin -daemon
  39.     root 102438 344388   0 13:18:46  pts/7  0:00 -ksh
  40.     root 118898 102438   0 13:19:03  pts/7  0:00 ps -ef
  41.     root 127086      1   0   Dec 16      -  0:00 /usr/ccs/bin/shlap64
  42.     root 143514 106918   0   Dec 16      -  0:00 /usr/sbin/rsct/bin/IBM.ERrmd
  43.     root 155816 106918   0   Dec 16      -  2:24 /usr/sbin/rsct/bin/IBM.CSMAgentRMd
  44.     root 159976 106918   0   Dec 16      -  3:08 /usr/sbin/rsct/bin/rmcd -a IBM.LPCommands -r
  45.     root 164070 352610   0   Dec 16      - 37:11 /usr/sbin/rsct/bin/hats_nim
  46.   daemon 168160 106918   0   Dec 16      -  0:00 /usr/sbin/rpc.statd -d 0 -t 50
  47.   oracle 180262      1   0   Dec 16      -  0:02 ora_reco_rmandb
  48.     root 184400 106918   0   Dec 16      -  1:01 /usr/sbin/gsclvmd
  49.   oracle 205000      1   0 11:26:43      -  0:00 ora_pmon_orcl
  50.     root 233570 106918   0   Dec 16      -  7:56 /usr/sbin/rsct/bin/IBM.HostRMd
  51.   oracle 237696      1   0 12:29:22      -  0:00 oracleorcl (LOCAL=NO)
  52.     root 241712 352610   0   Dec 16      - 50:29 /usr/sbin/rsct/bin/hats_rs232_nim
  53.     root 245830 106918   0   Dec 16      -  0:00 /usr/sbin/muxatmd
  54.     root 278610 352610   0   Dec 16      - 30:31 /usr/sbin/rsct/bin/hats_nim
  55.   oracle 307362      1   0   Dec 16      -  0:06 ora_d000_rmandb
  56.     root 315394 106918   0   Dec 16      -  0:10 /usr/sbin/aixmibd
  57.     root 352384 106918   0   Dec 16      -  0:05 /usr/sbin/snmpmibd
  58.     root 372834      1   0 12:13:02      -  0:00 lsvg -o
  59.   oracle 389264      1   0 11:26:43      -  0:00 ora_ckpt_orcl
  60.     root 393248      1   0 12:11:24      -  0:00 lsvg -o
  61.     root 397368      1   0 12:21:43      -  0:00 lsvg -o
  62.     root 405556      1   0 12:15:51      -  0:00 lspv
  63.     root 417854 450810   0 12:06:28      -  0:00 lqueryvg -g 00c64e4b00004c000000011dbddadf95 -CX
  64.     root 426226      1   0 12:47:15      -  0:00 lsvg statvg
  65.   oracle 434210      1   0 12:07:13      -  0:00 oracleorcl (LOCAL=NO)
  66.   oracle 442388      1   0 11:26:43      -  0:00 ora_lgwr_orcl
  67.   oracle 446680      1   0 11:26:43      -  0:00 ora_dbw0_orcl
  68.     root 450810      1   0 12:06:28      -  0:00 /usr/bin/ksh /usr/sbin/varyoffvg backvg
  69.     root  61802  90242   0   Dec 16      -  8:20 /usr/lpp/X11/bin/X -D /usr/lib/X11//rgb -T -force :0 -auth /var/dt/A:0-ozyiia
  70.     root  74076 106918   0   Dec 16      -  1:34 /usr/sbin/snmpd
  71.     root  78170  90242   0   Dec 16      -  0:00 dtlogin <:0>        -daemon
  72.     root  86416 106918   0   Dec 16      -  0:02 /usr/sbin/syslogd
  73.     root  94582 106918   0   Dec 16      -  0:00 /usr/sbin/inetd
  74.     root  98768 106918   0   Dec 16      - 13:14 /usr/es/sbin/cluster/clcomd -d
  75.     root 106918      1   0   Dec 16      -  0:00 /usr/sbin/srcmstr
  76.     root 115134 106918   0   Dec 16      -  0:00 /usr/sbin/portmap
  77.     root 119210      1   0   Dec 16      -  0:22 /usr/sbin/cron
  78.     root 131516      1   0   Dec 16      -  0:00 /usr/sbin/uprintfd
  79.     root 139680      1   0   Dec 16   lft0  0:00 /usr/sbin/getty /dev/console
  80.     root 143754 102438   0 13:19:03  pts/7  0:00 more
  81.     root 151986 106918   0   Dec 16      -  0:00 /usr/sbin/rsct/bin/IBM.ServiceRMd
  82.     root 156076 106918   0   Dec 16      -  0:00 /usr/sbin/rsct/bin/IBM.AuditRMd
  83.   oracle 168230      1   0 11:26:43      -  0:00 ora_d000_orcl
  84.   oracle 172368      1   0 11:26:43      -  0:00 ora_arc0_orcl
  85.   oracle 287158      1   0 11:26:43      -  0:00 ora_smon_orcl
  86.   oracle 299364      1   0 11:26:43      -  0:00 ora_reco_orcl
  87.     root 319924      1   0 11:51:24      -  0:00 lspv hdisk5
  88.     root 332234 106918   0   Dec 16      -  5:53 hagsd grpsvcs
  89.   oracle 336330      1   0   Dec 16      -  5:07 ora_dbw0_rmandb
  90.     root 344388  94582   0 13:18:45      -  0:00 telnetd -a
  91.     root 352610 106918   0   Dec 16      - 55:44 /usr/sbin/rsct/bin/hatsd -n 1 -o deadManSwitch
  92.   oracle 356856      1   0   Dec 16      - 11:53 ora_ckpt_rmandb
  93.   oracle 360852      1   0   Dec 16      -  5:24 ora_smon_rmandb
  94.     root 369086 106918   0   Dec 16      - 51:38 /usr/es/sbin/cluster/clstrmgr
  95.     root 389556 106918   0   Dec 16      - 11:02 /usr/es/sbin/cluster/clinfo
  96.   oracle 393484      1   0   Dec 16      -  4:17 ora_pmon_rmandb
  97.   oracle 418112      1   0   Dec 16      -  0:04 /home/oracle/product/9.2.0/bin/tnslsnr LISTENER -inherit
  98.     root 422200 106918   0   Dec 16      -  0:08 haemd HACMP 1 Cluster SECNOSUPPORT
  99.     root 438682 106918   0   Dec 16      -  0:05 /usr/sbin/qdaemon
  100.     root 442776 106918   0   Dec 16      -  0:00 /usr/sbin/rpc.lockd -d 0
  101.     root 446934 106918   0   Dec 16      -  0:00 /usr/sbin/writesrv
  102.     root 451032 106918   0   Dec 16      -  0:00 /usr/sbin/biod 6
  103.     root 471540 106918   0   Dec 16      -  0:21 sendmail: accepting connections
  104.   oracle 479602      1   0   Dec 16      -  1:33 ora_lgwr_rmandb
  105.     root 491900 106918   0   Dec 16      -  0:05 /usr/sbin/hostmibd
  106.   oracle 495908      1   0 11:26:43      -  0:00 ora_arc1_orcl
复制代码
环境: 两台小机,一个存储阵列, 两台机器是hacmp的
  有三个卷组,dbvg, statvg, backvg

  主机卷组 dbvg
  备机卷组:statvg

  backvg两机都可以访问,用于备份的

  问题描述: 现在备机只要是执行和卷组,pv相关的命令 就挂在那 ,没有反应
  我通过进程信息,可以判断是卷组锁定了backvg,

  我执行过的操作,再备机上: chvg -u backvg , 已经3个小时了, 还是没有结果,挂载那
  然后又在备机上执行 exportvg backvg  又很长时间了,一个多小时,还是挂在那,


  请问如何解决这个问题,解锁backvg,我在主机varyonvg backvg时 ,提示:
  1. # varyonvg backvg
  2. 0516-013 varyonvg: The volume group cannot be varied on because
  3.         there are no good copies of the descriptor area.


  4. Command: failed        stdout: yes           stderr: no

  5. Before command completion, additional instructions may appear below.

  6. 0516-024 lqueryvg: Unable to open physical volume.
  7.         Either PV was not configured or could not be opened. Run
  8.         diagnostics.
  9. 0516-024 lqueryvg: Unable to open physical volume.
  10.         Either PV was not configured or could not be opened. Run
  11.         diagnostics.
  12. 0516-1140 importvg: Unable to read the volume group descriptor area
  13.         on specified physical volume.
复制代码
问题产生的原因:因为backvg卷组是共享卷组(不是并发卷组),在每日的04:00-05:40这段时间
                是数据库用backvg备份,而在每次使用卷组的时候都要更改卷组的vgda,vgsa中的
  时间戳,而在这段时间里同事更换了交换机,导致两个小机的卷组的VGDA不一致
  从而会出现这个错误


解决方法:

首要目的:让备机释放掉对pv,卷组的管理进程,以达到我可以从新管理备机的卷组信息

由于一些原因,我强行kill掉相关LVM命令,导致这些进程都被系统接管,根本无法再kill掉,
即使用kill -9,也是不可以

我当时在想有两个方法可以解决此种情况

1.有一些特殊的方法可以kill掉这些进程
2.重新启动机器让其释放所有资源

咨询了很多人,又google半天,也没有找到可以kill那些进程的方法

最后决定重启机器

因为我的环境是两台小机做了hacmp,为了避免出万一,决定23号凌晨去机房维护,出什么问题也好就近解决
主要是担心网卡down了,远程连接不上

当到了机房,就在外边的维护室(机房太冷了!!能不进去就不进去啊),

我的hacmp配置为有优先级的cascading模式,按优先级来接管资源。优先级高的节点恢复后将回拉资源
而我现在打算reboot备机,所以不会影响主机(我咨询过经验丰富的IBM工程师,在此感谢)

操作步骤:

备机:


执行如下命令:


# reboot

然后就等,按经验,也就5分钟左右,结果等啊等啊,等了20几分钟还没有起来,心想幸好来机房了,进机房连上显示器
没有反映,观察硬件也没有什么错误,于是按重启键,等了一会,系统起来了,简单看看了,发现backvg卷组没问题,可以
varyon,lspv,lslv都没什么问题,不过主机不能varyon这个卷组了,我又发现statvg卷组有问题

当执行lsvg -l statvg ,有问号,但是这个卷组varyon后,mount上的文件系统,用着也没有问题,为了避免隐患,我还是
简单修正下,

这个原因一般是因为ODM库中的VGDA和PV上的VGDA不一致,只要简单的exportvg来解决就可以

exportvg statvg
importvg -y statvg hdisk6  或者  smit importvg

执行后问题解决!!

第二个问题就是把backvg卷组让主机也可以访问

在主机上

清空主机上ODM库中的backvg信息


#exportvg backvg

然后执行

在备机

  1. # ls -l /dev/backvg
  2. crw-rw----   1 root     system       53,  0 Nov 24 22:58 /dev/backvg
复制代码
在主机
  1. #smit importvg

  2.                                                         [Entry Fields]
  3.   VOLUME GROUP name                                  [backvg]
  4. * PHYSICAL VOLUME name                               [hdisk6]   ---backvg里的任何一个                                                                       +
  5.   Volume Group MAJOR NUMBER                          [53]   
复制代码
这个53相当于卷组的唯一标识;要没有他,两边机器就不能保证访问相同的卷组backvg这个                                                                   +#


结果ok!!

最后重新启动下hacmp软件

#smit clstart

两边看看errpt看是否有错,都没有,于是对主库做一次全备

这次故障是有惊无险,解决的还是蛮顺利的

其实为这次我准备了好几套备用方案

1.重新启动系统,如可以能识别最好---结果真识别了
2. 如果不能varyon,那就强制varyon
   #varyonvg -f backvg
   
   如果可以varyon,那最好,如果不行,那就恢复backvg,既recreatevg

3. 如果recreatevg还不能解决,那只有删除了重新创建backvg,当然里面的数据也就没了
  1. #smit mkvg
  2.   #smit mklv
  3.   #smit mkjfs
复制代码
注意
  pvid存在三个地方

ODM库中
  1.   # lspv
  2. hdisk0          00c64e4bd07d52a8                    rootvg          active
  3. hdisk1          00c64e4bd0e61501                    rootvg          active
  4. hdisk2          00c64e4bbdd3e449                    dbvg            
  5. hdisk3          00c64e4bbdd3e75f                    dbvg            
  6. hdisk4          00c64e4bbdd91029                    statvg          active
  7. hdisk5          00c64e4bbdd91370                    statvg          active
  8. hdisk6          00c64e4bbddabdb3                    backvg         
  9. hdisk7          00c64e4bbddac0e8                    backvg         
  10. #
复制代码
存在VGDA中
  1. # lqueryvg -Atp hdisk6
  2. Max LVs:        256
  3. PP Size:        27
  4. Free PPs:       5
  5. LV count:       2
  6. PV count:       2
  7. Total VGDAs:    3
  8. Conc Allowed:   0
  9. MAX PPs per PV  32768
  10. MAX PVs:        1024
  11. Quorum Setting  1
  12. Auto Varyon ?:  0
  13. Conc Autovaryo  0
  14. Varied on Conc  0
  15. Logical:        00c64e4b00004c000000011dbddadf95.1   loglv02 1  
  16.                 00c64e4b00004c000000011dbddadf95.2   fslv07 1  
  17. Physical:       00c64e4bbddabdb3                2   0  
  18.                 00c64e4bbddac0e8                1   0  
  19. Total PPs:      2206
  20. LTG size:       128
  21. HOT SPARE:      0
  22. AUTO SYNC:      0
  23. VG PERMISSION:  0
  24. SNAPSHOT VG:    0
  25. IS_PRIMARY VG:  0
  26. PSNFSTPP:       7168
  27. VARYON MODE:    0
  28. VG Type:        2
  29. Max PPs:        32768
复制代码
存在pv头

# lquerypv -H /dev/hdisk6
00c64e4bbddabdb30000000000000000

论坛徽章:
0
2 [报告]
发表于 2012-01-04 15:11 |只看该作者
谢谢分享

论坛徽章:
0
3 [报告]
发表于 2012-03-06 15:32 |只看该作者
楼主辛苦

论坛徽章:
0
4 [报告]
发表于 2012-03-06 15:43 |只看该作者
学习了!

论坛徽章:
0
5 [报告]
发表于 2012-03-08 21:00 |只看该作者
不错我也遇到过类似的问题,每次都需要停到HACMP,然后把相关vg导入导出便可,不过我们的问题原因是由于存储的问题。

论坛徽章:
0
6 [报告]
发表于 2012-03-22 03:04 |只看该作者
谢谢分享

论坛徽章:
0
7 [报告]
发表于 2012-03-23 08:36 |只看该作者
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP