HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:运维/编程
日期:2012-04-12 14:03:48

物理卷pv、卷组lg、逻辑卷lv


物理卷:

    最小分配单位  PE Size,逻辑卷的大小是用最小分分配单位为一个block来分配的


1、创建物理卷


[root@bogon ~]# pvcreate /dev/sdb5
WARNING: software RAID md superblock detected on /dev/sdb5. Wipe it? [y/n] y
  Wiping software RAID md superblock on /dev/sdb5.
  Physical volume "/dev/sdb5" successfully created
     查看 
[root@bogon ~]# pvdisplay 
  "/dev/sdb5" is a new physical volume of "800.00 MiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb5
  VG Name               
  PV Size               800.00 MiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               oqOHaF-nFfD-sEq5-M9Ta-ctEv-KQIm-hCOHnx


2、创建卷组


[root@bogon ~]# vgcreate lvmtest /dev/sdb5
  Volume group "lvmtest" successfully created
     查看



[root@bogon ~]# vgdisplay 
  --- Volume group ---
  VG Name               lvmtest
  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               796.00 MiB
  PE Size               4.00 MiB
  Total PE              199
  Alloc PE / Size       0 / 0   
  Free  PE / Size       199 / 796.00 MiB
  VG UUID               877uni-w3k8-xyCL-O0Na-SR5m-VxDY-xhsxtf


3、创建逻辑卷



[root@bogon ~]# lvcreate -L 500M -n ftp lvmtest
  Logical volume "ftp" created
[root@bogon ~]# lvdisplay 
  --- Logical volume ---
  LV Name                /dev/lvmtest/ftp
  VG Name                lvmtest
  LV UUID                ktaHn7-Bplr-ue3D-BBQ2-vS0t-VTKA-1vQmhn
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                500.00 MiB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0


4、格式化逻辑卷并挂载


[root@bogon ~]# mkfs.ext4 /dev/lvmtest/ftp 
……
[root@bogon ~]# mount /dev/lvmtest/ftp /mnt/mydata



逻辑卷的扩充 lvextend 


步骤1、


[root@bogon ~]# lvdisplay /dev/lvmtest/ftp | grep -i size
  LV Size                500.00 MiB
[root@bogon ~]# vgdisplay lvmtest | grep -i size
  VG Size               796.00 MiB
  PE Size               4.00 MiB
  Alloc PE / Size       125 / 500.00 MiB
  Free  PE / Size       74 / 296.00 MiB
[root@bogon ~]# lvextend -L +200M /dev/lvmtest/ftp   #注意 -L 和 +号
  Extending logical volume ftp to 700.00 MiB
  Logical volume ftp successfully resized
[root@bogon ~]# lvdisplay /dev/lvmtest/ftp | grep -i size
  LV Size                700.00 MiB
此时df -h 发现挂载的逻辑卷大小并没有改变



[root@bogon ~]# df -h
……
/dev/mapper/lvmtest-ftp
                      485M   11M  449M   3% /mnt/mydata


步骤2


[root@bogon ~]# resize2fs /dev/lvmtest/ftp   #resize2fs  在线扩充
……

