Chinaunix首页 | 论坛 | 博客
  • 博客访问: 365723
  • 博文数量: 93
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 879
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-06 23:29
文章分类

全部博文(93)

文章存档

2014年(2)

2011年(1)

2010年(2)

2009年(6)

2008年(6)

2007年(13)

2006年(63)

我的朋友

分类:

2006-05-05 17:33:11

title:存储管理(上、中)

time13:13 2006-5-4

第一、物理卷相关命令

a.查看当前pv [对应菜单smit makdsk]

lspv//不带任何参数,如下可以看到3列数据,[PVNAME/PVID/WHAT VG]

# lspv

hdisk0         0007f82fbf333702    rootvg        

hdisk1         0007f82ff27eac8e    datavg  

pvname由系统分配,不需要修改,一般来说,系统也会给它识别出来的pv添加pvid,但是有时候会没有添加,使用chdev -l hdisk1 -a pv=yes修改,把这个硬盘变成系统的PV

PS:添加硬盘系统识别的过程:系统开机时候会运行cfgmgr来识别硬件,如果可以识别就会把一个硬盘识别为系统的一个pv,并分配pvid,然后等待用户进一步操作,比如建立或加入vg,然后建立lv或者直接建立fs等操作就可以读写了。有2步是系统会尝试做的。1、识别硬盘。2、分配pvid。如果1步系统没有识别到,可以手动添加,命令:mkdev -c Disk -s Subclass -t Type -p ParentName

-w Locdationcode,如果2步未完成就使用则使用之前的命令。

 

b.修改pv的属性(仅仅2个属性可以修改分配权和使用状态)[对应菜单smit chpv]

chpv -c hdisk1 //清除hdisk1上的引导记录

chpv -v hdisk1 //激活hdisk1为可用状态

              

c.显示pv信息

c1.显示系统中所有pv  lsdev -Cc disk//列标题[pvname,stats,LocationCode,type]

# lsdev -Cc disk

hdisk0 Available 10-80-00-0,0 Other SCSI Disk Drive

hdisk1 Available 10-80-00-1,0 Other SCSI Disk Drive

c2.显示某一个pv的详细属性 lspv pvname [会显示具体所有属性:pvName,vg,pvid,vgid...]

# lspv hdisk1

PHYSICAL VOLUME:    hdisk1                   VOLUME GROUP:     datavg

PV IDENTIFIER:      0007f82ff27eac8e         VG IDENTIFIER     0007f82ffb604093

PV STATE:           active                                    

STALE PARTITIONS:   0                        ALLOCATABLE:      yes

PP SIZE:            128 megabyte(s)          LOGICAL VOLUMES:  5

TOTAL PPs:          68 (8704 megabytes)      VG DESCRIPTORS:   2

FREE PPs:           10 (1280 megabytes)                       

USED PPs:           58 (7424 megabytes)                       

FREE DISTRIBUTION:  00..00..00..00..10                        

USED DISTRIBUTION:  14..14..13..13..04  

C3.显示物理卷上分配的逻辑卷 lspv –l hdisk0

# lspv -l hdisk0

hdisk0:

LV NAME               LPs   PPs   DISTRIBUTION          MOUNT POINT

hd5                   1     1     01..00..00..00..00    N/A

hd6                   64    64    00..64..00..00..00    N/A

lv00                  1     1     00..01..00..00..00    /testfs

hd8                   1     1     00..00..01..00..00    N/A

hd4                   1     1     00..00..01..00..00    /

hd2                   19    19    00..00..19..00..00    /usr

hd9var                1     1     00..00..01..00..00    /var

hd3                   1     1     00..00..01..00..00    /tmp

hd1                   1     1     00..00..01..00..00    /home

test                  5     5     00..00..00..03..02    N/A

 

可以看出来,这个pv上有给10lv分配了空间,空间分配的PPLP数量,分配的位置以及mount point这些信息。

PShd3在这个pv上分配到1lp,并不是说hd3只要1lp,它有可能在其他pv中还有空间,应该lv是可以跨pv的。

 

C4:显示物理卷上的物理分区的分布状态 lspv –p hdisk0

# lspv -p hdisk1

hdisk1:

PP RANGE  STATE   REGION        LV NAME             TYPE       MOUNT POINT

  1-12    used    outer edge    paging00            paging     N/A

 13-13    used    outer edge    lv01                jfs        /home/ftpDir

 14-14    used    outer edge    loglv00             jfslog     N/A

 15-28    used    outer middle  t2                  jfs        N/A

 29-35    used    center        t2                  jfs        N/A

 36-41    used    center        t3                  jfs        N/A

 42-54    used    inner middle  t3                  jfs        N/A

 55-58    used    inner edge    t3                  jfs        N/A

 59-68    free    inner edge   

内容也是一目了然,pp range是指pp范围。

 

