现在的位置: 首页 > 综合 > 正文

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

2013年08月14日 ⁄ 综合 ⁄ 共 5366字 ⁄ 字号 评论关闭

文件系统是在逻辑卷的基础上建立的,没有逻辑卷的话,就无法mount文件系统。

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

1,              ODM

2,              VGDA

3,              Lv上的lvcb信息

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

以下是恢复过程:

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

2fs未被删除,即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分布于hdisk0211310上,共100pp

 

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/filesystemsdev名不一致,需要修改/etc/filesystems文件。

 

 

总结:

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

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

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

抱歉!评论已关闭.