AIX 下 PVID 详解及其修改方法

1.PVID 是什么

PVID 全称 physical volume identifier,它非常重要,相当于软序列号,当把一个磁盘变成 PV 时, 就生成了 PVID , PVID 是由机器序列号 (uname -m的前

8位 ) 和它生成的时间组成,这种机制保证了 PVID 的唯一性。当系统启动时,磁盘配置程序会寻找磁 盘上的 PVID ,并把它跟 ODM 库中的 PVID 信息进行比

对,如果在 ODM 中找到匹配的条目,则把和这个 PVID 相对应的 hdisk 号赋予这个 PV ,如果没有匹配 的条目,则赋予这个 PVID 新的 hdisk 号。

2.PVID 保存在什么地方

PVID 存在于多个位置:

①硬盘头部 0扇区的 128字节。这个是最重要的,其他地方存在的该 PV 的 PVID 都要和它相同。 ②ODM 中。当我们执行 chdev -l hdiskx -a pv=yes这条命令时,会读取硬盘头部 0扇区 128字节中 的 PVID ,如果存在 PVID ,那么就把 PVID 同步写入

ODM ,如果不存在 PVID ,则

按规则生成 PVID 。

③VGDA 中。

3. 如何查询 PVID

①lspv

②lquerypv -H /dev/hdiskx

4.PVID 能修改么

PVID 当然能修改,但千万别随意修改,例如不要随意执行 chdev -l hdiskx -a pv=clear命令。那 实在要修改的话怎么办呢,可以执 行 chdev -l

hdiskx -a pv=clear,

然后执行 chdev -l hdiskx -a pv=yes,这样就生成了新的 PVID ,如果要修改成指定的 pvid ,可以 使 用脚本,或 diag – task selection– disk

maintenance 使用图形界面

修改(注意远程连接软件把终端设置成 xterm )。

5、 PVID 的修改方法:

1、通过命令行修改

下面的例子是把 hdisk2的 PVID 改成:00123456cafebabe

(1)首先清除掉 hdisk2的原有 PVID

# chdev -l $DISK -a pv=clear

hdisk2 changed

(2)查看 hdisk2的 PVID 信息

# lspv | grep hdisk2

hdisk2 none None

(3)把 PVID 修改成 00123456cafebabe ,要先把十六进制转换成八进制。我们可以在 AIX 下用 bc 命 令进行转换。

# bc

ibase=16

obase=8

00

0 <= \0000

12

22 <= \0022

34

64 <= \0064

56

126 <= \0126

CA

312 <= \0312

FE

376 <= \0376

BA

272 <= \0272

BE

276 <= \0276

# echo "\0000\0022\0064\0126\0312\0376\0272\0276\c" > /tmp/myPVID

# cat /tmp/myPVID | dd of=/dev/hdisk4 bs=1 seek=128

8+0 records in.

8+0 records out.

# lquerypv -h /dev/hdisk4 80

00000080 00123456 CAFEBABE 00000000 00000000 |..4V…………|

# rmdev -dl hdisk4

hdisk4 deleted

# cfgmgr

# lspv | grep hdisk4

hdisk4 00123456cafebabe None

2、通过 diag 菜单进行修改。

(1)修改终端环境。

# export TERM=xterm

(2) varyoffvg 卷组。

(3)进入 diag 菜单进行修改。

diag – task selection– disk maintenance-Display/Alter Sector