关于这个问题我们首先来看一下AIX的vg的3种类型:
original vg 普通卷组

big vg 大卷组

scalable vg 动态的或者可扩展的卷组

如何快速区分这三组卷组呢?

通过其参数MAX PVS,上述3个类型的卷组对应的限制是:32、128、1024;除此之外,还可以通过readvgda命令来读取pv的元数据判断。

好了,实际来看几个例子。

db1:/#uname -a

AIX db1 1 6 00F7B72A4C00

db1:/#oslevel -r

6100-07

这是一台aix6.1下的环境,含有rootvg和vg01两个卷组:

db1:/#lsvg -o

vg01

rootvg

其中rootvg当然是系统使用的vg,vg01是准备用来被oracle使用的。

现有pv如下:

db1:/#lspv

hdisk0          00f7b72ab2370b93                    rootvg          active      

hdisk1          00f7b72aacb2dab0                    rootvg          active      

hdisk2          none                                None                        

hdisk3          none                                None                        

hdisk4          none                                None                        

hdisk5          none                                None                        

hdisk6          none                                None                        

hdisk7          none                                None                        

hdisk8          00f7b72af78cefac                    vg01            active      

hdisk9          00f7b72af78cf3f9                    vg01            active      

hdisk10         00f7b72af78cf834                    vg01            active      

hdisk11         00f7b72af7a7bf97                    diskhb                      

现在我们通过MAX PVS这个参数判断卷组类型:

db1:/#lsvg rootvg

VOLUME GROUP:       rootvg                   VG IDENTIFIER:  00f7b72a00004c000000013bb2371f49

VG STATE:           active                   PP SIZE:        512 megabyte(s)

VG PERMISSION:      read/write               TOTAL PPs:      1116 (571392 megabytes)

MAX LVs:            256                      FREE PPs:       650 (332800 megabytes)

LVs:                16                       USED PPs:       466 (238592 megabytes)

OPEN LVs:           13                       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

db1:/#lsvg vg01

VOLUME GROUP:       vg01                     VG IDENTIFIER:  00f7b72a00004c000000013ef78cf9e8

VG STATE:           active                   PP SIZE:        256 megabyte(s)

VG PERMISSION:      read/write               TOTAL PPs:      3597 (920832 megabytes)

MAX LVs:            256                      FREE PPs:       3565 (912640 megabytes)

LVs:                2                        USED PPs:       32 (8192 megabytes)

OPEN LVs:           0                        QUORUM:         2 (Enabled)

TOTAL PVs:          3                        VG DESCRIPTORS: 3

STALE PVs:          0                        STALE PPs:      0

ACTIVE PVs:         3                        AUTO ON:        no

MAX PPs per VG:     32768                    MAX PVs:        1024

LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no

HOT SPARE:          no                       BB POLICY:      relocatable

MIRROR POOL STRICT: off                                       

PV RESTRICTION:     none                     INFINITE RETRY: no

根据参数我们可以得出rootvg是original vg,而vg01是scalable vg,通过readvgda也可以得出相同的结论:

db1:/#readvgda hdisk0  | grep -i type

.....    readvgda_type: smallvg

vgtype:         0

对应的0就是original vg了,其他的还有1对应big vg,2对应scalable vg。

接下来我们看下关于4k offset的问题。首先分别在original和scalable vg创建2个lv,一共4个lv:

db1:/#/usr/sbin/mklv -y'lv_system03_512' -t'raw' rootvg 4

lv_system03_512

db1:/#/usr/sbin/mklv -T O -y'lv_system04_512' -t'raw' rootvg 4

lv_system04_512

db1:/#/usr/sbin/mklv -y'lv_system01_4g' -t'raw' vg01 16

lv_system01_4g

db1:/#/usr/sbin/mklv -T O -y'lv_system02_4g' -t'raw' vg01 16

lv_system02_4g

查看下创建出来的lv:

db1:/#lslv lv_system03_512

LOGICAL VOLUME:     lv_system03_512        VOLUME GROUP:   rootvg

LV IDENTIFIER:      00f7b72a00004c000000013bb2371f49.15 PERMISSION:     read/write

VG STATE:           active/complete        LV STATE:       closed/syncd

TYPE:               raw                    WRITE VERIFY:   off

