LVM设置小记

猫工作之Linux   2008-05-20 17:25   阅读229   评论0  
字号:    

以前的LVM笔记,现在慢慢的整理出来了

 

PV                                             VG                                         LV

PV为基础                                   VG可以增加                            LV也可以增加

PV物理卷如分区或是RAID           VG为卷组                                LV为逻辑卷或分区

 

[root@pc ~]# fdisk -l 显示分区信息

Disk /dev/sda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1         978     7855753+  83  Linux

/dev/sda2             979        1043      522112+  82  Linux swap / Solaris

Disk /dev/sdb: 4294 MB, 4294967296 bytes    /dev/sdb一共4G大小

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 4294 MB, 4294967296 bytes    /dev/sdc一共4G大小

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table

 

物理卷的操作(PV)

PV是指物理卷,physical volume(PV),它可以是物理硬盘分区,也可以是整个硬盘或是做好的软件RAID

[root@pc ~]# pvcreate /dev/sdb 创建PV卷,这是使用了整个硬盘

  Physical volume "/dev/sdb" successfully created 显示pv已经顺利建立

 

 默认的PE4MB,这表示卷组上创建的所有逻辑卷都以4MB为增量单位来进行扩充或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4MBPE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组时指定更大的PEPE大小范围为8KB512MB,并且必须总是2的倍数,使用-s指定

 

[root@pc ~]# pvdisplay 显示pv卷的信息

  --- NEW Physical volume ---

  PV Name               /dev/sdb PV的名称,很重要,删除PV时就是使用这个名称

  VG Name

  PV Size               4.00 GB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               WQ8sJF-T79g-mdn3-ARRD-fElc-FKGt-CeGytS

[root@pc ~]# pvscan 查看pv卷的信息

  PV /dev/sdb   VG vg0   lvm2 [4.00 GB / 4.00 GB free]

  Total: 1 [4.00 GB] / in use: 1 [4.00 GB] / in no VG: 0 [0   ]

删除PV

[root@pc ~]# pvremove /dev/sdb 这里的/dev/sdb是上面显示的PV Name

卷组的操作(VG)

[root@pc ~]# vgcreate vg0 /dev/sdb 将整个sdb做为vg0卷组

  Volume group "vg0" successfully created 显示vg0已经顺利建立

  在建立VG时也可以指定多个分区或硬盘,也可以同时指定分区和硬盘

  格式为vgcreate vg0 /dev/sdb /dev/sdc1

  其中vg0是卷组的名称,也可以使用其它的名称

[root@pc ~]# vgdisplay  显示VG卷组的信息

  --- Volume group ---

  VG Name               vg0 VG的名称,很重要,删除VG时就是使用这个名称

  System ID

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  1

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                0

  Open LV               0

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               4.00 GB

  PE Size               4.00 MB

  Total PE              1023

  Alloc PE / Size       0 / 0

  Free  PE / Size       1023 / 4.00 GB

  VG UUID               v7lHK2-VjXs-n7pD-v1wk-Xd2F-3vbu-ovX4b1

[root@pc ~]# vgscan -v  vgscan扫描lvm文件系统

    Wiping cache of LVM-capable devices

    Wiping internal VG cache

  Reading all physical volumes.  This may take a while...

    Finding all volume groups

    Finding volume group "vg0"

  Found volume group "vg0" using metadata type lvm2

[root@pc ~]# vgrename vg0 test  vgrename可以修改刚才创建的vg的名字

  Volume group "vg0" successfully renamed to "test"

[root@pc ~]# vgdisplay  再次使用vgdisplay查看时VG卷名已经变成test

  --- Volume group ---

  VG Name               test

  System ID

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  2

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                0

  Open LV               0

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               4.00 GB

  PE Size               4.00 MB

  Total PE              1023

  Alloc PE / Size       0 / 0

  Free  PE / Size       1023 / 4.00 GB

  VG UUID               v7lHK2-VjXs-n7pD-v1wk-Xd2F-3vbu-ovX4b1

