skyzqq
作者skyzqq·2013-01-14 21:53
系统运维工程师·中国联通河南省分公司

AIX 删除逻辑卷后如何恢复文件系统

字数 6085阅读 6839评论 0赞 6
AIX 删除逻辑卷后如何恢复文件系统
文件系统是在逻辑卷的基础上建立的,没有逻辑卷的话,就无法mount文件系统。

在删除逻辑卷的时候,rmlv删除的只是在ODM和VG里的PV上VGDA区域里的相关lv的信息,也就是被删除lv上第一个PP上的头512字节 LVCB信息。即三个地方的信息被删除

1, ODM

2, VGDA

3, Lv上的lvcb信息

只要你在原来lv所分配的pp上mklv添加上lvcb信息,就可以重新mount文件系统,访问文件系统数据,因为rmlv并不删除lv上的用户数据。

以下是恢复过程:

1, 需要知道原来逻辑卷所使用的pp

2,fs未被删除,即superblock等存在于pp上

3,删除lv后,未对现有系统的卷组结构做过改动



使用lspv –p hdiskx查看原有lv所使用的逻辑卷

ibm150:[/]#lspv -p hdisk0

hdisk0:

PP RANGE STATE REGION LV ID TYPE MOUNT POINT

1-109 free outer edge

110-110 used outer middle loglv00 jfslog N/A

111-210 used outer middle lv00 jfs /oracle

211-217 used outer middle lv02 jfs /sun

218-310 used center lv02 jfs /sun

311-325 free center

326-433 free inner middle

434-542 free inner edge



由上可知/sun 文件系统对应的是lv02逻辑卷,且pp分布于hdisk0的211-310上,共100个pp



ibm150:[/]#getlvcb -AT lv02

AIX LVCB

intrapolicy = m

copies = 1

interpolicy = x

lvid = 000af70d00004c0000000106e3964781.3

lvname = lv02

label = /sun

machine id = AF70D4C00

number lps = 100

relocatable = y

strict = y

stripe width = 0

stripe size in exponent = 0

type = jfs

upperbound = 32

fs = log=/dev/loglv00:options=rw:account=false

time created = Fri Oct 14 10:53:10 2005

time modified = Fri Oct 14 14:03:52 2005



ibm150:[/]#lqueryvg -Atp datavg

Max LVs: 256

PP Size: 25

Free PPs: 341

LV count: 3

PV count: 1

Total VGDAs: 2

Conc Allowed 0

MAX PPs per 1016

MAX PVs: 32

Conc Autovar 0

Varied on Co 0

Logical: 000af70d00004c0000000106e3964781.1 loglv00 1

000af70d00004c0000000106e3964781.2 lv00 1

000af70d00004c0000000106e3964781.3 lv02 1

Physical: 000af70de396426b 2 0

Total PPs: 542

LTG size: 256

HOT SPARE: 0

AUTO SYNC: 0

VG PERMISSIO 0



ibm150:[/]#cd sun

ibm150:[/sun]#ls

lost+found sun

知道sun下有文件sun



现在删除逻辑卷lv02

ibm150:[/]#umount /sun

ibm150:[/]#rmlv -f lv02

rmlv: Logical volume lv02 is removed.





ibm150:[/]#mount /sun

mount: 0506-324 Cannot mount /dev/lv02 on /sun: A file or directory in the path

name does not exist.

ibm150:[/]#cd sun

ibm150:[/sun]#ls

ibm150:[/sun]#

可以看到不能访问文件系统sun,且sun下也没有我们想要的数据。



在重建逻辑卷的时候,我们需要pp的一个mapfile,这可以通过之前的lspv -p hdisk0得知,文件格式如下:

ibm150:[/]#more ppmap.txt

hdisk0:211-310

具体信息可man mklv



ibm150:[/]#mklv -y lv02 -m ppmap.txt datavg 100

lv02

ibm150:[/]#mount /sun 因/etc/filesystems中还有/sun这个表项,mount会读取该文件

ibm150:[/]#cd sun

ibm150:[/sun]#ls

lost+found sun



