天天看点

AIX学习之—存储管理(LVM)

<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存在,则当系统中&gt;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,如需转载请自行联系原作者

继续阅读