Pvid是aix系统中的ODM LVM用于识别PV的序列号,操作系统通过pvid来识别pv,就好像我们每个人的ID card。

当pv被添加到系统中之后,可以通过两种方式生成pvid

1,cfgmgr -v
2,lspv 如果没有PVID的话,执行chdev -l hdiskn -a pv=yes

也就是说当系统可以识别硬盘 并将硬盘认可为pv(即lvm的组件)的时候。系统就分配了pvid给硬盘,系统的odm库中保存有pvid。
Pvid的生成原则是 主板序列号+形成pv时候的时间戳,pvid除了写入odm库,在硬盘头信息里(0扇区的头几个字节)以及VGDA 也将写入pvid

To make a disk into a physical volume, the PVID is placed onto the disk. ThePVID is an combination of the machine's serial number (from the systems EPROMs) and the date the PVID was generated. This combination ensures the extremely low chance of PVIDs being duplicated. When the system is booted, the disk configurator looks at the PVID residing on the disk and compares it with an entry in the ODM. If an entry is found, then the disk is given the hdiskx number in the ODM that is associated with the PVID. If there is no matching entry, then the next name in the pool of 'free' hdisk names is allocated to the physical volume.

可以通过 lquerypv -H hdisk0查看pv上的pvid

ibm150:[/]#lquerypv -H /dev/hdisk0
000af70de396426b0000000000000000
ibm150:[/]#lspv
hdisk0 000af70de396426b datavg
hdisk1 000af70d5c816fc2 rootvg
hdisk2 000af70d4d50358c rootvg

可以看到三个pv的pvid前几位数字是相同的(即主板序列号),后几位数字是不同的。

可以通过以下方法修改pvid
chdev -l hdisk1 -a pv=clear 清除pv 磁盘头的pvid
chdev -l hdisk1 -a pv=yes 重新定义pvid

如果pv已经加入卷组,首先还得先varyoffvg ,exportvg
执行以上步骤,pv的pvid将会改变。这里修改的只是磁盘头的pvid,并没有修改vgda中的pvid

当pv已经是一个卷组的成员时,切记不要随便修改pvid

因为当pv加入一个卷组的时候,pvid将被写入vgda,如果你擅自修改卷组的pvid,然后新生成的pvid将不能和卷组vgda中的pvid相匹配,这样就无法importvg,就无法varyonvg,很有可能就会丢失数据!

当importvg的时候,odm将读取pv上的vgda,如果vgda上pvid与自身磁盘上的pvid不符合的话,将出现错误!

注意:当pv加入卷组以后,pvid在硬盘上存在于至少两个地方,一个是在硬盘头,一个是在vgda中。这两个地方的pvid一般是相同的,但是由于pvid的修改,可能造成不一致,这样就有可能丢失数据。

你可以通过
#lqueryvg -Atp hdisk0 查看pv vgda中的pvid

ibm150:[/]#lqueryvg -Atp hdisk0
Max LVs: 256
PP Size: 25
Free PPs: 85
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: 128
HOT SPARE: 0
AUTO SYNC: 0
VG PERMISSIO 0

当然万一修改了,还是有办法恢复数据的!
1, 修复卷组(推荐)
1.首先将原卷组的定义从系统的ODM库中删除:
# exportvg vgname

2.检查硬盘上VGDA 区的信息,从中得到有关逻辑卷的名称及定义:
如:

#lqueryvg -Atp hdisk2
Max LVs: ------256
PP Size: ------26
Free PPs: -----538
LV count: -----2
PV count: -----1
Total VGDAs: --2
Conc Allowed --0
MAX PPs per ---1016
MAX PVs: ------32
Conc Autovar --0
Varied on Co --0
Logical: ------0003f62a00004c00000000f52f1737c5.1 --datalv1 1
---------------0003f62a00004c00000000f52f1737c5.2 --datalv2 1
Physical: -----0003f62a2f135f0e --------------2 ----0
Total PPs: ----542
LTG size: -----128
HOT SPARE: ----0
AUTO SYNC: ----0
VG PERMISSIO --0

3.创建逻辑卷名对应表文件。 第一字段为VGDA区中的逻辑卷的名,第二字段为在新卷组中新的逻辑卷名,可相同也可不同;为了修复原有卷组的内容,通常逻辑卷名保持不变。

如:

#vi /tmp/lvname
datalv1:datalv1
datalv2:datalv2

4. 在硬盘上重新创建卷组,保留原有卷组的数据结构。