可见文件系统恢复。

现在我们再来看看pp的分布



ibm150:[/]#getlvcb -AT lv02

AIX LVCB

intrapolicy = m

copies = 1

interpolicy = x

lvid = 000af70d00004c0000000106e3964781.3

lvname = lv02

label = None

machine id = AF70D4C00

number lps = 100

relocatable = y

strict = y

stripe width = 0

stripe size in exponent = 0

type = jfs

upperbound = 32

fs =

time created = Fri Oct 14 14:13:28 2005

time modified = Fri Oct 14 14:13:28 2005



ibm150:[/]#lspv -p hdisk0

hdisk0:

PP RANGE STATE REGION LV ID TYPE MOUNT POINT

1-109 free outer edge

110-110 used outer middle loglv00 jfslog N/A

111-210 used outer middle lv00 jfs /oracle

211-217 used outer middle lv02 jfs /sun

218-310 used center lv02 jfs /sun

311-325 free center

326-433 free inner middle

434-542 free inner edge



ibm150:[/]#lqueryvg -Atp datavg

Max LVs: 256

PP Size: 25

Free PPs: 341

LV count: 3

PV count: 1

Total VGDAs: 2

Conc Allowed 0

MAX PPs per 1016

MAX PVs: 32

Conc Autovar 0

Varied on Co 0

Logical: 000af70d00004c0000000106e3964781.1 loglv00 1

000af70d00004c0000000106e3964781.2 lv00 1

000af70d00004c0000000106e3964781.3 lv02 1

Physical: 000af70de396426b 2 0

Total PPs: 542

LTG size: 256

HOT SPARE: 0

AUTO SYNC: 0

VG PERMISSIO 0





我们再来看看如果把逻辑卷建在其他卷组上,是不是还能恢复?

ibm150:[/]#umount /sun

ibm150:[/]#rmlv -f lv02

rmlv: Logical volume lv02 is removed.

ibm150:[/]#mklv -y lv02 datavg 100 这里未指定pp的位置

lv02



ibm150:[/]#mount /sun

mount: 0506-324 Cannot mount /dev/lv02 on /sun: A system call received a paramet

er that is not valid.

结果无法mount 文件系统

ibm150:[/]#lspv -p hdisk0

hdisk0:

PP RANGE STATE REGION LV ID TYPE MOUNT POINT

1-9 free outer edge

10-109 used outer edge lv02 jfs /sun

110-110 used outer middle loglv00 jfslog N/A

111-210 used outer middle lv00 jfs /oracle

211-217 free outer middle

218-325 free center

326-433 free inner middle

434-542 free inner edge



我们发现逻辑卷使用的pp位置发生改变了,虽然其他信息没有改变。





现在我们看看如果在原来lv使用的pp位置 重新建一个不一样的lv,注意确保lvid相同,但名字不同。 如果lvid不同呢???理论上效果是一样的,(但没有验证)。

ibm150:[/]#mklv -y lv03 -m ppmap.txt datavg 100

lv03

ibm150:[/]# mount /sun

mount: 0506-324 Cannot mount /dev/lv02 on /sun: A file or directory in the path

name does not exist.

ibm150:[/]#getlvcb -AT lv03

AIX LVCB

intrapolicy = m

copies = 1

interpolicy = x

lvid = 000af70d00004c0000000106e3964781.3

lvname = lv03

label = None

machine id = AF70D4C00

number lps = 100

relocatable = y

strict = y

stripe width = 0

stripe size in exponent = 0

type = jfs

upperbound = 32

fs =

time created = Fri Oct 14 14:30:25 2005

time modified = Fri Oct 14 14:30:25 2005



还是不能mount,原因很简单,lv名改变了,导致与/etc/filesystems的dev名不一致,需要修改/etc/filesystems文件。





总结:

在删除逻辑卷以后,恢复文件系统需要注意两个地方

1, 重建的逻辑卷需要重建在之前使用的pp上

2, 逻辑卷名字不要擅自改动,如果改动的话,在新的逻辑卷建立以后,还必须修改/etc/filesystems文件中的dev名

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

6

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广