MAX LPs:            512                    PP SIZE:        512 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:    32

MOUNT POINT:        N/A                    LABEL:          None

MIRROR WRITE CONSISTENCY: on/ACTIVE                              

EACH LP COPY ON A SEPARATE PV ?: yes                                    

Serialize IO ?:     NO                                     

INFINITE RETRY:     no                                     

db1:/#lslv lv_system04_512

LOGICAL VOLUME:     lv_system04_512        VOLUME GROUP:   rootvg

LV IDENTIFIER:      00f7b72a00004c000000013bb2371f49.16 PERMISSION:     read/write

VG STATE:           active/complete        LV STATE:       closed/syncd

TYPE:               raw                    WRITE VERIFY:   off

MAX LPs:            512                    PP SIZE:        512 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:    32

MOUNT POINT:        N/A                    LABEL:          None

MIRROR WRITE CONSISTENCY: on/ACTIVE                              

EACH LP COPY ON A SEPARATE PV ?: yes                                    

Serialize IO ?:     NO                                     

INFINITE RETRY:     no

db1:/#lslv lv_system01_4g

LOGICAL VOLUME:     lv_system01_4g         VOLUME GROUP:   vg01

LV IDENTIFIER:      00f7b72a00004c000000013ef78cf9e8.1 PERMISSION:     read/write

VG STATE:           active/complete        LV STATE:       closed/syncd

TYPE:               raw                    WRITE VERIFY:   off

MAX LPs:            512                    PP SIZE:        256 megabyte(s)

COPIES:             1                      SCHED POLICY:   parallel

LPs:                16                     PPs:            16

STALE PPs:          0                      BB POLICY:      relocatable

INTER-POLICY:       minimum                RELOCATABLE:    yes

INTRA-POLICY:       middle                 UPPER BOUND:    1024

MOUNT POINT:        N/A                    LABEL:          None

MIRROR WRITE CONSISTENCY: on/ACTIVE                              

EACH LP COPY ON A SEPARATE PV ?: yes                                    

Serialize IO ?:     NO                                     

INFINITE RETRY:     no                                     

DEVICESUBTYPE:      DS_LVZ                                        

COPY 1 MIRROR POOL: None                                   

COPY 2 MIRROR POOL: None                                   

COPY 3 MIRROR POOL: None                                   

db1:/#lslv lv_system02_4g

LOGICAL VOLUME:     lv_system02_4g         VOLUME GROUP:   vg01

LV IDENTIFIER:      00f7b72a00004c000000013ef78cf9e8.2 PERMISSION:     read/write

VG STATE:           active/complete        LV STATE:       closed/syncd

TYPE:               raw                    WRITE VERIFY:   off

MAX LPs:            512                    PP SIZE:        256 megabyte(s)

COPIES:             1                      SCHED POLICY:   parallel

LPs:                16                     PPs:            16

STALE PPs:          0                      BB POLICY:      relocatable

INTER-POLICY:       minimum                RELOCATABLE:    yes

INTRA-POLICY:       middle                 UPPER BOUND:    1024

MOUNT POINT:        N/A                    LABEL:          None

MIRROR WRITE CONSISTENCY: on/ACTIVE                              

EACH LP COPY ON A SEPARATE PV ?: yes                                    

Serialize IO ?:     NO                                     

INFINITE RETRY:     no                                     

DEVICESUBTYPE:      DS_LVZ                                        

COPY 1 MIRROR POOL: None                                   

COPY 2 MIRROR POOL: None                                   

COPY 3 MIRROR POOL: None

结合结果,有如下结论:

0. Origninal VG无论是否使用“-T O”参数,创建出来的lv都是DS_LV;

1. Scalable VG无论是否使用“-T O”参数,创建出来的lv都是DS_LVZ;

2. Big VG使用“-T O”参数创建出来的lv是DS_LVZ类型,否则是DS_LV类型。

通过查看lv的属性DEVICESUBTYPE:DS_LVZ也就是没有偏移的lv,初次之外Oracle也提供了一个工具来检查是有offset:

db1:/#ls -l /dev/lv_*

brw-rw----    1 root     system       53,  1 Jul 02 09:12 /dev/lv_system01_4g

brw-rw----    1 root     system       53,  2 Jul 02 09:15 /dev/lv_system02_4g

