AIX LVM基础结构.docx
- 文档编号:8691643
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:21.68KB
AIX LVM基础结构.docx
《AIX LVM基础结构.docx》由会员分享,可在线阅读,更多相关《AIX LVM基础结构.docx(13页珍藏版)》请在冰豆网上搜索。
AIXLVM基础结构
一、前言
在学习AIXLVM基础结构的过程中,有一些心得,在此和大家一起交流
学习的方式是基于od命令,直接查看相关设备文件的二进制代码,从而分析LVM基础结构,以及LVM高级命令的效果
二、LVM配置信息保存位置
LVM中的配置信息,比如VG、LV、FS保存在两个部分
1)磁盘本身上的数据块中
这部分可以通过低级LVM命令或者od命令直接查看
2)ODM数据库中
ODM数据库中的信息直接源于磁盘数据块,可以通过高级LVM命令或者ODM命令查看
LVM命令会修改1)和2)中的相关配置信息
ODM和磁盘数据块中信息不一致时,可以通过相应的同步命令,根据磁盘数据块中的信息来更新ODM
三、PV
每个PV头部有一个保留区,主要保留PVID信息
PV保留区如下:
0000200 00c9bbed1c1659480000000000000000
0000220 00000000000000000000000000000000
*
0000300
注意:
其中的00c9bbed1c165948就是PVID
当把磁盘设置为pv=yes时,会在保留区生成这样的PVID
反之pv=clear时,则清除保留区中的PVID
磁盘只有设置为pv=yes,有了PVID后,才能够继续下面后继LVM操作
四、VG
VG是由一个或者多个PV组成
VG的信息保存在VGSA和VGDA中,当磁盘设置为pv=yes时,除了在PV保留区中写入PVID外。
另
外保留部分空间给VGSA和VGDA
需要注意的是,创建VG时的参数,如是否支持大VG,会影响分配给VGSA和VGDA的空间大小
当创建VG的时候,向VGSA和VGDA空间里写入相应的参数
根据VG中的PV数量,VGDA在PV上有一份或者两份,具体如下:
PV数 1#PV 2#PV 3#PV
1 VGDA数 2
2 VGDA数 2 1
3 VGDA数 1 1 1
VGSA内容举例如下:
十六进制格式
0010000 4667a0e624623f5d0000000000000000
0010010 00000000000000000000000000000000
*
0010fe0 00000000000000000000000000010000
0010ff0 00000000000000004667a0e624623f5d
VGDA内容举例如下:
十六进制格式
0011000 4667a33b2aba553c00c22f2f00004c00
0011010 0000011304cc9a4700090100001c0002
0011020 00030832000000010001000000000000
0011030 00000832000000000000000000000000
0011040 00000000000000000000000000000000
*
ASCII字符格式
0113200 h d 5 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0113210 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0113240 h d 6 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0113250 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0113280 h d 8 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0113290 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
01132c0 h d 4 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
01132d0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0113300 h d 2 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0113310 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
对比lsvg的输出结果,可以看出来,VG所有信息都包括在了VGSA和VGDA中
比如:
0011000 4667a33b2aba553c00c22f2f00004c00
0011010 0000011304cc9a4700090100001c0002
中的00c22f2f00004c000000011304cc9a47即为VGID
VG中的LV名也包括在内
所以ODM中的内容是源自于VGSA和VGDA
对于exportvg来说,只是从ODM中删除了VG相关信息,但是用od查看hdiskX时,上述VGDA信息仍
然存在,因此importvg时,就根据VGDA信息把VG信息重新写入到ODM中
五、LV
VG下划分LV,用于FS或者做raw设备
LV基本分配单位是逻辑块
在每个LV的头部0号逻辑块作为LVCB,用于保存LV配置信息
LVCB内容举例:
ASCII代码
0000000 A I X L V C B \0 \0 j f s \0 \0 \0
0000010 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0 0 c 2 2 f
0000030 2 f 0 0 0 0 4 c 0 0 0 0 0 0 0 1
0000040 1 3 \0 h d 1 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000050 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0000080 \0 \0 \0 T h u J u n 7 0 6
0000090 :
0 8 :
4 4 2 0 0 7 \n \0 \0 \0 \0
00000a0 \0 T h u J u n 7 0 6 :
0
00000b0 8 :
4 4 2 0 0 7 \n \0 \0 \0 \0 \0 2
00000c0 2 F 2 F 4 C 0 0 \0 y m c \0 y \0
00000d0 \0001 \0001 / h o m e \0 \0 \0 \0 \0 \0 \0
00000e0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
从中可以看出,LVCB中有mount点等相关信息
LVCB被破坏后,可以用低级命令putlvcb来修复,或者直接通过编辑二进制文件来修复
六、FS
FS的配置信息保存在超级块中,每个FS有两个超级块
主超级块在1号逻辑块,次超级块在31号逻辑块
超级块内容举例:
ASCII格式
0001000 e207 !
C \0 \0 \0 \0 \0 \0 @ \0 \0 \0 \0003
0001010 \0 \b \0 \0020 \0 \0 \0 / h o m e \0 / h
0001020 o m e \0 \0 \n \0003001 \0 \0 \0 F g ?
?
0001030 \0 \0 \0001 \0 \0002 \0 \0 \0 \b \0 \0 \0 \0 \0
0001040 \0 \0 \0 \0 \0 \f \0 \0 \0 \0 \0 F g ?
025
0001050 \0 \0 \0 \0 F g ?
?
\0 \0 \0 \0 \0 \0 \0 \0
0001060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0001c10 \0 \0 \0 \0 \0 \0 \0 \0
0001c18
十六进制格式
0001000 65872143000000000000400000000003
0001010 00080000100000002f686f6d65002f68
0001020 6f6d6500000a0003010000004667a0f2
0001030 00000001000002000000080000000000
0001040 00000000000c2000000000004667a215
0001050 000000004667a1ae0000000000000000
0001060 00000000000000000000000000000000
*
0002000
对比lsfs结果,同样可以大体看出超级块各个byte的定义
注意:
65872143是幻数,如果crfs是采用了默认参数,则幻数为43218765
如果主超级块被破坏,可以通过dd拷贝次超级块来修复,或者直接编辑二进制文件来修复
FS被误删除后的恢复
用rmfs误删除FS,实际上只是删除了LVCB中的信息,超级块中的信息不变,FS中的数据也不会变
这样只要没有向这些空间写入新的数据,都可以做修复的
方法是:
按照原来的参数mklv,恢复LVCB中的信息,编辑/etc/filesystem后,就可以mountFS,数据不会丢失
七、总结
上面是我学习LVM的一点体会,主要用的命令如下:
#od-x/c-N64/dev/hdisk1+0200|more PV保留区
#od-x/c/dev/hdisk1+0x10000|more VGSA
#od-x/c/dev/hdisk1+0x11000|more 1#VGDA
#od-x/c/dev/hdisk1+0x118400|more 2#VGDA
#od–c/x /dev/myfs00+0x1000 主超级块
#od–cx /dev/myfs00+0x1f000 次超级块
建议大家在做LVM操作的时候,可以多用od查看设备文件二进制代码,这样可以更好地了解LVM命
令执行的效果,对于LVM基础结构有更多的了解
MAXimumPVs
MAXimumLVs
MAXimumPPsperVG
MAXimumPPsize
NormalVg
32
256
32512(1016*32)
1GB
BigVG
128
512
130048(1016*128)
1GB
ScalcbleVG
1024
4096
2097152
128GB
PV
chdev-lhdisk7-apv=yes 给PV加上PVID(物理卷描述,是AIX种ODM和LVM用于识别PV的描述序列号)
chdev-lhdisk7-apv=clear
清除PV上原有的PVID
lquerypv-h/dev/hdisk28010
查询某个PV的PVID
PVID的生成原理是:
主板序列号+形成PV时的时间戳,PVID除了写入ODM库,在硬盘0扇区的头几个字节里,以及VGDA中都有写入PVID。
lspv-Mhdisk0 查看hdisk0的PP分布(逻辑块和物理块)
migratepv将PV数据移到另一个PV(可指定逻辑卷迁移)
migratelp在PV之间移动指定的pp
chpv-hyhdisk4指定某个PV为hotspare盘,hotspare盘必须为空。
chpv-chdisk1清除hdisk1上的bootrecord
VG
AIX5.3支持3种格式VGnormal,scalable,big
mkvg-yvg1-s64-V99hdisk4在hdisk4上建一个名为vg01,ppsize=64M,majornumber=99的vg
chvg-Qntestvg关掉VG的quorum
一般来说,如果一个VG的quorum打开,那么是quorum值大于51%的,VG里有效的VGDA个数大于等于quorum值,那么该VG就能正常使用,否则VG会自动varyoff。
例如我有个一个VG,vgda是37,quorum是19,其中quorum是系统自动分配的。
Quorum(一个卷组种的可用VGDA的比率)必须高于51%,该卷组才可用。
对于只有两块硬盘的卷组,若第一快硬盘损坏,则只有33%的VGDA可用,那么整个卷组不可用,若第二块硬盘损坏,则有66%可用,对于三块或三块以上硬盘的卷组,若损坏一块硬盘,至少有66%的VGDA可用。
如果因为VGDA不可用而造成整个VGvaryoff了,我们也可以对该卷组varyonvg–f命令去强制VGvaryon
chvg-Gtestvg将普通VG转为scalableVG,一旦转化成功,VG将不能import到5.3以下的AIX环境。
chvg-L128testvg改变VG的LTGsize(LGT
size
必须小于VG中所有PV的最大传输速率的最小者:
ThenewLTGsizeshouldbelessthanorequaltothesmallestofthemaximumtransfersizeofalldisksinthevolumegroup.)
LTG(LogicalTrackGroup)表示硬盘所允许的最大I/O传输值,AIX5L默认为128Kbps,在修改LTG之前,首先要确定硬盘所支持的最大LTG值
命令如下:
#:
lquerypv-Mhdisk0
查询hdisk0的所支持的最大LTG值
#:
chvg –L256datavg
修改datavg的LTG为256kbps
chvg-hytestvg 打开VG的hotspare开关(一对一)chvg-hntestvg关闭hotspare开关
chvg-hYtestvg打开VG的hotspare开关(一对多)
chvg-sytest1vg设置VG自动同步状态异常的逻辑卷(仅对镜像过的LV有效)chvg-sntestvg关闭自动同步开关。
chvg-P2048testvg设置VG中最大PP数量(单位是K)
chvg-v4096testvg设置VG中的最大LV数量
chvg-t16testvg设置VG中每个PV最大的PP数量(-t16
MAXPPs乘以16,MAXPVs除以16,其中16为一个factornumber。
PPsperPV*MAXPVs≤PPsper
PV)
extendvg 用于将PV扩到现有的VG上,在AIX5.3当中,如果VG是用varyonvg-M命令varyon的或者是在AIX5.3以前的版本上创建的,那么如果新增的PV的LTGsize小于VG的
LTGsize,entendvg命令将失败,如果VG没有用varyonvg-M命令varyon,系统会自动调整现有VG的LTGsize.
reducevg用于从VG中移出PV,reducevg也会自动调整VG的LTGsize,除非使用了varyonvg-M命令.
synclvodmtestvg 将VG中最新的VG信息同步到ODM库当中,可用于ODM损坏时的措施之一,执行命令时VG必须varyon
varyonvg-ftestvg
强制激活VG
varyonvg-ntestvg
激活VG,但不调用syncvg同步逻辑卷。
splitvg-ynewvg-c1test1vg将一个mirrorVGtestvg的镜像拆除一份并建立一个新的snapshotVGnewvg。
LV
lslv-nhdisk6testlv 从hdisk6上的VGDA中读取关于testlv的信息,不管testlv是否在hdisk6上
getlvcb-ATlv1显示LVCB信息
cplv-vdumpvg-ylv9lv1将lv1拷贝到dumpvg里的lv9上。
chlv-dprlv1修改LV的读写策略,有以下几种策略:
p
Establishesaparallelschedulingpolicy.
ps
Parallelwritewithsequentialreadpolicy.Allmirrorsarewrittenin
parallelbutalwaysreadfromthefirstmirrorifthefirstmirroris
available.
pr
Parallelwriteroundrobbinread.Thispolicyissimilartotheparallel
policyexceptanattemptismadetospreadthereadstothelogicalvolume
moreevenlyacrossallmirrors.
s
Establishesasequentialschedulingpolicy.
mklvcopy 镜像逻辑卷
splitlvcopy分离逻辑卷的镜像(分离到另一个LV)
rmlvcopy删除逻辑卷镜像
AIX里面的Quorum和VGDA:
$lsvgrootvg
VOLUMEGROUP:
rootvgVG
IDENTIFIER:
000a995d00004c00000001059e94badf
VGSTATE:
activePP
SIZE:
64megabyte(s)
VGPERMISSION:
read/write
TOTALPPs:
1084(69376megabytes)
MAXLVs:
256
FREEPPs:
344(22016megabytes)
LVs:
10
USEDPPs:
740(47360megabytes)
OPENLVs:
9
QUORUM:
1
TOTALPVs:
2
VGDESCRIPTORS:
3
STALEPVs:
0
STALEPPs:
0
ACTIVEPVs:
2
AUTOON:
yes
MAXPPsperPV:
1016
MAXPVs:
32
LTGsize:
128kilobyte(s)
AUTOSYNC:
no
HOTSPARE:
no
BBPOLICY:
relocatable
因为在RS/6000系统中,每个在VG(卷组)中的物理硬盘都至少有一个VGDA(卷组描述区,既对该硬盘上的物理和逻辑卷进行描述).
VGDA在硬盘的数量有如下规则:
一个卷组只有一块硬盘:
该硬盘有两个VGDA.
一个卷组有两块硬盘:
第一块硬盘有两个VGDA,第二块硬盘有一个VGDA.
一个卷组有三块或三块以上硬盘:
每块硬盘有一个VGDA.
在AIX系统中,quorum(一个卷组中的可用VGDA的比率)必须高于51%,该卷组才可用.对于只有两块硬盘的卷组,若第一块硬盘损坏,则只有33%的VGDA可用,那么整个卷租不可用了,这是我们不想看到的情况。
照此推理:
若第二块硬盘损坏,则有66%的VGDA可用.对于有三块或三块以上硬盘的卷组,若损坏一块硬盘,至少有66%的VGDA可用.如果因为VGDA不可用而造成整个VGVARYOFF了,我们也可以对该卷组varyonvg-f的命令强制varyon。
所以我们在做rootvg的时候,一般disablequorum。
这样我们lsvg的时候,看到的就是quorum=1了。
一般来说,如果一个vg的quorum打开,那么是quorum的值是大于51%的.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AIX LVM基础结构 LVM 基础 结构