<b>逻辑卷管理器</b>(Logical Volume Manager)是AIX系统存储管理的核心技术。
AIX 采用了逻辑卷管理器(Logical Volumn Manager,LVM)和日志型文件系统的存储方式,其最大的优点是能够动态地改变文件系统的大小(增加和减少),而且文件系统可以突破单个硬盘的制约。可分配非连续空间,可以跨越多个硬盘,可以动态增大或者缩小逻辑卷的大小(jfs2支持)方便存储管理操作,包括文件系统的备份、分区的删除、新分区的建立和文件系统的恢复等,新的硬盘很容易动态地添加到系统。
<b>卷组描述区</b><b>(VGDA)</b><b>:</b>描述卷组中的所有物理卷和逻辑卷的对应关系
VGDA存在于每一个PV的开始处,用于描述该PV所属的VG所包含的所有LV和PV信息。VGDA的存在使得每一个VG都可以自我描述。每个PV上VGDA的个数随组成该VG的PV个数的不同而不同:
若VG中包含单个PV,则该PV上有两个VGDA;
若VG中包含两个PV,则一个PV上有两个VGDA,另一个PV上有一个VGDA;
若VG中包含三个或三个以上的PV,则每个PV上都有一个VGDA。
<b>卷组状态区</b><b>(VGSA)</b><b>:</b>记录卷组中物理卷和物理分区的状态信息,在卷组激活时,确定哪些物理分区可用
<b>逻辑卷控制块</b><b>(LVCB)</b><b>:</b>位于每个逻辑卷开头,包含逻辑卷的信息,占用数百个字节
LVM管理命令就是对VGDA内容的更新,当一块硬盘变成PV时,这个硬盘开始保留一部分空间存放VGDA信息,当把它加入卷组中时,开始将卷组信息写入VGDA区域,当把它从卷组删除时,也同时清除VGDA数据,这个数据还存在于AIX系统的ODM库中,当导入一个卷组时,把VGDA信息写入ODM,导出时删除。
<b>磁盘</b><b>Quorum</b>
Quorum用来指定为保持系统中某个VG的激活状态而必须可用的VGDA的数目。
如果磁盘Quorum存在,则当系统中>51%的VGDA可用时,这些VGDA所属的VG才能保持激活状态,否则,该VG将自动被varyoff以禁止对该VG的任何操作。
· <b>物理卷</b><b>(Physical Volumn, PV)</b>
每一块单独的硬盘称之为一个物理卷,系统中有多少块硬盘,就有多少个物理卷。在系统中,每一个物理卷都有一个标识符,类似于hdisk0、hdisk1 等,存储设备上划分的LUN,通过光纤映射到主机之后也是物理卷,统一采用逻辑卷管理。
# lspv
hdisk0 00f7cd06d8def8ed rootvg active
hdisk1 00f7cd063b845415 rootvg active
hdisk2 none None
hdisk3 none None
# lspv hdisk0 查看hdisk0的属性
PHYSICAL VOLUME: hdisk0 VOLUME GROUP: rootvg
PV IDENTIFIER: 00f7cd06d8def8ed VG IDENTIFIER 00f7cd0600004c000000013b266f6271
PV STATE: active
STALE PARTITIONS: 0 ALLOCATABLE: yes
PP SIZE: 512 megabyte(s) LOGICAL VOLUMES: 13
TOTAL PPs: 558 (285696 megabytes) VG DESCRIPTORS: 2
FREE PPs: 413 (211456 megabytes) HOT SPARE: no
USED PPs: 145 (74240 megabytes) MAX REQUEST: 1 megabyte
FREE DISTRIBUTION: 111..27..52..111..112
USED DISTRIBUTION: 01..85..59..00..00
MIRROR POOL: None
# lspv -l hdisk0 查看在PV上分配的LV
hdisk0:
LV NAME LPs PPs DISTRIBUTION MOUNT POINT
hd2 10 10 00..00..10..00..00 /usr
hd11admin 1 1 00..00..01..00..00 /admin
hd9var 6 6 00..00..06..00..00 /var
hd8 1 1 00..00..01..00..00 N/A
lg_dumplv 8 8 00..08..00..00..00 N/A
hd4 10 10 00..00..10..00..00 /
livedump 1 1 00..01..00..00..00 /var/adm/ras/livedump
hd5 1 1 01..00..00..00..00 N/A
hd6 16 16 00..16..00..00..00 N/A
hd10opt 1 1 00..00..01..00..00 /opt
oralv 60 60 00..60..00..00..00 /u01
hd3 30 30 00..00..30..00..00 /tmp
hd1 10 10 00..00..10..00..00 /home
# lspv -p hdisk0 查看PV上PP的分布情况
PP RANGE STATE REGION LV NAME TYPE MOUNT POINT
1-1 used outer edge hd5 boot N/A
2-112 free outer edge
113-113 used outer middle hd6 paging N/A
114-121 used outer middle lg_dumplv sysdump N/A
122-122 used outer middle livedump jfs2 /var/adm/ras/livedump
123-137 used outer middle hd6 paging N/A
138-197 used outer middle oralv jfs2 /u01
198-224 free outer middle
225-225 used center hd8 jfs2log N/A
226-226 used center hd4 jfs2 /
227-227 used center hd2 jfs2 /usr
228-228 used center hd9var jfs2 /var
229-229 used center hd3 jfs2 /tmp
230-230 used center hd1 jfs2 /home
231-231 used center hd10opt jfs2 /opt
232-232 used center hd11admin jfs2 /admin
233-233 used center hd4 jfs2 /
234-237 used center hd2 jfs2 /usr
238-238 used center hd9var jfs2 /var
239-246 used center hd4 jfs2 /
247-251 used center hd2 jfs2 /usr
252-255 used center hd9var jfs2 /var
256-264 used center hd1 jfs2 /home
265-293 used center hd3 jfs2 /tmp
294-335 free center
336-446 free inner middle
447-558 free inner edge
# lspv -M hdisk0 查看PP与LP的对应情况
hdisk0:1 hd5:1
hdisk0:2-112
hdisk0:113 hd6:1
hdisk0:114 lg_dumplv:1
hdisk0:115 lg_dumplv:2
hdisk0:116 lg_dumplv:3
hdisk0:117 lg_dumplv:4
hdisk0:118 lg_dumplv:5
hdisk0:119 lg_dumplv:6
hdisk0:120 lg_dumplv:7
hdisk0:121 lg_dumplv:8
hdisk0:122 livedump:1
hdisk0:123 hd6:2
以下省略...
· <b>卷组</b><b>(Volumn Group, VG)</b>
它是系统中最大的存储单位,可以由一个或多个物理卷合并而成,是一个逻辑的概念。在一个系统中至少有一个卷组,即rootvg 卷组,它是在安装操作系统时自动创建的。如果系统中有多余的硬盘,用户也可以根据需要创建其他卷组。
卷组主要的信息有PP size、Quorum。PP size在创建时指定,或者由系统默认分配大小;QUORUM,默认全部为打开状态,如果rootvg 做了磁盘镜像,则通过"chvg –Qn rootvg"关闭quorum。
# lsvg
rootvg
# lsvg -o 查看处于激活状态的VG
# lsvg rootvg 查看rootvg的属性
VOLUME GROUP: rootvg VG IDENTIFIER: 00f7cd0600004c000000013b266f6271
VG STATE: active PP SIZE: 512 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 1116 (571392 megabytes)
MAX LVs: 256 FREE PPs: 834 (427008 megabytes)
LVs: 13 USED PPs: 282 (144384 megabytes)
OPEN LVs: 12 QUORUM: 1 (Disabled)
TOTAL PVs: 2 VG DESCRIPTORS: 3
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 2 AUTO ON: yes
MAX PPs per VG: 32512
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 1024 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable
PV RESTRICTION: none INFINITE RETRY: no
# lsvg -p rootvg 查看rootvg卷组中的PV信息
rootvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk0 active 558 413 111..27..52..111..112
hdisk1 active 558 421 111..35..52..111..112
# lsvg -l rootvg 查看rootvg卷组的LV信息
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 16 32 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 10 20 2 open/syncd /
hd2 jfs2 10 20 2 open/syncd /usr
hd9var jfs2 6 12 2 open/syncd /var
hd3 jfs2 20 40 2 open/syncd /tmp
hd1 jfs2 10 20 2 open/syncd /home
hd10opt jfs2 1 2 2 open/syncd /opt
hd11admin jfs2 1 2 2 open/syncd /admin
lg_dumplv sysdump 8 8 1 open/syncd N/A
livedump jfs2 1 2 2 open/syncd /var/adm/ras/livedump
oralv jfs2 60 120 2 open/syncd /u01
· <b>物理分区</b><b>(Physical Partition, PP)</b>
每一个物理卷都可以被分割成许多个大小相等的物理分区,即物理卷由物理分区组成。在一个卷组中,所有物理分区的大小都是相等的。
物理分区是物理卷上最小的可分配单位。
· <b>逻辑卷</b><b>(Logical Volumn, LV)</b>
它是在一个卷组上由多个逻辑分区组成的集合,在一个卷组上可以定义一个或者多个逻辑卷。构成逻辑卷的逻辑分区所对应的物理分区可能分布
在不同的物理卷上,所以逻辑卷可以跨硬盘存在。逻辑卷是用户可以使用的逻辑存储体,用户可以直接使用逻辑卷,也可在逻辑卷上建立文件系统后再使用。
常用的LV属性主要有类型,即逻辑卷上的文件系统类型(如示例中的jfs2,或者数据库使用的raw等),还有LV的条带化信息和磁盘分布,以及是否镜像等
# lslv hd1 查看hd1的属性
LOGICAL VOLUME: hd1 VOLUME GROUP: rootvg
LV IDENTIFIER: 00f7cd0600004c000000013b266f6271.8 PERMISSION: read/write
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 2 SCHED POLICY: parallel
LPs: 10 PPs: 20
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: center UPPER BOUND: 32
MOUNT POINT: /home LABEL: /home
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?: NO
INFINITE RETRY: no
# lslv -l hd1 查看hd1在各个PV的分布情况
hd1:/home
PV COPIES IN BAND DISTRIBUTION
hdisk0 010:000:000 100% 000:000:010:000:000
hdisk1 010:000:000 100% 000:000:010:000:000
# lslv -m hd1 查看hd1的LP在PV上的映射关系
LP PP1 PV1 PP2 PV2 PP3 PV3
0001 0230 hdisk0 0272 hdisk1
0002 0256 hdisk0 0273 hdisk1
0003 0257 hdisk0 0274 hdisk1
0004 0258 hdisk0 0275 hdisk1
0005 0259 hdisk0 0276 hdisk1
0006 0260 hdisk0 0277 hdisk1
0007 0261 hdisk0 0278 hdisk1
0008 0262 hdisk0 0279 hdisk1
0009 0263 hdisk0 0280 hdisk1
0010 0264 hdisk0 0281 hdisk1
· <b>逻辑分区</b><b>(Logical Partition, LP)</b>
它是映射物理分区的逻辑单位,所对应的物理分区是存储数据的地方。一个逻辑分区对应至少一个物理分区,如果卷组内的物理卷不存在
镜像关系,则一个逻辑分区对应一个镜像的物理;反之则可能对应多个物理分区,对应数量由镜像数决定。
hdisk0 和hdisk1 分别对应2块硬盘,即2 个物理卷(每个划分成多个物理分区),它们合在一起组成了一个卷组(即rootvg),在同一个卷组中所有的物理分区大小是一致的。
在rootvg 上可以划分多个逻辑卷,每个逻辑卷由多个逻辑分区组成,由于存在镜像关系(hdisk0 和hdisk1 一份数据、一份镜像),一个逻辑分区实际对应了2 个一样的物理分区。
<b>逻辑卷管理策略</b>
· <b>镜像</b><b> mirrorvg</b>
镜像mirror也称做RAID1
在建立逻辑卷时,用户可以实现逻辑卷中逻辑分区的镜像,在独立的不同硬盘中保存两个或三个副本(最多只能到三个),从而保证硬盘出错时数据不受损坏而且是可用的
<b>Parallel(</b><b>并行</b><b>)</b>
每个副本的写请求是同时进行的,当更新时间最长的副本完成后,控制就返回给程序。执行效率很高,但当副本更新时若有硬盘错误发生,数据的完整性有可能遭到破坏,为了解决这个问题,Mirror Write Consistency(镜像写一致性)选项应置为on
读操作时候,读最相近的副本,所以响应速率快
<b>Sequential(</b><b>串行</b><b>)</b>
当数据写到逻辑分区时,只有所有的副本都更新后控制才返回给程序,而且副本是一个个轮留更新。执行速率比并行镜像慢,但是数据完整性较好
读操作时候,总是先读主副本
· <b>条带化 </b><b>Striping</b>
做条带化也称做RAID0
条带化把数据块均匀地分布在不同硬盘上
访问逻辑卷上的连续数据时多个硬盘驱动器并行操作,提高了I/O的吞吐量
本文转自Vnimos51CTO博客,原文链接:http://blog.51cto.com/vnimos/1073882,如需转载请自行联系原作者