C5.显示物理分区以逻辑分区的对应情况lspv –M hdisk0 //列内容[pvname:pp  lvname:lp]

# lspv -M hdisk1

hdisk1:1        paging00:1 

hdisk1:2        paging00:2 

.

.

hdisk1:13       lv01:1 

hdisk1:14       loglv00:1 

.

.

.

hdisk1:21       t2:7 

hdisk1:22       t2:8 

.

.

.

hdisk1:59-68

特别说明一下,上面标红的这行,没有任何pvnamelp信息,这表明5968pp没有分配给任何lv,是free的。对应freepvfreelvfree应该是有差别的,pvfree是没有分配的空间。类型于windows中的未划分的分区。而lv中的free的空间就是已经从pv申请而没有存放任何文件的空间。而pvfree肯定是不包括lv中的free空间的。说得比较多余了,想想2者的关系跟windows中未划分的空间等c:d:中的空闲空间的关系是一样的,自然就明白了。

 

C6.删除pvRmdev –l hdisk1 –d

 这个命令会删除ODM中的hdisk1 的记录,但是执行这个命令之前必须把其上面的pv等东西清空,否则肯定会报错如下。

# rmdev -l hdisk1 -d

Method error (/etc/methods/ucfgdevice):

        0514-062 Cannot perform the requested function because the

                 specified device is busy.

 

C7. 迁移pv上的内容 Migratepv [-i][-l lvName] SourcePv DestPv

1.此命令必须的pv必须在同一个vg中,否则如下报错

# migratepv -l lv00 hdisk0 hdisk1

0516-806 migratepv: Destination physical volume hdisk1 belongs

        to wrong volume group.

2.可以看出,如果需要把整个pv迁移到另外一个pv,那么不用-l的参数,如果需要迁移SourcePv 中某个lv那么就指定。这种情况下此命令作用类似cplv命令。(一个cut一个copy)。

3.如果vg被激活为并发访问模式,或者LV已经做的条带化,那么无法使用这个命令。

4.移动引导逻辑卷(hd5)比普通的lv会多一个重要过程。第一要清除SourcePv 的引导记录。否则可能导致系统挂起。对于这条内容,需要以后在学习。

5.如果需要移动的lv是一个基本dump设备,在移动过程中系统无法使用该dump设备,所以迁移过程中必须先使用sysdumpdev分配一个基本dump设备或定义一个次要dump设备。

 

 

第二、卷组相关命令

a.创建一个vgMkvg

基本要求:

1、  vg Name必须唯一。

2、  要确定vg包括那些pv。并且这些pv必须是可用的状态。

3、  确定行的vgpp大小。可以是11024M。一个pv最多可以包含1016pp

4、  确定新vg在系统启动时是否自动被激活。

5、  确定vg最多可以容纳多少个pv

例如:

mkvg –y datavg –d 6 –s 8 hdisk2 hdisk2

y 指定vgNamepvname可以为Npv,这时候逐个列出并使用空格隔开即可。由于mkvg参数比较多,最好使用smit mkvg 菜单。

                               Add a Volume Group

Type or select values in entry fields.

Press Enter AFTER making all desired changes.

                                                        [Entry Fields]

  VOLUME GROUP name                                  []

  Physical partition SIZE in megabytes                4                       +

* PHYSICAL VOLUME names                              []                       +

  Activate volume group AUTOMATICALLY                 yes                     +

    at system restart?

  Volume Group MAJOR NUMBER                          []                       +#

  Create VG Concurrent Capable?                       no                      +

  Auto-varyon in Concurrent Mode?                     no                      +

F1=Help             F2=Refresh          F3=Cancel           F4=List

F5=Reset            F6=Command          F7=Edit             F8=Image

F9=Shell            F10=Exit            Enter=Do                   

    重点说明一下,Auto-varyon in Concurrent Mode?选项时自动激活到并发访问模式,如果使用了HACMP产品,必须Yes,并且此选项是仅仅针对HACMP产品,如果系统没有使用这个产品,那么这个选项是无效的。

Volume Group MAJOR NUMBER[]选项作用是选定主设备号,系统会自动分配,可以不用指定,并且主设备号主要也是用在HACMPHANFS中。

 

b.显示vg信息

1、显示系统中所有vglsvg //[vgName]

lsvg:显示所有vg

lsvg o :显示所有已经激活的vg

2、显示vg的属性:lsvg vgname

# lsvg datavg

VOLUME GROUP:   datavg                   VG IDENTIFIER:  0007f82ffb604093

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

VG PERMISSION:  read/write               TOTAL PPs:      68 (8704 megabytes)

MAX LVs:        256                      FREE PPs:       10 (1280 megabytes)

LVs:            5                        USED PPs:       58 (7424 megabytes)

OPEN LVs:       2                        QUORUM:         2

TOTAL PVs:      1                        VG DESCRIPTORS: 2

STALE PVs:      0                        STALE PPs:      0