brw-rw----    1 root     system       10, 15 Jul 02 09:16 /dev/lv_system03_512

brw-rw----    1 root     system       10, 16 Jul 02 09:18 /dev/lv_system04_512

db1:/#ls -l /dev/rlv_*

crw-rw----    1 root     system       53,  1 Jul 02 09:12 /dev/rlv_system01_4g

crw-rw----    1 root     system       53,  2 Jul 02 09:15 /dev/rlv_system02_4g

crw-rw----    1 root     system       10, 15 Jul 02 09:16 /dev/rlv_system03_512

crw-rw----    1 root     system       10, 16 Jul 02 09:18 /dev/rlv_system04_512

其中每个lv对应有快设备和字符设备,oracle使用的是字符设备:

db1:/#chown oracle:oinstall /dev/rlv_*

db1:/#chmod 700 /dev/rlv_*

db1:/#ls -l /dev/rlv_*

crwx------    1 oracle   oinstall     53,  1 Jul 02 09:12 /dev/rlv_system01_4g

crwx------    1 oracle   oinstall     53,  2 Jul 02 09:15 /dev/rlv_system02_4g

crwx------    1 oracle   oinstall     10, 15 Jul 02 09:16 /dev/rlv_system03_512

crwx------    1 oracle   oinstall     10, 16 Jul 02 09:18 /dev/rlv_system04_512

由于该工具只能检查被用于数据文件的lv,因此只能在被使用之后检查,现在先删除掉上述4个lv,之后重新创建用于测试,注意要用root用户执行:

db1:/oracle$ dbfsize /dev/rlv_system01_4g

/dev/rlv_system01_4g: Header block magic number is bad; trying raw file format...

/dev/rlv_system01_4g: Header block magic number is bad

db1:/oracle$ dbfsize /dev/rlv_system03_512

        /dev/rlv_system03_512: Header block magic number is bad

删除  rmlv -f 'rlv_system01_4g' rmlv -f 'rlv_system02_4g' rmlv -f 'rlv_system03_512' rmlv -f 'rlv_system04_512'

在创建数据库之后重新执行下如下结果就可以结果:

db1:/#/oracle/app/oracle/product/10.2/db1/bin/dbfsize /dev/lv_control_01

Database file: /dev/lv_control_01

Database file type: raw device without 4K starting offset

Database file size: 334 16384 byte blocks      

 

这个是没有offset的.

接着来看下有offset的结果:

/usr/sbin/mklv -y'lvtest' -t'raw' rootvg 1            

chown oracle:oinstall /dev/rlvtest

chmod 700 /dev/rlvtest

db1:/#su - oracle

db1:/oracle$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Tue Jul 2 11:50:32 2013

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create tablespace gtlions datafile '/dev/rlvtest' size 10m;

Tablespace created.

SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

db1:/oracle$ /oracle/app/oracle/product/10.2/db1/bin/dbfsize /dev/lvtest

Database file: /dev/lvtest

Database file type: raw device     

Database file size: 1280 8192 byte blocks     

而且使用有offset的lv创建表空间的时候在后台日志也会做相应的记录并提出建议:

create tablespace gtlions datafile '/dev/rlvtest' size 10m

WARNING: You are creating datafile /dev/rlvtest.

WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.

WARNING: You are creating/reusing datafile /dev/rlvtest.

WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.

Completed: create tablespace gtlions datafile '/dev/rlvtest' size 10m  

-EOF-