[root@pc ~]# vgchange -a n vg0 休眠卷,在删除卷时要休眠卷,是卷,不是卷组

  0 logical volume(s) in volume group "vg0" now active

 

[root@pc ~]# vgremove test 删除test卷组,将它从LVM中删除

  Volume group "test" successfully removed

 

[root@pc ~]# vgcreate vg0 /dev/sdb 重新将/dev/sdb加入到LVM

  Volume group "vg0" successfully created

[root@pc ~]# vgscan -v  显示vg的信息

    Wiping cache of LVM-capable devices

    Wiping internal VG cache

  Reading all physical volumes.  This may take a while...

    Finding all volume groups

    Finding volume group "vg0"

  Found volume group "vg0" using metadata type lvm2

[root@pc ~]# lvcreate -L2G -n lv vg0 vg0卷组中建立一个2Glv

  Logical volume "lv" created

[root@pc ~]# lvcreate -i2 -I4 -l1024 -n lv vg0

i2参数是指交叉存放数据,2是指使用两块硬盘

I4是指交叉存放数据时采用的块大小,这里是4KB

n是指lv名称

L是指大小

l是指数据块,1Mb一般是256个块(4K大小),可以通过指定块的多少来决定分区的大小

[root@pc ~]# lvdisplay  显示一下lv卷的信息

  --- Logical volume ---

  LV Name                /dev/vg0/lv

  VG Name                vg0

  LV UUID                Blj3l3-0VXg-iNVP-3Ehk-BvZz-Mn0q-KV4N8h

  LV Write Access        read/write

  LV Status              available

  # open                 0

  LV Size                2.00 GB

  Current LE             32

  Segments               1

  Allocation             inherit

  Read ahead sectors     0

  Block device           253:0

[root@pc ~]# pvmove /dev/sdb /dev/sdc 

  /dev/sdb: Moved: 40.6%

  /dev/sdb: Moved: 84.4%

  /dev/sdb: Moved: 100.0%

在两个卷之间移动数据,如果你是以交错方式存放数据的话,千万不要打断,要是打断的话,自求多福吧。

[root@pc ~]# lvremove /dev/vg0/lv  删除卷,这个卷不能被挂载,不然无法删除。

  /dev/cdrom: open failed: Read-only file system

Do you really want to remove active logical volume "lv"? [y/n]: y

  Logical volume "lv" successfully removed

successfully removed,顺利的干掉了,这个世界清静了

调整空间,如果使用的是ReiserFS文件系统

[root@pc ~]# lvextend -L+1G /dev/vg0/lv 直接使用lvextend加空间就行了,

  /dev/cdrom: open failed: Read-only file system

  Extending logical volume lv to 3.00 GB

  Logical volume lv successfully resized

[root@pc ~]# resize_reiserfs -f  /dev/vg0/lv reiserfs的分区调整工具调整

可不用卸载分区,直接调整

 

减小空间

[root@pc ~]# resize_reiserfs -s-1G  /dev/vg0/lv先使用reiserfs的分区调整工具调整,减少1G

[root@pc ~]# lverduce-L-1G /dev/vg0/lv 然后使用lverduce减少空间就行了,

  /dev/cdrom: open failed: Read-only file system

  Extending logical volume lv to 3.00 GB

  Logical volume lv successfully resized

所有的操作不用umount

 

ext3的减少,要先umount分区

先显示出要减小的卷的块数量,本例中是5355521G的块数量是262144

[root@pc ~]#  mke2fs -n /dev/vg1/lv1

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

268192 inodes, 535552 blocks

26777 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=549453824

17 block groups

32768 blocks per group, 32768 fragments per group

15776 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912

减小1G的空间时这样计算  535552-262144=273408

[root@pc ~]# resize2fs /dev/vg1/lv1 273408

然后使用lvreduce减小空间

[root@pc ~]#  lvreduce -L -1G /dev/vg1/lv1

最后直接mount分区就可以了

 

 

 

 

评论(?)
阅读(?)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
网易公司版权所有 ©1997-2009