#recreatevg -y vgname -l lv_file hdisk_name...
如:
#recreatevg -y testvg -l /tmp/lvname hdisk2

5. 如果卷组上有文件系统,还需修改 /etc/filesystems ,使对应的文件系统的加载点与原来的一致。首先修改/etc/filesystems文件,不行的话就执行下面的步骤
或者:

如果在重新import后,发现mountpoint不同,可以通过smitty chlv修改lv属性,即修改Logical volume LABEL,使之与mount point相同。

为什么要修改/etc/filesystem呢?

recreatevg 后,系统自动创建了目录/fs,所有的文件系统加载到了/fs下,原来的mountpoint是以/为基准的.

来源链接:
http://blog.chinaunix.net/u1/39140/showart_304297.html

AIX 系统中 PVID 的含义与作用的更多相关文章

  1. AIX系统中安装Java6全过程(全部)

    ====================================================   From: GCG TSC pSeries <ibm800p@cn.ibm.com& ...

  2. 系统中hosts文件有哪些作用

    hosts文件位于系统盘C:\Windows\System32\drivers\etc中,hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库 ...

  3. html中标签的含义及作用

    链接:http://www.w3chtml.com/html/tag/div.html

  4. AIX系统下sed的用法与实例——查询/打印/替换字符串并生成文件/删除

    sed是AIX中非常重要的文本流编辑器,它对输入的文本进行查询/打印/替换/删除等操作,并将结果写到标准输出.sed 命令包含很多功能,用于选择要修改的行,并只对选择的行作更改. 首先,使用sed命令 ...

  5. CentOS系统中last命令的作用

    CentOS系统中last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户.通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统. 格式 last [—R] [—n] ...

  6. AIDL在android系统中的作用

    AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口.最近看了下AIDL在A ...

  7. 让Redis在你的系统中发挥更大作用的几点建议

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/105.html?1455868313 Redis在很多方面与其他数据库解决 ...

  8. 几点建议,让Redis在你的系统中发挥更大作用

    Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储:它的数据模型非常独特,用的是单线程.另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不 ...

  9. 让Redis在你的系统中发挥更大作用

    Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储:它的数据模型非常独特,用的是单线程.另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不 ...

随机推荐

  1. 【学+原】CSS3的2D动画 ——仿NOMOS手表

    看CSS3妙味课堂中有一课是介绍如何做钟表界面,然后三根针都能随着时间转动,然后自己在那个简易的版本上做了一些进一部改进. 最关键的知识点应该是transform-origin这个样式,要选对旋转的中 ...

  2. emacs使用 simple-httpd和impatient-mode插件实现livereload

    现在用emacs写前段,自然想实现那种,编辑器里编辑,然后浏览器端页面自己刷新 使用 simple-httpd 和impatient-mode 两个插件,可以实现, 按照文档安装好使用就可以,我没找到 ...

  3. 直接解压msi文件

    msiexec /a "F:\TDDownload\subversion-1.5.5.msi" /qb TARGETDIR="F:\TDDownload\subversi ...

  4. Django学习笔记(一)

    1.$python manage.py runserver 0.0.0.0:8000  开放所有IP $python manage.py runserver 8000 制定开放的端口 2.报错信息: ...

  5. ztree

    http://www.s u c h s o.com/projecteactual/ztree-jiaocheng-mvc-checkbox-quanxuan-demo-down.html http: ...

  6. 苹果刷机相关开源代码(如iRecovery等)收集汇总(不断更新中...)

    下面截图是在下面开源代码下使用VS2015修改部分代码后适配而成,可以在Windows平台上运行, 下载连接: http://pan.baidu.com/s/1i4zKGx3.

  7. 开发《基于Arcgis Online的家政管理服务信息系统》随笔1

    1.在webservice中写的方法参数里面含有数组,如:public DataTable AdvSearch1(int ServiceArea, params string[] nas), 在发布之 ...

  8. BCB中获得RichEdit 默认行间距

    首先,这些功能支持RichEdit2.0 以上功能: 其次,用常规的方法是无法获得LineSpace 的: 你使用 EM_GETPARAFORMAT也得不到,你会发现dyLineSpacing 的值永 ...

  9. ASP.NET Web API系列教程目录

    ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...

  10. APP分发渠道的竞争分析

    一. 最近几年,手机APP市场发展非常迅速,随着手机的硬件水平的不断升级,大量资本涌入,越来越多的开发者从桌面平台开发转移到移动平台开发,面对数以万计的手机APP,如何推广自己的APP成了难题,APP ...