把一个硬盘添加到某卷组前,必须在系统中将其配置为物理卷(PV),分配一个唯一的物理卷标识符和物理卷名,同时使它处于可用状态。PV上保存着有关该PV的某些配置和表示信息,如PV的标识符等。可以使用mkdev或chdev命令将一个硬盘变成PV,还可以使用SMIT工具增加PV。当一个硬盘变成PV后,它就被分成一些512字节大小的物理块
一、物理卷区域的分布
逻辑上,逻辑卷存在于卷组,物理上,存在于物理卷。物理卷即硬盘,按磁头在硬盘上的读写速率可以把硬盘划分成几个不同级别的区域,逻辑卷对应的PP位于哪一个级别的区域上,对逻辑卷的读写效率影响很大。
根据逻辑卷在硬盘上位置不同,可将硬盘截面分为5个同心区域:外边缘(Outer-Edge)、外中间(Outer-Middle)、中央(Center)、内中间(Inner-Middle)和内边缘(Inner-Edge)。一般把外边缘和内边缘区域统称为边缘(Edge),把外中间(Outer-Middle)和内中间(Inner-Middle)区域统称为中间(Middle)
对于机械硬盘,边缘区域的搜索时间最长。所以需要频繁访问的应用程序不要存放在边缘;中央区域搜索时间最短,可以存放页面空间和应用程序产生的重要的随机I/O;中间区域介于两者之间。
所以创建逻辑卷时有5种PV可以选择,经常要访问的逻辑卷放在磁盘中央区域,很少访问的逻辑卷放在边缘区域,其他放在中间区域。创建逻辑卷时默认的磁盘位置是外中间区域。
二、向系统添加一块硬盘
1.系统下电(断电)
2.添加硬盘
3.启动系统:此时操作系统会坚持磁盘(cfgmgr命令),确定它的引导记录上是否已经有一个唯一的物理卷标识符(PVID)。如果没有,系统会为他自动分配一个唯一的标识符和物理卷名,如果已经存在,则把它定义为一个PV。物理卷名一般是hdiskn形式,其中n是系统中唯一的磁盘号。在系统启动时,有时存在系统没有检测出来硬盘的情况,这时需要用户通过手工方式配置硬盘
将一块硬盘配置成物理卷
方法一:
适用于在配置前能重新启动系统的情况。在系统启动时,就会运行cfgmgr命令,可自动配置系统中的新设备。完成启动后,以root用户进入系统,用lspv命令查看已配置的硬盘
如果新加入的硬盘(假设为hdisk2)没有PVID,则需要手工配置为物理卷。使用以下命令可以把hdisk2配置为一个物理卷
chdev -l hdisk2 -a pv=yes
该命令给hdisk2分配一个唯一的PVID,并将PVID写在该硬盘的引导记录中。如果硬盘已经有PVID,则此硬盘已经配置成了物理卷
方法二:
适用于不能重启系统。只知道硬盘位置,不知道硬盘具体参数。
先参看:lspv
再使用配置管理器检查系统中最新的设备,再配置:cfgmgr -v
再次使用lspv,发现没有PVID的硬盘后,即将其配置为PV
命令:chdev -l hdisk2 -a pv=yes
方法三:
适用于不能重启系统且cfgmgr命令检测不出来的硬盘。此时选哟知道硬盘的具体信息,如硬盘的类型(Type),硬盘连接的子类,硬盘连接的父设备名(Parent Name)和硬盘的逻辑位置(也就是位置编号,Location Code)
使用mkdev命令配置物理卷,格式如下:
mkdev -c Disk -s Subclass -t Type -p ParentName -w LocationCode -a pv=yes
-a pv=yes的作用是将一个具体硬盘变成一个物理卷,并分配一个唯一的PVID,将PVID写入到影片的引导记录中。
例子:增加一个679M的硬盘,连接到scsi3父设备上,它的SCSI ID是6,逻辑单元号是0,则命令如下:
mkdev -c disk -s scsi -t 670mb -p scsi3 -w 6,0 -a pv=yes
除了使用mkdev命令,还可以使用SMIT工具,使用SMIT快捷路径如下:
smit makdsk
然后选择磁盘类型,在Disk Type列表中选择磁盘类型,如果不是IBM的SCSI硬盘,则在Disk Type列表中选择osdisk,然后在Parent Adapter列表中选择硬盘所接的适配卡,然后添加硬盘
在”CONNECTION address“栏中输入硬盘的SCSI地址(SCSI设备的位置编号),SCSI适配器位置编号包含两个数字,第一个数字是SCSI ID,第二个数字是SCSI适配器上的逻辑单元号,一般为0.
在”ASSIGN physical volume identifier“栏中选yes,表示给该硬盘分配一个PVID,按回车就配置完一个硬盘,并分配一个物理卷标识符(PVID)(337)
三、修改物理卷的属性
物理卷只有两个属性可以被修改,物理卷的分配权限和物理卷的可用性。
物理卷的分配权限:决定是否可以在该物理卷上为逻辑卷分配新的物理分区。
物理卷的可用性:该物理卷的使用状态,即可用和不可用
命令格式:chpv [-h Hotspare] [ -a Allocation ] [ -v Availability ] [-c ] Pvname ... [ -C HDiskName ]
参数:
Pvname:指定被修改属性的物理卷名
-h Hotspare:设置物理卷的热备份特性,对未镜像的逻辑卷没有意义。值为y或n,y表示把该物理卷设置成一个热备份磁盘,即不能再其上分配逻辑分区
-c:清楚指定物理卷上的引导记录
-C HDiskName:作用是从一个磁盘上清楚它本身的卷管理器。如果磁盘是已导入LVM卷组的一部分,即把LVM作为自己的卷管理器来清除时,则该命令会执行失败
-a Allocation:是设置物理卷的分配权限。当Allocation为“y”时,表示允许分配物理卷Pvname上的新PP,否则禁止,但是位于该PV上的LV还可以继续被访问
-v Availability:设置物理卷的状态。若为“r”时,就设置物理卷Pvname不可使用,禁止使用该物理卷,即使通过文件系统,虚拟内存管理器和逻辑卷等方式也不能访问该物理卷上的数据,只有存储管理命令可以访问该物理卷。为“a”时,就设置为可用状态
例子:禁止hdisk1物理卷再分配新的PP
命令:chpv -a n hdisk1
要使hdisk1物理卷可以继续为逻辑卷分配新PP,则
chpv -a y hdisk1
禁止通过逻辑卷方式读写hdisk1物理卷上的数据(即修改物理卷的状态为不可用状态)
命令:chpv -v r hdisk1
当要将hdisk1从系统中删除时,应该通过chpv命令关闭hdisk1的可用性。如果由于hdisk1物理卷失效丢失了该物理卷,则该物理卷也会变成不可用状态
注意:执行chpv命令时,在/tmp下需要足够的空间。如果在执行时失败,则应该扩充该目录的空间,然后重新执行chpv命令
关闭一个物理卷的可用性,就禁止了在该PV上所有的VGDA/VGSA,在以后激活卷组时,该PV不参加磁盘Quorum的检查,同样,有关该物理卷的信息也会从该卷组中其他物理卷的VGDA中删除
例子:允许通过逻辑卷方式操作hdisk1上的数据(即修改物理卷的状态为可用状态)
命令:chpv -v a hdisk1
要清除物理卷hdisk1上的引导记录
chpv -c hdisk1
使用SMIT工具也可以修改物理卷属性
命令:smit chpv
选择物理卷:Physical volume NAME
在“Allow physical partition ALLOCATION?”中分配权限,yes表示允许分配新PP
在“Physical volume STATE”中设置物理卷的状态,其值为active时,表示该物理卷可用
在“Set hotspare characteristics”中设置物理卷的热备份特性,y表示设置为热备份磁盘,即不能在其上分配逻辑分区
四、显示物理卷的信息
1.显示系统中的物理卷
命令:lsdev -Cc disk
lspv
2.显示物理卷的属性
lspv hdisk0
表中各参数的含义
PHYSICAL VOLUME:物理卷的名字
PV IDENTIFIER:物理卷标识符,即VCB PVID,在系统中是唯一的
PV STATE:物理卷的状态,指该物理卷是否能通过逻辑卷或文件系统来访问,可以用chpv更改
STALE PARTITIONS:失效分区的个数(陈旧的PP个数)
PP SIZE:一个PP的大小,单位是MB,在创建VG时指定,默认是4MB
TOTAL PPs:该物理卷上PP总数。包括已使用的和未使用的PP(342)
FREE PPs:没有使用的PP个数
USED PPs:已使用PP的个数
FREE DISTRIBUTION:未使用PP的分布情况,分布格式按照物理卷的截面显示
USED DISTRIBUTION:已使用PP的分布情况
VOLUME GROUP:该PV所属卷组的名字
VG IDENTIFIER:该PV所属卷组的标识符,即VGID
ALLOCATABLE:指是否允许在该PV上分配新的PP
LOGICAL VOLUMES:该PV所包含的LV个数
VG DESCRITORS:该PV所包含VGDA的个数
HOT SPARE:热备特性是否打开
其中“FREE DISTRIBUTION”,“USED DISTRIBUTION”栏中显示未用和已用PP的分布情况,它的格式是:外边缘(Outer-Edge)..外中间(Outer-Middle)..中央(Center)..内中间(Inner-Middle)..内边缘(Inner-Edge)
3.显示在物理卷上分配的逻辑卷
命令:lspv -l hdisk0
4.显示物理卷上物理分区的分布情况
命令:lspv -p hdisk0
5.显示物理分区与逻辑分区的对应情况
命令:lspv -M hdisk0
命令输出有两列,格式如下:
第一列,PVname是物理卷的名字,PP是物理卷上的物理分区编号,如果一段连续的物理分区时空闲的,则用一段PP编号范围(PP-PP)来表示
第二列,LVname是逻辑卷名字,LP是第一列物理分区对应逻辑卷上的LP变啊后,如果逻辑卷有镜像,则也有COPY的值,COPY是逻辑卷的副本数。通过分析此命令所显示的信息,可以确定如何改善逻辑卷的性能。
五、删除物理卷
命令:rmdev -l HdiskName -d
例:rmdev -l hdisk5 -d
六、迁移物理卷上的内容
同一个卷组中,migratepv命令可以把属于一个或多个逻辑卷的物理分区(PP)从一个物理卷移到其他一个或多个物理卷上。格式如下:
migratepv [-i] [-l LogicalVolume] sourcePhysicalVolume DestPhysicalVolume
参数:
sourcePhysicalVolume:指定源物理卷名
DestPhysicalVolume:指定目标物理卷名,若有多个目标物理卷,则用空格隔开
-l LogicalVolume:只迁移属于由参数指定逻辑卷的物理分区
-i:表示从标准输入读取DestPhysicalVolume参数
注意:不能移动两个不同卷组中的数据
示例:更换磁盘时,需要将它的数据移到同一个卷组的其他磁盘上。下面是步骤
1.先检查该卷组包含哪些磁盘,保证源磁盘和目的磁盘在同一个卷组,如果源目磁盘在同一个卷组中,则直接执行第三步。
命令:lsvg -p rootvg
作用:检查rootvg卷组所包含的磁盘
2.如果计划将数据移到一块新的磁盘(即替换有问题的磁盘),则按照以下步骤
a.确认可用磁盘
命令:lsdev -Cc disk
作用:找出可用磁盘
b.确保可用磁盘不属于任何一个卷组
命令:lspv
作用:查看各物理卷信息
c.如果没有可用磁盘,则需要安装新磁盘,并配置
d.给指定的卷组添加一个新磁盘
命令:extendvg VGName hdiskX
3.确定磁盘有足够空间来保存源磁盘数据
a.检查源磁盘已用PP数,假设源磁盘是hdisk0
命令:lspv hdisk0 |grep "USED PPs"
b.检查目标磁盘上空闲的PP数。如果目标磁盘有多个,可用下面的命令检查每一个磁盘上空闲的PP数
命令:lspv HdiskName |grep "FREE PPs"
把所有目标磁盘上空闲的PP数加起来,总数大于源磁盘上已使用的PP数,那么目标磁盘上就有足够的空间,可以迁移数据
4.如果是迁移rootvg卷组中的一个磁盘,则按以下a,b,c执行;如果迁移用户自定义卷组中的一个磁盘,则直接执行第5步
a.检查引导逻辑卷(hd5)是否在源磁盘上
命令:lspv -l SourceDiskName |grep hd5
如果没有任何输出,则说明引导逻辑卷(hd5)不在源磁盘上,可直接执行第5步
b.如果引导逻辑卷在源磁盘上,则执行以下命令
migratepv -l hd5 SourceDiskName DestinationDiskName
注意:如果卷组被激活成并发访问模式,则不能对该卷组执行migratepv命令。因为migratepv命令不能迁移一个条带化的逻辑卷,要把这种逻辑卷中的数据从一个物理卷移到另一个物理卷中,则必须先使用cplv命令复制数据,再用rmlv命令删除旧的逻辑卷。而且,执行migretepv命令的用户必须是root或者system组的成员。
c.显示一个要求在目标磁盘上执行bosboot命令的提示信息
注意:当引导逻辑卷(hd5)从一个物理磁盘移走后,应清除这个物理卷(原物理卷)上的引导记录,否者,可能会导致系统挂起。当执行了bosboot命令,必须还要执行mkboot -c命令。但AIX 4.2及以后版本不再支持mkboot命令
5.执行SMIT工具来迁移数据
命令:smitty migratepv
6.选择源磁盘
7.选择目的磁盘
8.如果只移动属于某一个逻辑卷中的数据,则在“Move only data belonging to thsi LOGICAL VOLUME?”中输入或选择一个逻辑卷,那么migratepv命令就只移动源物理卷上属于指定逻辑卷的物理分区
9.按回车键开始移动物理分区
10.如果要从卷组中删除源磁盘(替换一个磁盘时),执行以下命令
reducevg VGName SourceDiskName
要物理地从系统中删除源磁盘(当源磁盘有问题或故障时),执行下面命令
rmdev -l SourceDiskName -d
数据迁移示例1
hdisk1,hdisk6,hdisk7在同一个卷组中,要把hdisk1上的PP移到hdisk6和hdisk7上
命令:migratepv hdisk1 hdisk6 hdisk7
数据迁移示例2
把属于lv01的PP从hdisk1上移动到hdisk6中
migratepv -l lv01 hdisk1 hdisk6