关于这个问题我们首先来看一下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_谈谈AIX lv 4k偏移量

    引用 WARNING: You are creating datafile /dev/rtbs_data01. WARNING: Oracle recommends creating new data ...

  2. AIX LV删除后,ORACLE数据库文件全部恢复成功

    [数据恢复故障描述] IBM AIX系统,破坏前存储由4个500G的PV组成1个VG,VG中划分了5个文件系统:2个JFS2,2个JFS2LOG,1个JFS,两个JFS2中重要的一个由2组LV条带化后 ...

  3. AIX下删除LV后的现场保护和数据恢复方案

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

  4. EMC CLARiiON 的 Alignment offset

    今天参加了 EMC 组织的存储技术培训.因为频繁被电话打扰,导致听课效果并不是那么好.很多内容似曾相识,只是都断断续续的,几乎每次培训都是这样的,总有"断点". 上午是 CLARi ...

  5. mysql 磁盘组_AIX使用LV创建ASM磁盘组

    AIX使用LV创建ASM磁盘组 来源:互联网 作者:佚名 时间:2015-06-19 05:07 CREATE ASM ON AIX LV DEVICE OS:AIX 6100-03 ASM版本 10 ...

  6. go源码阅读——malloc.go

    [博文目录>>>] [项目地址>>>] 内存分配器 golang内存分配最初是基于tcmalloc的,但是有很大的不同.tcmalloc文章: 参见:http:// ...

  7. 最近很火的最新一代国际视频标准 VVC 到底是什么?阿里专家为你揭秘

    作者 | 叶琰,阿里巴巴达摩院XG实验室视频标准团队负责人 责编 | 夕颜 头图 | CSDN付费下载自视觉中国 2020年7月1日晚上(日内瓦时间),第十九次JVET会议在线上落下帷幕,新一代国际视 ...

  8. 电脑分屏设置主屏_华硕灵耀 X2 Pro 体验:两块屏幕的笔记本电脑,体验怎样?...

    半年前,双屏电脑只活在两张图里:一张是设计师的概念图,一张是厂商的专利图. 但在半年后,双屏电脑就像手机中的 5G 和曲面屏一样突然成为一个热门话题.一股设计潮流. 随着微软在月初公布 Surface ...

  9. linux解除硬盘加密,linux下硬盘加密

    由于RHEL5.3已经在GUI的安装中默认支持 LUKS了,我这才真正的开始尝试使用LUKS,因为之前开源界对于磁盘加密的方案有若干中,始终没法统一,所以一直没有决定去学用哪一种.其实5.2已经支持L ...

最新文章

  1. 对AFTER触发器的一些整理
  2. 2017年10月21日普及组 简单单词
  3. 在CISCO ASA 防火墙上配置Web ×××
  4. pca数学推导_PCA背后的统计和数学概念
  5. Confluence部署攻略 [转]
  6. Android安全笔记-Intent和PendingIntent基本概念
  7. AAAI2021 大运动“视频超分辨”中的对偶子网与多阶通信上采样方案
  8. Oracle/PLSQL AFTER DELETE Trigger
  9. python数据包头_Python爬虫-请求响应包头
  10. php content type,PHP Content-type 的说明
  11. Docker下载Nginx镜像并运行Nginx容器
  12. 在计算机潮流计算的三类节点中,电力系统稳态分析复习(电管11) - 图文
  13. NPDP知识推送-第三章新产品开发流程管理(1)
  14. 夜神模拟器和appium 的安装
  15. 分享8个免费的超清背景图片下载网站
  16. 寒假11:寂寞的数、连续正整数的和、学做菜
  17. 利用代码自动逛店铺拿喵币
  18. SQL注入的成因及原理浅析
  19. 在线编译linux,在线就能用的Linux我给你找好了
  20. java.lang.NoClassDefFoundError异常解决

热门文章

  1. 4K观影体验需要网络端到端带宽50M-100M,时延RTT<=20ms,丢包率PLR<=3.4*10
  2. cmd系统命令不识别
  3. iOS开发UINavigation系列四——导航控制器UINavigationController
  4. IOS开发知识(七)
  5. Java 20年:历史与未来
  6. Apache模块开发
  7. 我的个人小站,欢迎大家吐槽
  8. 前端代码标准最佳实践:HTML篇
  9. 解决windows远程(Telnet)最大连接数的问题
  10. 语言沟通6c,如何做到轻松有效沟通