AIX LVM底层数据结构剖析

  • 格式:doc
  • 大小:96.50 KB
  • 文档页数:25

AIX LVM底层数据结构剖析(根据qintl讲稿整理)背景:一个关于数据丢失后的恢复问题,在LU中引起热烈的讨论,在相关的讨论帖中,qintl对LVM底层数据结构做了详细而精彩的演讲,受益匪浅。

现将qintl 主要讲稿内容整理如下,以便大家阅读。

相关讨论帖地址:/viewthread.php?tid=76187&extra=page%3D5%26amp%3 Bfilter%3Ddigest/viewthread.php?tid=75851&highlight=%B6%AA%CA%A 7硬盘的PVID一个硬盘要被操作系统正常使用,必须先分配PVID,硬盘的PVID在以后加入某个VG、LV都是要用到的。

分配PVID的过程就像windows下的初始化硬盘操作,就是把硬盘0扇区改写成符合操作系统使用的格式,只改写0扇区,别的地方没有任何改变。

用lspv命令就可以知道哪些硬盘还没有分配PVID,用#chdev -l hdiskX -a pv=yes就可以给硬盘分配PVID,当一个硬盘在操作系统中已经有了PVID,#chdev -l hdiskX -a pv=yes命令不会改变原来的PVID。

如果要修改某块盘的PVID,我们要先清除掉原先的PVID,然后再生成,可以用以下命令:#chdev -l hdiskX -a pv=clear#chdev -l hdiskX -a pv=yeschinadns的Blog有对PVID的详细介绍:/u/16252/showart_94788.html我们从底层观察chdev -l hdiskX -a pv=yes对硬盘0扇区的改动:# lspvhdisk0 003752149a0b2b91 rootvghdisk10 none Nonehdisk11 003752146ff979f4 Nonehdisk12 003752146ff9a31b Nonehdisk10没有分配PVID,我们看看0扇区的十六进制代码:# lquerypv -h /dev/hdisk10 0 200 (结果:第一列是序号,后4列是十六进制数据)00000000 C9C2D4C1 00000000 00000000 00000000 |................|00000010 00000000 00000000 00000000 00000000 |................|00000020 00000000 00000000 00000000 00000000 |................|00000030 00000000 00000000 00000000 00000000 |................|00000040 00000000 00000000 00000000 00000000 |................|00000050 00000000 00000000 00000000 00000000 |................|00000060 00000000 00000000 00000000 00000000 |................|00000070 00000000 00000000 00000000 00000000 |................|00000080 00000000 00000000 00000000 00000000 |................|00000090 00000000 00000000 00000000 00000000 |................|000000A0 00000000 00000000 00000000 00000000 |................|000000B0 00000000 00000000 00000000 00000000 |................|000000C0 00000000 00000000 00000000 00000000 |................|000000D0 00000000 00000000 00000000 00000000 |................|000000E0 00000000 00000000 00000000 00000000 |................|000000F0 00000000 00000000 00000000 00000000 |................|00000100 00000000 00000000 00000000 00000000 |................|00000110 00000000 00000000 00000000 00000000 |................|00000120 00000000 00000000 00000000 00000000 |................|00000130 00000000 00000000 00000000 00000000 |................|00000140 00000000 00000000 00000000 00000000 |................|00000150 00000000 00000000 00000000 00000000 |................|00000160 00000000 00000000 00000000 00000000 |................|00000170 00000000 00000000 00000000 00000000 |................|00000180 00000000 00000000 00000000 00000000 |................|00000190 00000000 00000000 00000000 00000000 |................|000001A0 00000000 00000000 00000000 00000000 |................|000001B0 00000000 00000000 00000000 00000000 |................|000001C0 00000000 00000000 00000000 00000000 |................|000001D0 00000000 00000000 00000000 00000000 |................|000001E0 00000000 00000000 00000000 00000000 |................|000001F0 00000000 00000000 00000000 00000000 |................|# chdev -l hdisk10 -a pv=yeshdisk10 changed# lspvhdisk0 003752149a0b2b91 rootvghdisk10 0037521474170251 Nonehdisk11 003752146ff979f4 Nonehdisk12 003752146ff9a31b None00000000 C9C2D4C1 00000000 00000000 00000000 |................|00000010 00000000 00000000 00000000 00000000 |................|00000020 00000000 00000000 00000000 00000000 |................|00000030 00000000 00000000 00000000 00000000 |................|00000040 00000000 00000000 00000000 00000000 |................|00000050 00000000 00000000 00000000 00000000 |................|00000060 00000000 00000000 00000000 00000000 |................|00000070 00000000 00000000 00000000 00000000 |................|00000080 00375214 74170251 00000000 00000000 |.7R.t..Q........|00000090 00000000 00000000 00000000 00000000 |................|000000A0 00000000 00000000 00000000 00000000 |................|000000B0 00000000 00000000 00000000 00000000 |................|000000C0 00000000 00000000 00000000 00000000 |................|000000D0 00000000 00000000 00000000 00000000 |................|000000E0 00000000 00000000 00000000 00000000 |................|000000F0 00000000 00000000 00000000 00000000 |................|00000100 00000000 00000000 00000000 00000000 |................|00000110 00000000 00000000 00000000 00000000 |................|00000120 00000000 00000000 00000000 00000000 |................|00000130 00000000 00000000 00000000 00000000 |................|00000140 00000000 00000000 00000000 00000000 |................|00000150 00000000 00000000 00000000 00000000 |................|00000160 00000000 00000000 00000000 00000000 |................|00000170 00000000 00000000 00000000 00000000 |................|00000180 00000000 00000000 00000000 00000000 |................|00000190 00000000 00000000 00000000 00000000 |................|000001A0 00000000 00000000 00000000 00000000 |................|000001B0 00000000 00000000 00000000 00000000 |................|000001C0 00000000 00000000 00000000 00000000 |................|000001D0 00000000 00000000 00000000 00000000 |................|000001E0 00000000 00000000 00000000 00000000 |................|000001F0 00000000 00000000 00000000 00000000 |................|这样我们就知道chdev -l hdisk10 -a pv=yes更改了哪些数据了。