关于AIX lv 4k offset问题初步了解的更多相关文章

  1. [转] AIX lv 4k偏移量

    转自:http://www.aixchina.net/Question/29969 前几天在客户数据库做巡检的时候,在警告日志中发现有如下警告:引用WARNING: You are creating ...

  2. AIX采用LV创ASM磁盘组

    CREATE ASM ON AIX LV DEVICE OS:AIX  6100-03 ASM版本号 10205 # lspv hdisk0          000d295a6d68902b     ...

  3. AIX误删除LV后如何进行现场保护和数据恢复工作

    在AIX环境下,若因维护误操作.存储mapping错误等,不小心将LV误删除,这种损失通常是巨大的.删除后的不当保护及恢复操作可能使数据无法恢复,也可能增加处理的时间与算法复杂度.如何有效保护现场,并 ...

  4. 关于oracle 10g creating datafile with zero offset for aix

    参考文档: 1.创建oracle数据文件时需要注意的地方(OS Header Block) http://www.aixchina.net/Question/20406 2.oracle 创建数据文件 ...

  5. aix创建lv 在lv上创建文件系统

    创建LV命令: mklv -y softlv -t jfs2 rootvg 15G 创建文件系统命令: crfs -v jfs2 -d/dev/softlv -m /soft -A yes 把soft ...

  6. 关于AIX VG中 LV 的状态问题,LV STATE

    在数据库管理过程中常常遇见LV状态异常,而造成LV不能再次被使用的情况,那么AIX中LV的两种状态分别代表什么呢 如果是访问fs需要open,即创建文件系统并mount 文件系统LV STATE 才是 ...

  7. AIX中PV,VG,LV及FS常用相关命令

    1.PV常用相关命令 1)lsdev:列出ODM(Object Data Manager)中的设备. 2)chdev:修改一个AIX设备的属性. 3)mkdev:创建一个AIX设备. 4)chpv:修 ...

  8. AIX存储LV PV VG (转载)

    1.基本概念:PV 物理卷:普通的直接访问的存储设备,有固定的和可移动的之分,代表性的就是硬盘.vg 卷组:AIX中最大的存储单位,一个卷组由一组物理硬盘组成,也就是由一个或多个物理卷组成.pp 物理 ...

  9. IBM AIX创建lv

    #lsvg 查看当前有哪些vgrootvgvgdb02vgdb01datavg#lslv maindb_index 查看maindb_index这个lv 位于哪个vg上,新的lv也要与之相同.LOGI ...

随机推荐

  1. Java DatagramSocket(UDP)要注意的问题

    因为byte数组的大小问题,在网络发送过程中.可能包括多余的空格,若接收时要对数据进行比較,最好先将数据做下处理,处理掉多余的空格.

  2. 腾讯測试project师笔试面试记录

        从3月29日參加腾讯笔试開始,開始了为期1周的腾讯之旅,尽管最后还是跪在了二面上,可是感觉收获非常多,至少明确了自己与向往的BAT公司的差距,明确了自己还是路漫漫其修远兮.     腾讯非常注 ...

  3. 鸟哥之安裝 CentOS7.x

    http://linux.vbird.org/linux_basic/0157installcentos7.php since 2002/01/01 新手建議 開始閱讀之前 網站導覽 Linux 基礎 ...

  4. Oracle控制文件操作

    控制文件是连接instance和 database的纽带.记录了database的结构信息. 控制文件是1个2进制文件.记录的是当前database的状态. 控制文件可以有多个,在参数文件中通过con ...

  5. Jobbox.io(职位盒子): 新兴的面向技术人才的职场招聘众推平台

    人才招聘市场一个主要问题在于猎头中介费昂贵.这对于大公司而言,或可接受. 但对于海量小微企业而言招聘成本和效率之间的平衡是非常大的一个问题. 现在产品猎场(Product Hunt)上出现了一些新的招 ...

  6. shortcut switch in terminal start pos & end pos

    ctrl a ctrl e switch in terminal start pos & end pos

  7. fs学习笔记之输出格式

    接触fs那么久,有必要再记录一下. 上一篇介绍了fs拓扑描写叙述文件dot的格式,今天要介绍fs输出文件的格式. 举个样例,下面是d节点输出文件的一行记录,也就是一条流经过d的记录. textexpo ...

  8. SE 2014年4月29日

    交换网络中有vlan1 到20个vlan,要求使用MSTP技术实现vlan的负载分担. SW2为实例1(vlan1-vlan10)的主根,SW3为备根 SW3为实例2(vlan11-vlan20)的主 ...

  9. 【转向Javascript系列】从setTimeout说事件循环模型

    本文首发在alloyteam团队博客,链接地址http://www.alloyteam.com/2015/10/turning-to-javascript-series-from-settimeout ...

  10. Extjs4.0.7 实现Grid的嵌套

    网上相关资料非常少,我看过的大多是Extjs 3.0 急以前版本的解决方案. 比如:http://mikhailstadnik.com/ext/examples/nested-grid.htm  (E ...