ACTIVE PVs:     1                        AUTO ON:        yes

MAX PPs per PV: 1016                     MAX PVs:        32

 

3、显示vg中的lvlsvg l vgname

# lsvg -l datavg

datavg:

LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT

t2                  jfs        21    21    1    closed/syncd  N/A

t3                  jfs        23    23    1    closed/syncd  N/A

loglv00             jfslog     1     1     1    open/syncd    N/A

lv01                jfs        1     1     1    open/syncd    /home/ftpDir

paging00            paging     12    12    1    closed/syncd  N/A

上门2个命令中留意一下他们的一个类似字段,

VG STATE:[ active/Complete全部PV激活;active/partal部分pv激活,inactive非活动状态]    

LV STATE[open/syncd 打开和同步;close/syncd关闭和同步]

Openfs正在使用lv或者lv已经安装到mount point上。

Closefs没有正在使用lv或者lv没有安装到mount point上。

 

4、修改vg的属性:chvg

#chvg –a 是否自动激活 u 解锁(AIX4之前的版本一个非正常介绍的LVM命令可能会锁定一个lv-L (LTG大小)vgname

说明一下LTGlogical track group 是硬盘I/O的最大传输单位,默认是128K。使用这个选项可以调整硬盘最好的磁盘性能。查询系统支持最大的LTG可以使用lquereypv M。返回是KB为单位的最大LTG大小。

      为了确保vg的完整性,修改LTG时,必须保证varoff这个vg   

6、  设置vghot spare特性:chpv –hy vgname即可

不过这个命令是在5L之后才增加的。

 

C.向vg添加pv extendvg datavg hdisk1

hdisk1必须是Available状态。另外如果hdisk1如果属于另外一个已经激活的vg,这个操作会失败,如果属于未激活的vg,那么系统会提示是否继续操作。

 

D.从VG中删除PV.

#reducevg datavg hdisk1

    执行这个命令之前,必须使用rmlv删除hdisk1上的所有lv,或者使用-d 参数的reducevg命令。但是不得不说明一下,如果自动删除的lv属于不同的pv,使用-d参数时,那么就是导致这个lv 不完整。那样的后果的不可预见。

 

E.激活/停用一个卷组

1、激活 :varyonvg

激活的过程:读取这个卷组每个VGDA信息,读取每个VGDA的开始和结束时间戳,这些时间戳必须与有效的VGDA相匹配。如果大多数VGDA有效,那么就继续激活vg。激活之后系统获得最新的VGDA的时间戳,然后把这个时间戳回写到其他所有的VGDA中。使他们保持一致;当这个vg存在镜像,那么就会调用syncvg命令同步镜像。

    此命令有2个重要的维护时候的参数;-f强制激活vg,-n禁止同步镜像。另外在维护模式下还有一个-s参数,可以使vg激活后可以接受lv管理命令而无法对lv进行读写。5L之后的版本增加-r只读命令参数。

 

2、停用:varyoffvg

  执行此命令之前应该使得这个vg的所有lv处于关闭状态,同时还有卸载上面的fs。如果不使用此命令而直接卸载硬盘,会引起严重的问题,同时会丢失VGDA和某些vg中的数据。

 

F.导入导出卷组

    导入卷组技术报卷组的定义信息导入到系统中,并保存在ODM中。让系统能够识别到这个vg。导出就是从ODM中删除卷组的定义信息。这个操作主要是在不同的RS6000之间移动硬盘时可以用。

1、  导出卷组  exportvg datavg

过程:先varyoff这个vg,如果这个vg包括已经正在使用的paging空间,那么应该swapoff关闭这个paging。另外swapoff这个命令在5L被支持,如果以前的版本,必须是#chps –a n pagingName。后重启系统。

 

2、  导入 importvg –y vgname pvname

这个操作是把这个pvVGDA写入新系统的ODM中。读取过程是先读取VGDA数据,然后读取每个逻辑卷的LVCB,然后确定是否有JFS文件系统,如果有就添加相应的文件系统到/etc/filesystem中。同时在/etc/dev中创建vg的设备文件。

 

G、卷组的同步syncvg

同步是指一个LV 的多份拷贝内容不一致的时候,可以通过同步这个Vg的操作。同步这些LV的拷贝内容。

 

H、重新定义卷组  redefinevg

 此命令作用好像就是当VGDAODM数据不一致时,可以让ODM重新来识别一次。具体作用不太明白。好像等效于一个导出导入操作。

 I、重新创建卷组

 recreatevg

 


一个可以看到的例子是,当使用dd命令复制了整个硬盘,如果直接导入这个vg,就会导致这个vgidlvid等等内容一致,而用recreatevg命令可以避免情况。

 J、镜像vg mirrorvg同步一个卷组

这个命令其实是调用mklvcopy命令逐个完成所有lv的镜像。 

 

 

阅读(829) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~