ioscan  -kfnC disk  11iv111iv2 )查看列出一个系统的磁盘 ioscan  -kfnNC disk   lliv3

bdf  查看文件系统中可利用的空间及挂载点。

strings  /etc/lvmtab 查看哪些disks已经用于VGs

pvdispaly -l /dev/disk/disk*    用于11iv2  11iv3 ,查看disk是否已经被pvcreate yes 表示是,no表示否

Module 4

一创建,管理PV LV VG

1创建PV

确定一个为配置的disk后,初始化这个disk用于LVM

pvcreate  /dev/rdisk/disk1

pvcreate  /dev/rdisk/disk2    pvcreate -f 表示(force)强制,-B 为一个引导区保留空间【其他命令(mkboot :在一个制定的设备文件上安装或更新引导程序,先mkboot,然后pvcreate)要求构成引导区】

2  创建VG  

mkdir /dev/vg01   创建一个vgDSF 目录

chown root:root  /dev/vg01 chmod 755  /dev/vg01

mknod /dev/vg01/group c 64 0x010000   创建一个VGDSF文件

chown root:sys /dev/vg01/group; chmod 640 /dev/vg01/group

vgcreate  vg01 /dev/disk/disk1 /dev/disk/disk2    分配disks 并且向/etc/lvmtab增加vg  [ /etc/lvmtab自动加入vg  /etc/fstab需要手动写入]

Mknod  创建的DSF名字必须为group ,这个DSF必须是一个raw/character设备文件,主号必须是64,结尾必须是0000,形式为0xhh0000,其中hh16进制代表vg

  标注:vgcreate -l  1-255 vg01 .dev/disk/disk1... .......指定vglv个数默认,255

vgcreate -p  1-255 vg01 .dev/disk/disk1... .......指定vgpv个数,默认16 ;  -s 1--256代表extent大小,默认4M;   -e 1--65535  每个PV上最大PE个数(PE/PV) 默认1016

vgdisplay  -v vg01   其中vverbose详细的 显示vg头部信息,还有PV LV的摘要。

3  创建LV

     lvcreate -n lv01 -L 16  vg01  or       L:M为单位,l:LE为单位

    lvcreate -n lv01 

    lvextend  -L 16 /dev/vg01/lv01 /dev/disk/disk1

    Lvdisplay /dev/vg01/lv01

当用lvcreate 创建一个lv,它把这个lv的配置信息记录在内核的LVM结构和vgdisksLVM前面。它在vg/dev/vgnn目录下面创建块和字符DSFs

HA5-MG01:/#cd /dev/vg01

HA5-MG01:/dev/vg01#ll

total 0

cr--r--r--   1 root       sys         64 0x010000 Nov  6  2008 group

br--r-----   1 root       sys         64 0x010001 Nov  6  2008 lv_home1

brw-------   1 root       sys         64 0x010003 Mar  3  2010 lv_log

cr--r-----   1 root       sys         64 0x010001 Nov  6  2008 rlv_home1

crw-------   1 root       sys         64 0x010003 Mar  3  2010 rlv_log

其他选项:lvchange -a y|n /dev/vg01/lv01 激活是否 默认激活     -p r|w 权限 默认 

-r y|n|N |否重新安置坏块 默认y

-C y|n  lv分配pe是否连续 默认不连续    swapdump 常常应该连续

4   lv应用fs

    lvcreate -n lv01 -L 16 vg01

    newfs  /dev/vg01/rlv01

   mkdir /wang 

   mount  /dev/vg01/lv01  /wang

   vi  /etc/fstab  /dev/vg01/lv01  /wang vxfs  defaults  0  2

mount -v             查看挂在的文件系统,类型,及时间。或者bdf

配置一个 swap lv 

lvcreate  -L 32 -n  swap1 -C  y  vg01

swapon  /dev/vg01/swap1

Vi  /etc/fstab  /dev/vg01/swap1 .....  Swap   default  0 0

Swapinfo  -dtm  

配置一个dump lv

lvcreate  -L 16 -n dump01 -C y vg01

crashconf  /dev/vg01/dump01

vi  /etc/fstab   /dev/vg01/dump01 ....dump  default  0  0

Crashconf  -v 

查看vg    

    vgdisplay ;  vgdisplay -v ;        vgdisplay -v vg01 

查看lv  lvdisplay -v /dev/vg01/lv01

查看PV     pvdisplay -v /dev/disk/disk1 

二   扩展,减小,移除 PVs  VGs  LVs

扩展一个LV fs(要分有无OnlineJFS)

lvextend -L 32  /dev/vg01/lv01  /dev/disk/disk1  -L后根改后的LV大小(一定比原来大)若不指定扩展需要的盘,系统会简单利用第一个盘的extents

 lvdisplay  -v  /dev/vg01/lv01 

 fsadm -F vxfs -b 32m /wang  OnlineJFS 使文件系统不用unmounting就可以扩展。

 bdf  /wang

 注:若没有OnlineJFS(或者是一个HFS),可以先umount /wang 然后extendfs  -F vxfs    /dev/vgo1/lv01      mount  /wang   bdf  /wang ;若扩展一个swap,必须要重启才能使用增加的extent.   

减小一个LV fs(如果没有OnlineJFS 没有办法减小fs)

  fsadm -F vxfs -b 16m /dev/vg01 /wang

  bdf /wang    

lvreduce -L 16 /dev/vg01/lv01

lvdisplay -v /dev/vg01/lv01

  注:扩展时先扩LV 再扩fs ;减小时先减fs再减lv.(反了将导致数据不可恢复)

删除一个 lv fs

  umount /wang                 卸载

  vi  /etc/fstab                   进入/etc/fstab  删除原来添加的lv01信息,否则下次系统启动会产生错误当系统试图去挂载一个不存在的lv时。

  lvremove  /dev/vg01/lv01

  vgdisplay  -v vg01

 

注:要删除一个swap 或者dump 卷,首先把它从/etc/fstab中移除,然后进行重启确保这个volume不在使用中,当系统重启后,删除lv

Vi /etc/fstab  shutdown -ry 0   lvremove /dev/vg01/swap1

扩展VG   

  pvcreate  /dev/rdisk/disk3

  vgextend  vg01  /dev/disk/disk3

  vgdisplay  -v  vg01

5 reducing 一个VG

  Pvdisplay  -v  /dev/disk/disk3  查看PV上面是否有extent在用,若有就移动到另一个PV

  pvmove  /dev/disk/disk3 /dev/disk/disk1

  vgreduce  vg01  /dev/disk/disk3

  vgdisplay  -v  vg01

删除vg

 vgreduce  vg01 /dev/disk/disk2  

 vgremove vg01  

 vgdisplay -v 

 rm -ir /dev/vg01   r(recursively)表示递归   -i表示删除前需要确认  vgremove 不会自动删除一个VG的设备文件,保留这些设备文件在系统中会对LVM造成一些问题,一定要去手动的删除vg的组设备文件和子目录。

pvremove  /dev/rdiskdisk1

另外,vgexport 可以移动一个VG从一个系统到另外一个系统。然而,它也可以用于删除VG,即使这个VG包含多个diskslv ,它可以自动删除VG设备文件子目录。 vgexport  vg01