- 论坛徽章:
- 2
|
最近一直都没有写什么东西,今天就把一个实际工作中的针对LVM的TROUBLESHOOTING过程贴出来吧。
事情的起因是这样:一台机器升级到了AIX5.2,而且原先的FAStT不用了,直接用光纤卡接EXP;由于原先EXP上的6块硬盘两两作了RAID1,这样就造成6块硬盘只有3个PVID;一同事新建了一个VG后造成这个VG不仅无法VARYON,而且也删不掉了。
我下面的过程就是手工改变重复的PVID,并通过ODM将错误VG删掉。
# lsvg
rootvg
datavg
# lsvg |lsvg -ip
rootvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk1 active 542 526 108..108..93..108..109
hdisk0 active 542 519 109..88..105..108..109
0516-010 : Volume group must be varied on; use varyonvg command.
# varyonvg datavg
0516-008 varyonvg: LVM system call returned an unknown
error code (3).
# varyonvg -f datavg
0516-008 varyonvg: LVM system call returned an unknown
error code (3).
# synclvodm -v datavg
0516-010 : Volume group must be varied on; use varyonvg command.
0516-544 synclvodm: Unable to access volume group datavg.
# lsdev -Cc disk
hdisk0 Available 40-60-00-4,0 16 Bit LVD SCSI Disk Drive
hdisk1 Available 40-60-00-8,0 16 Bit LVD SCSI Disk Drive
hdisk4 Available 17-08-01 Other FC SCSI Disk Drive
hdisk5 Available 17-08-01 Other FC SCSI Disk Drive
hdisk6 Available 17-08-01 Other FC SCSI Disk Drive
hdisk7 Available 17-08-01 Other FC SCSI Disk Drive
# cfgmgr
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf15 None
hdisk5 005fa3ca528bbf15 None
hdisk6 005fa3ca52af985b None
hdisk7 005fa3ca52af985b None
# smit vg
略
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf15 test active
hdisk5 005fa3ca528bbf15 test active
hdisk6 005fa3ca52af985b test active
hdisk7 005fa3ca52af985b test active
# cat >1
#!/usr/bin/ksh
pvid=$1
disk=$2
set -A a `echo $pvid|
awk ' {
for (f=1; f /dev/null`
/usr/bin/echo ""${a[0]}""${a[1]}""${a[2]}""${a[3]}""
${a[4]}""${a[5]}""${a[6]}""${a[7]}"c"|
dd bs=1 seek=128 ōf=/dev/$disk
# ksh 1 005fa3ca52af985a hdisk7
16+0 records in.
16+0 records out.
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf15 test active
hdisk5 005fa3ca528bbf15 test active
hdisk6 005fa3ca52af985b test active
hdisk7 005fa3ca52af985b test active
# chmod +x 1
# ./1 005fa3ca52af9851 hdisk6
16+0 records in.
16+0 records out.
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf15 test active
hdisk5 005fa3ca528bbf15 test active
hdisk6 005fa3ca52af985b test active
hdisk7 005fa3ca52af985b test active
# smit vg
略
# lsvg
rootvg
datavg
# ./1 005fa3ca52af9851 hdisk6
16+0 records in.
16+0 records out.
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf15 None
hdisk5 005fa3ca528bbf15 None
hdisk6 005fa3ca52af985b None
hdisk7 005fa3ca52af985b None
# rmdev -dl hdisk7
hdisk7 deleted
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf15 None
hdisk5 005fa3ca528bbf15 None
hdisk6 005fa3ca52af985b None
# ./1 005fa3ca52af9851 hdisk6
16+0 records in.
16+0 records out.
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf15 None
hdisk5 005fa3ca528bbf15 None
hdisk6 005fa3ca52af985b None
# smit vg
略
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
# rmdev -dl hdisk3
hdisk3 deleted
# smit vg
略
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
# ./1 005fa3ca52a2d9d3 hdisk2
16+0 records in.
16+0 records out.
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
# cfgmgr
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
hdisk5 005fa3ca528bbf15 None
hdisk7 005fa3ca52af985a None
# smit vg
略
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d9 datavg
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
hdisk5 005fa3ca528bbf15 None
hdisk7 005fa3ca52af985a None
# rmdev -dl hdisk3
hdisk3 deleted
# rmdev -dl hdisk2
hdisk2 deleted
# lsvg
test2
test
rootvg
datavg
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
hdisk5 005fa3ca528bbf15 None
hdisk7 005fa3ca52af985a None
# cfgmgr
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d3 None
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
hdisk5 005fa3ca528bbf15 None
hdisk7 005fa3ca52af985a None
# lsvg -p datavg
0516-010 : Volume group must be varied on; use varyonvg command.
# ./1 005fa3ca52a2d9d4 hdisk3
16+0 records in.
16+0 records out.
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d3 None
hdisk3 005fa3ca52a2d9d9 datavg
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
hdisk5 005fa3ca528bbf15 None
hdisk7 005fa3ca52af985a None
# rmdev -dl hdisk3
hdisk3 deleted
# cfgmgr
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d3 None
hdisk3 005fa3ca52a2d9d4 None
hdisk4 005fa3ca528bbf12 test2 active
hdisk6 005fa3ca52af9851 test active
hdisk5 005fa3ca528bbf15 None
hdisk7 005fa3ca52af985a None
# lsvg
test2
test
rootvg
datavg
# smit reducevg
略
# lspv
hdisk0 005fa3ca2b105101 rootvg active
hdisk1 005fa3ca4e142fe1 rootvg active
hdisk2 005fa3ca52a2d9d3 None
hdisk3 005fa3ca52a2d9d4 None
hdisk4 005fa3ca528bbf12 None
hdisk6 005fa3ca52af9851 None
hdisk5 005fa3ca528bbf15 None
hdisk7 005fa3ca52af985a None
至此,重复PVID的问题解决了,其中用到的脚本来自AIX Logical Volume Manager from A to Z Troubleshooting and Commands(sg245433)中的chpvid。下面解决的是,错误的datavg无法删除的问题。
# smit mkvg
略
0516-360 /usr/sbin/mkvg: The device name is already used; choose a
different name.
VOLUME GROUP name [datavg]
# pwd
/etc/objrepos
# for i in `ls`; do odmget $i |grep -p datavg; done
0518-506 odmget: Cannot open object class 1
Check path name and permissions.
0518-506 odmget: Cannot open object class CDiagAtt.vc
Check path name and permissions.
CuAt:
name = "datavg"
attribute = "vgserial_id"
value = "005fa3ca00004c00000001050e531e23"
type = "R"
generic = "D"
rep = "n"
nls_index = 637
CuAt:
name = "datavg"
attribute = "timestamp"
value = "42d4902320e3285c"
type = "R"
generic = "DU"
rep = "s"
nls_index = 0
CuAt:
name = "datavg"
attribute = "pv"
value = "005fa3ca52a2d9d90000000000000000"
type = "R"
generic = ""
rep = "sl"
nls_index = 0
0518-506 odmget: Cannot open object class CuAt.vc
Check path name and permissions.
CuDv:
name = "datavg"
status = 0
chgstatus = 1
ddins = ""
location = ""
parent = ""
connwhere = ""
PdDvLn = "logical_volume/vgsubclass/vgtype"
CuDvDr:
resource = "ddins"
value1 = "datavg"
value2 = "45"
value3 = ""
CuDvDr:
resource = "devno"
value1 = "45"
value2 = "0"
value3 = "datavg"
0518-506 odmget: Cannot open object class CuPath.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class CuPathAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class DSMOptions.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagAtt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagDev.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagRes.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagTask.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdAtXtd.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdDv.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdPathAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class SRCodmlock
Check path name and permissions.
0518-506 odmget: Cannot open object class SWservAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class config_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class crypto_module.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class diag_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class diag_log_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class history.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class inventory.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class lpp.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class product.vc
Check path name and permissions.
# odmget -q"name = 'datavg'" CuAt
CuAt:
name = "datavg"
attribute = "vgserial_id"
value = "005fa3ca00004c00000001050e531e23"
type = "R"
generic = "D"
rep = "n"
nls_index = 637
CuAt:
name = "datavg"
attribute = "timestamp"
value = "42d4902320e3285c"
type = "R"
generic = "DU"
rep = "s"
nls_index = 0
CuAt:
name = "datavg"
attribute = "pv"
value = "005fa3ca52a2d9d90000000000000000"
type = "R"
generic = ""
rep = "sl"
nls_index = 0
# cp CuAt cuat
# odmdelete -q"name = 'datavg'" CuAt
0518-302 usage: odmdelete -o object_class [-q criteria]
Deletes objects from an object class.
# odmdelete -q"name = 'datavg'" -o CuAt
0518-307 odmdelete: 3 objects deleted.
# lsvg
rootvg
datavg
# cp CuDv cudv
# odmdelete -q"name = 'datavg'" -o CuDv
0518-307 odmdelete: 1 objects deleted.
# lsvg
rootvg
# for i in `ls`; do odmget $i |grep -p datavg; done
0518-506 odmget: Cannot open object class 1
Check path name and permissions.
0518-506 odmget: Cannot open object class CDiagAtt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class CuAt.vc
Check path name and permissions.
CuDvDr:
resource = "ddins"
value1 = "datavg"
value2 = "45"
value3 = ""
CuDvDr:
resource = "devno"
value1 = "45"
value2 = "0"
value3 = "datavg"
0518-506 odmget: Cannot open object class CuPath.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class CuPathAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class DSMOptions.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagAtt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagDev.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagRes.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagTask.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdAtXtd.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdDv.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdPathAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class SRCodmlock
Check path name and permissions.
0518-506 odmget: Cannot open object class SWservAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class config_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class crypto_module.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class cuat
Check path name and permissions.
0518-506 odmget: Cannot open object class cudv
Check path name and permissions.
0518-506 odmget: Cannot open object class diag_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class diag_log_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class history.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class inventory.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class lpp.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class product.vc
Check path name and permissions.
# cp CuDvDr CuDvDr2
#
# odmdelete -q"value1 = 'datavg'" -o CuDvDr
0518-307 odmdelete: 1 objects deleted.
# odmdelete -q"value3 = 'datavg'" -o CuDvDr
0518-307 odmdelete: 1 objects deleted.
# for i in `ls`; do odmget $i |grep -p datavg; done
0518-506 odmget: Cannot open object class 1
Check path name and permissions.
0518-506 odmget: Cannot open object class CDiagAtt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class CuAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class CuDvDr2
Check path name and permissions.
0518-506 odmget: Cannot open object class CuPath.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class CuPathAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class DSMOptions.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagAtt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagDev.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagRes.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PDiagTask.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdAtXtd.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdDv.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class PdPathAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class SRCodmlock
Check path name and permissions.
0518-506 odmget: Cannot open object class SWservAt.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class config_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class crypto_module.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class cuat
Check path name and permissions.
0518-506 odmget: Cannot open object class cudv
Check path name and permissions.
0518-506 odmget: Cannot open object class diag_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class diag_log_lock
Check path name and permissions.
0518-506 odmget: Cannot open object class history.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class inventory.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class lpp.vc
Check path name and permissions.
0518-506 odmget: Cannot open object class product.vc
Check path name and permissions.
# lsvg
rootvg
# lsvg datavg
0516-306 : Unable to find volume group datavg in the Device
Configuration Database.
# shutdown -Fr
SHUTDOWN PROGRAM
Wed Jul 13 00:11:51 CDT 2005
Wait for 'Rebooting...' before stopping.
1+0 records in.
1+0 records out.
Error reporting has stopped.
Process accounting has stopped.
nfs_clean: Stopping NFS/NIS Daemons
0513-004 The Subsystem or Group, nfsd, is currently inoperative.
0513-004 The Subsystem or Group, biod, is currently inoperative.
0513-004 The Subsystem or Group, rpc.lockd, is currently inoperative.
0513-004 The Subsystem or Group, rpc.statd, is currently inoperative.
0513-004 The Subsystem or Group, rpc.mountd, is currently inoperative.
0513-004 The Subsystem or Group, ypbind, is currently inoperative.
机器重启之后,一切恢复正常。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_684761.html |
|