[root@bogon ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
……
/dev/mapper/lvmtest-ftp
                      678M   11M  633M   2% /mnt/mydata





卷组扩充  vgextend



步骤1、先查看物理卷的大小是否够分配


[root@bogon ~]# pvdisplay 
  ……
[root@bogon ~]# pvcreate /dev/sdb6 /dev/sdb7
……
  Physical volume "/dev/sdb6" successfully created
……
  Physical volume "/dev/sdb7" successfully created


步骤2



[root@bogon ~]# vgextend lvmtest /dev/sdb6
  Volume group "lvmtest" successfully extended
[root@bogon ~]# vgdisplay 
  --- Volume group ---
  VG Name               lvmtest
 ……
  Total PE              398
  Alloc PE / Size       175 / 700.00 MiB
  Free  PE / Size       223 / 892.00 MiB  #剩余大小已改变
  VG UUID               877uni-w3k8-xyCL-O0Na-SR5m-VxDY-xhsxtf






缩小逻辑卷

    必须离线操作 

    e2fsck    检查 Linux ext2 / ext3 / ext4文件系统

    resize2fs - 修改 ext2 / ext3 / ext4 文件系统大小

    lvreduce    减少 逻辑卷的大小    lvreduce - reduce the size of a logical volume

    应注意的问题:lvm是用最小分配单位来分配大小的,减少的时候会与文件系统减少的单位不重合


步骤1、  umount,e2fsck(决定是否需要做磁盘整理) 


[root@bogon ~]# e2fsck -f /dev/lvmtest/ftp
……
/dev/lvmtest/ftp: 11/260096 files (0.0% non-contiguous), 43824/1048576 blocks


步骤2、 为了避免上面说到的问题,先用  lvreudce -t 测试


[root@bogon ~]# lvreduce -L 823M /dev/lvmtest/ftp -t
  Test mode: Metadata will NOT be updated and volumes will not be (de)activated.
  Rounding up size to full physical extent 824.00 MiB
  WARNING: Reducing active and open logical volume to 824.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce ftp? [y/n]: n
  Logical volume ftp NOT reduced
     逻辑卷无法改到823M ,给出的值为824M



步骤3、


[root@bogon ~]# resize2fs /dev/lvmtest/ftp 824M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/lvmtest/ftp to 843776 (1k) blocks.
The filesystem on /dev/lvmtest/ftp is now 843776 blocks long.

[root@bogon ~]# 


步骤4、为了不破坏数据,将LVM状态改变为 NOT available


[root@bogon ~]# lvchange -an /dev/lvmtest/ftp
[root@bogon ~]# lvdisplay | grep -i status
  LV Status              NOT available
[root@bogon ~]# 


步骤5、修改LVM大小


[root@bogon ~]# lvreduce -L 823M /dev/lvmtest/ftp
  Rounding up size to full physical extent 824.00 MiB
  Reducing logical volume ftp to 824.00 MiB
  Logical volume ftp successfully resized
[root@bogon ~]# 


步骤6、恢复LVM状态改变为 available,否则会无法挂载


[root@bogon ~]# lvchange -ay /dev/lvmtest/ftp
[root@bogon ~]# lvdisplay | grep -i status
  LV Status              available




逻辑卷快照功能

    1、创建一个快照

[root@fedora14 mydata]# lvcreate -s -L 500M -n ftpsnap /dev/lvmtest/ftp

    快照建立完成 ,此时快照区内并没有任何数据 ,而是与原始逻辑卷共享PE数据,所以会看到快照内的文件和原始逻辑卷中的一模一样

    如果原始逻辑卷中有一个PE区块被修改,则在修改前系统会将该PE区块中的数据移动到快照区内,而其它的PE区块中的数据还是与原始逻辑卷中的数据共享的

    由于快照与原始逻辑卷共享很多PE区块,所以建立快照必须在同一个卷组中

    如果原始逻辑卷改变的数据量大于快照的大小,那么快照就会崩溃、失效

    2、只读挂载快照区

[root@fedora14 mydata]# mount -o ro /dev/lvmtest/ftpsnap /mnt/mydata-snap/
……
/dev/mapper/lvmtest-ftpsnap on /mnt/mydata-snap type ext4 (ro)
[root@fedora14 mydata]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              18G  2.6G   15G  16% /
tmpfs                 501M     0  501M   0% /dev/shm
/dev/sda1             291M   27M  249M  10% /boot
/dev/mapper/lvmtest-ftp
                      788M   18M  731M   3% /mnt/mydata
/dev/mapper/lvmtest-ftpsnap
                      788M   18M  731M   3% /mnt/mydata-snap
[root@fedora14 mydata]# 

     显示快照区与原始逻辑卷大小一样

[root@fedora14 mydata]# lvdisplay | grep -i size
  LV Size                800.00 MiB
  LV Size                800.00 MiB
  COW-table size         500.00 MiB
     快照区实际大小(COW-table size)为   500M,被快照的原始逻辑卷大小(LV Size)为  800M




other


    修改 PE  Size   



[root@bogon ~]# vgdisplay 
  --- Volume group ---
  VG Name               lvmtest
 ……
  PE Size               4.00 MiB
  ……

[root@bogon ~]# vgchange lvmtest -s 1M

[root@bogon ~]# vgdisplay 
  --- Volume group ---
  VG Name               lvmtest
 ……
  PE Size               1.00 MiB
  ……


分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com