这个是个例子:
[test1:/]#chdev -l hdisk5 -a pv=clear
hdisk5 changed
[test1:/]#lspv
hdisk0 00c2c8724fe40e12 rootvg active
hdisk1 00c2c872071205fd test1vg active
hdisk2 00c2c872604e4d20 test2vg
hdisk3 00c2c8723c33abbf None
hdisk4 00c2c872605457f4 None
hdisk5 none None
hdisk6 00c2c8726f46381a heartvg
[test1:/]#chdev -l hdisk5 -a pv=yes
hdisk5 changed
[test1:/]#lspv
hdisk0 00c2c8724fe40e12 rootvg active
hdisk1 00c2c872071205fd test1vg active
hdisk2 00c2c872604e4d20 test2vg
hdisk3 00c2c8723c33abbf None
hdisk4 00c2c872605457f4 None
hdisk5 00c2c8723c469fbe None
hdisk6 00c2c8726f46381a heartvg
--注意看pvid已经改变了。vg也消失了。
[test1:/]#varyonvg sjhvg
0516-008 varyonvg: LVM system call returned an unknown
error code (3).
[test1:/]#varyonvg -b sjhvg
0516-008 varyonvg: LVM system call returned an unknown
error code (3).
[test1:/]#varyonvg -f sjhvg
0516-008 varyonvg: LVM system call returned an unknown
error code (3).
--vg已无法varyon。
[test1:/]#lqueryvg -Atp hdisk5
0516-320 lqueryvg: Physical volume hdisk5 is not assigned to
a volume group.
Max LVs: 256
PP Size: 23
Free PPs: 628
LV count: 2
PV count: 1
Total VGDAs: 2
Conc Allowed: 0
MAX PPs per PV 1016
MAX PVs: 32
Conc Autovaryo 0
Varied on Conc 0
Logical: 00c2c87200004c00000001203c374e76.1 sjhlv 1
00c2c87200004c00000001203c374e76.2 loglv02 1
Physical: 00c2c872605458d0 2 0
Total PPs: 639
LTG size: 128
HOT SPARE: 0
AUTO SYNC: 0
VG PERMISSION: 0
SNAPSHOT VG: 0
IS_PRIMARY VG: 0
PSNFSTPP: 4352
VARYON MODE: 0
VG Type: 0
Max PPs: 32512
--获取hdisk5 vgda的信息。
以下开始修复:
1.[test1:/]#exportvg sjhvg
2.创建逻辑卷名对应表文件。第一字段为VGDA区中的逻辑卷的名,第二字段为在新卷组中新的逻辑卷名,可相同也可不同;为了修复原有卷组的内容,通常逻辑卷名保持不变。
[test1:/tmp]#cat pvidfixlv
sjhlv:sjhlv
loglv02:loglv02
3.在硬盘上重新创建卷组,保留原有卷组的数据结构。
[test1:/tmp]#recreatevg -y sjhvg -l /tmp/pvidfixlv hdisk5
sjhvg
[test1:/tmp]#lsvg -o
sjhvg
test1vg
rootvg
4.修改/etc/filesystems
/fs/pvidtest:
dev = /dev/sjhlv
vfs = jfs2
log = /dev/loglv02
mount = false
check = false
options = rw
account = false
--recreatevg 后,系统自动创建了目录/fs,所有的文件系统加载到了/fs下,原来的mountpoint是以/为基准的。
[test1:/tmp]#lsvg -l sjhvg
sjhvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
sjhlv jfs2 10 10 1 closed/syncd /fs/pvidtest
loglv02 jfs2log 1 1 1 closed/syncd N/A
/pvidtest:
dev = /dev/sjhlv
vfs = jfs2
log = /dev/loglv02
mount = false
check = false
options = rw
account = false
--修改/etc/filesystems之后的样子。
[test1:/tmp]#mount /pvidtest
[test1:/tmp]#cd /pvidtest
[test1:/pvidtest]#ls
config.xml lost+found webAppConfig.xml
[test1:/pvidtest]#lsvg -l sjhvg
sjhvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
sjhlv jfs2 10 10 1 open/syncd /pvidtest
loglv02 jfs2log 1 1 1 open/syncd N/A
--文件都在,状态也都正常。修复完毕。