AIX LVM底层数据结构剖析Word文档格式.docx
《AIX LVM底层数据结构剖析Word文档格式.docx》由会员分享,可在线阅读,更多相关《AIX LVM底层数据结构剖析Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
vgda_len:
2098
vgda_psn[0]:
136
vgda_psn[1]:
2242
reloc_psn:
286749223
pv_num:
1
pp_size:
28
vgsa_len:
8
vgsa_psn[0]:
128
vgsa_psn[1]:
2234
version:
8
vg_type:
-8739
图片是7sec的十六进制视图,可以通过十六进制转换成上面某些参数的十进制数值。
128sec(开始)
VGSA数据区
135sec(结束)
*****************************************
VGSAatblock128
vgsabeg:
timestamp946773107(386e9c73),314919315(12c54993)
timestampSatJan
118:
31:
47CST:
2000
vgsa.pv_missing:
vgsa.stalepp[0]:
0000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000
vgsa.stalepp[1]:
vgsa.stalepp[2]:
ff3f0ffffffffff70000000000000000
0000000000000000000000
vgsa.factor:
1
vgsa.pad2:
000
vgsaend:
136sec(开始)
VGDA数据区
LP/PPMAP
2233sec(结束)
VGDAatblock136
vgh.vg_id:
0037521400004c00000000dc6ffba362
vgh.numlvs:
vgh.maxlvs:
256
vgh.pp_size:
vgh.numpvs:
3
vgh.total_vgdas:
3
vgh.vgda_size:
2098
vgh.quorum:
vgh.auto_varyon:
vgh.check_sum:
vgdahdr:
timestamp946773107(386e9c73),352680539(15057a5b)
以上是从136扇区读取的
**********
LogicalVolume:
datalv4
***********
lve.lvname:
0
lve.maxsize:
512
lve.lv_state:
lve.mirror:
lve.mirror_policy:
2
lve.num_lps:
10
lve.permissions:
lve.bb_relocation:
lve.write_verify:
2
lve.mirwrt_consist:
lve.stripe_exp:
lve.striping_width:
lve.lv_avoid:
lve.child_minor_num:
PhysicalVolume:
1
pvh.pv_num:
pvh.pv_id:
003752146ff9501b
pvh.pp_count:
546
pvh.pv_state:
pvh.pvnum_vgdas:
pvh.psn_part1:
4352
*
pp_num:
pp_state
lv_name:
lp_num:
pp_copy_val:
pv_fst_mir:
part_fst_mir:
p
v_snd_mir:
part_snd_mir
pv1:
111:
1
datalv4:
1:
3:
15:
2:
4
112:
16:
5
113:
17:
6
114:
4:
18:
7
115:
5:
19:
116:
6:
20:
9
117:
7:
21:
118:
8:
22:
11
119:
9:
23:
12
120:
10:
24:
13
第一个PV的Map表,MAP表的开头是某个PV的pvh.pv_id
2
003752146ff979f4
15
pv2:
15
16
17
18
19
20
10:
21
11:
22
12:
23
13:
24
3
003752146ff9a31b
67
pv3:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
vgt.concurrency:
vgdatrl:
2234sec(开始)
VGSA数据区(备份)
2241sec(结束)
2242sec(开始)
VGDA数据区(备份)
4339sec(结束)
4340sec(开始)
4351sec
4352sec(物理硬盘第1PP开始)
LV开始
Nsec(结束)(硬盘总扇区数)
硬盘的PVID
一个硬盘要被操作系统正常使用,必须先分配PVID,硬盘的PVID在以后加入某个VG、LV都是要用到的。
分配PVID的过程就像windows下的初始化硬盘操作,就是把硬盘0扇区改写成符合操作系统使用的格式,只改写0扇区,别的地方没有任何改变。
用lspv命令就可以知道哪些硬盘还没有分配PVID,用#chdev-lhdiskX-apv=yes就可以给硬盘分配PVID,当一个硬盘在操作系统中已经有了PVID,#chdev-lhdiskX-apv=yes命令不会改变原来的PVID。
如果要修改某块盘的PVID,我们要先清除掉原先的PVID,然后再生成,可以用以下命令:
#chdev-lhdiskX-apv=clear
#chdev-lhdiskX-apv=yes
chinadns的Blog有对PVID的详细介绍:
我们从底层观察chdev-lhdiskX-apv=yes对硬盘0扇区的改动:
#lspv
hdisk0
003752149a0b2b91
rootvg
hdisk10
none
None
hdisk11
003752146ff979f4
hdisk12
003752146ff9a31b
hdisk10没有分配PVID,我们看看0扇区的十六进制代码:
#lquerypv-h/dev/hdisk100200(结果:
第一列是序号,后4列是十六进制数据)
00000000
C9C2D4C1000000000000000000000000
|................|
00000010
00000000000000000000000000000000
00000020
00000030
00000040
00000050
00000060
00000070
00000080
00000090
000000A0
000000B0
000000C0
000000D0
000000E0
000000F0
00000100
00000110
00000120
00000130
00000140
00000150
00000160
00000170
00000180
00000190
000001A0
000001B0
000001C0
000001D0
000001E0
000001F0
#chdev-lhdisk10-apv=yes
hdisk10changed
0037521474170251
#lquerypv-h/dev/hdisk100200
00375214741702510000000000000000
|.7R.t..Q........|
|.............