最近由于测试DB2 10.5相关技术,所以有机会搭建一个全新环境,可以自行规划存储。昨天在创建了一些LV,刚刚发现竟然有些LV计算机有误。

/db2_src/db2deer$ lsvg datavg12
VOLUME GROUP:       datavg12                 VG IDENTIFIER:  00c275ae00004c0000000140792c9386
VG STATE:           active                   PP SIZE:        64 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      13588 (869632 megabytes)
MAX LVs:            512                      FREE PPs:       634 (40576 megabytes)
LVs:                179                      USED PPs:       12954 (829056 megabytes)
OPEN LVs:           124                      QUORUM:         7 (Enabled)
TOTAL PVs:          12                       VG DESCRIPTORS: 12
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         12                       AUTO ON:        yes
MAX PPs per VG:     130048                                    
MAX PPs per PV:     2032                     MAX PVs:        64
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no

lsvg命令用来显示AIX中的卷组信息,在AIX的LVM中,物理磁盘需要被加入到一个被称为VG的磁盘组中 ,其实说是物理硬盘,实际存储目前基本是虚拟化存储池方式,在存储层面,物理硬盘已经通过RAID方式实现冗余,然后通过逻辑才卷LUN方式,在OS上LUN就被识别为物理硬盘,可见,存储虚拟化技术已经很难定位实际一块底层的物理硬盘存储的数据是那些分区了,这种方式当然对于性能也有很大的提升。在卷组中我们可以创建逻辑分区设备LV,lsvg其实有很多参数,-l就可以列出卷组中LV信息,在上面我没加任何参数,列出了当前卷组的信息,卷组的基本单位是PP也就是物理分区,其中常关注的信息PPsize即为一个PP的大小,上面是64M,通过Total PPs,可以计算出当前卷组的总大小,另外Free PPsize,可以计算当前剩余的空间大小,另外就是卷组的权限,以及卷组的最大LV个数等,在此创建字符设备的方法如下:

PPsize是64M,创建LV的命令:

mklv -T O -y deer_16g01    datavg12  256
mklv -T O -y deer_4g01     datavg12  64
mklv -T O -y deer_2g01     datavg4  64
mklv -T O -y deer_1g01     datavg12  16
mklv -T O -y deer_1g02     datavg12  16
mklv -T O -y deer_1g03     datavg12  16
mklv -T O -y deer_1g04     datavg12  16
mklv -T O -y deer_1g05     datavg12  16
mklv -T O -y deer_1g06     datavg12  16
mklv -T O -y deer_512m01   datavg12  4
mklv -T O -y deer_64m01    datavg12   1

后来发现在创建表空间发现设备文件size不对

tracker:/db2_src/db2deer$ lslv deer_512m05
LOGICAL VOLUME:     deer_512m05            VOLUME GROUP:   datavg12
LV IDENTIFIER:      00c275ae00004c0000000140792c9386.120 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs                    WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        64 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                4                      PPs:            4
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    64
MOUNT POINT:        N/A                    LABEL:          None
MIRROR WRITE CONSISTENCY: on/ACTIVE                              
EACH LP COPY ON A SEPARATE PV ?: yes  

lslv可以查看当前LV的属性,最常用的就是lv state是否在使用,另外就是当前LV大小,通过PPSIZE*PPs可以计算,上面的结果课件,当前的LV大小是256M,其实我规划是512M的,只是计算失误,不过AIX修改LV的大小很简单,只需要

just so so:

tracker:/root# extendlv deer_512m01   4

extendlv的具体用法就不说了,上面就是扩展四个PP大小的空间
tracker:/root# lslv deer_512m01
LOGICAL VOLUME:     deer_512m01            VOLUME GROUP:   datavg12
LV IDENTIFIER:      00c275ae00004c0000000140792c9386.116 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs                    WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        64 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                8                      PPs:            8
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    64
MOUNT POINT:        N/A                    LABEL:          None                          这样看LV增大了 4个PP