可伸缩的逻辑卷

什么是逻辑卷?

逻辑卷简称LVM, LVMLinux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.

 

为什么要使用逻辑卷?

逻辑卷相比于一般的磁盘分区, 具有更高的灵活性。可随时伸缩空间的大小.

 

构建逻辑分区图:

图片4.png

 

逻辑卷概念:

PV(物理卷): 是在Linux Block Devices之上, 用于构建逻辑卷(LVM)的基础。

VG(卷组): 是在PV之上, 用于构建LVM(逻辑卷)的直接设备。

 

模拟构建逻辑卷(LVM)?

1>. 构建PV

a>.查看/dev/sdc的设备

[root@centos 7 ~]# fdisk -l /dev/sdc
Disk /dev/sdc: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

b>./dev/sdc整个磁盘做成pv

[root@centos6 ~]# pvcreate  /dev/sdc
  Physical volume "/dev/sdc" successfully created

c>.显示pv

[root@centos6 ~]# pvdisplay 
  "/dev/sdc" is a new physical volume of "200.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               200.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               shaxHn-Zmeb-fw5u-5vv9-UCde-LMcy-aY1dC3

2>. 构建VG

a>. /dev/sdc转化为vg0

[root@centos6 ~]# vgcreate vg0 /dev/sdc
  Volume group "vg0" successfully created

b>. 查看卷组vg0

[root@centos6 ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               200.00 GiB
  PE Size               4.00 MiB
  Total PE              51199
  Alloc PE / Size       38400 / 150.00 GiB
  Free  PE / Size       12799 / 50.00 GiB
  VG UUID               GEu8sM-fEzY-z6eo-Xltf-2B1V-hWQO-QQzy8X

3>. VG转化为LVM(逻辑卷)

a>. 创建逻辑分区

[root@centos6 ~]# lvcreate -n lv0 -L 150G vg0
  Logical volume "lv0" created.

注释:lvcreate命令的使用

lvcreate  -n  逻辑卷名字 -L #G/M/K  卷组名

-L  #G/M/K

-l  #   PE的个数

 

b>. 查看逻辑卷:

[root@centos6 ~]# lvdisplay 
   --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                t4TUyR-vBdE-LmUr-kIWZ-nNwD-L3ub-ZzkKR0
  LV Write Access        read/write
  LV Creation host, time centos6.8, 2016-08-26 05:44:56 +0800
  LV Status              available
  # open                 0
  LV Size                150.00 GiB
  Current LE             38400
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

4>. 卷组以构建完成, 格式化,挂载使用.

[root@centos6 ~]# mkfs.ext4 /dev/vg0/lv0 
[root@centos6 ~]# vim /etc/fstab

 图片5.png

[root@centos6 ~]# mount -a
[root@centos6 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  4.2G   42G  10% /
tmpfs                491M     0  491M   0% /dev/shm
/dev/sda1            190M   34M  147M  19% /boot
/dev/sda5            1.9G  3.0M  1.8G   1% /testdir
/dev/mapper/vg0-lv0  148G   60M  140G   1% /mnt/lvm

5>. 缩小逻辑卷

缩小逻辑卷为100G

a>. 缩小逻辑卷为100G

[root@centos6 lvm]# lvreduce -L 100G /dev/vg0/lv0
  WARNING: Reducing active and open logical volume to 100.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
  Size of logical volume vg0/lv0 changed from 150.00 GiB (38400 extents) to 100.00 GiB (25600 extents).
  Logical volume lv0 successfully resized.

b>. 查看LVM逻辑卷

  [root@centos6 ~]# lvs
  LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-a----- 100.00g

c>. 查看文件系统

[root@centos6 lvm]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  4.2G   42G  10% /
tmpfs                491M     0  491M   0% /dev/shm
/dev/sda1            190M   34M  147M  19% /boot
/dev/sda5            1.9G  3.0M  1.8G   1% /testdir
/dev/mapper/vg0-lv0  148G   60M  140G   1% /mnt/lvm

逻辑卷发生了变化了,但是文件系统的大小并没有发生改变。

 

6>. 如何正确的缩减逻辑卷

如何正确的缩减逻辑卷

a>. umount /mnt/lvm1
b>. e2fsck -f /dev/vg1/lv1
c>. resize2fs /dev/vg1/lv1 50G   //  文件系统缩减为50G
d>. lvreduce -L 50G /dev/vg1/lv1  //  /dev/vg1/lv1这个分区缩减为50G

 

文件系统是在逻辑卷之上, 想要减少文件系统的大小, 首先应该减少文件系统的大小, 然后再减小逻辑卷的大小。

 

7>. 如何正确的扩容逻辑卷?

a>. [root@centos6 lvm1]# lvextend -L 180G /dev/vg1/lv1
b>. [root@centos6 lvm1]# resize2fs /dev/vg1/lv1 180G

c>. 查看逻辑卷

root@centos6 lvm1]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  4.2G   42G  10% /
tmpfs                491M     0  491M   0% /dev/shm
/dev/sda1            190M   34M  147M  19% /boot
/dev/sda5            1.9G  3.0M  1.8G   1% /testdir
/dev/mapper/vg1-lv1  178G   60M  168G   1% /mnt/lvm1

扩大逻辑卷则没有那么复杂, 只要将逻辑卷扩大了, 然后使用resize2fs同步一下文件系统就ok了。

 

8>. 只要建立逻辑卷底层的卷组足够的话,伸缩逻辑卷都是可以的。但是有时候逻辑卷底层的卷组不够了, 要扩大卷组。

a>. 首先要建立物理卷。

[root@centos6 lvm1]# pvcreate /dev/sda9
  Physical volume "/dev/sda9" successfully created

b>. 然后再扩容逻辑卷

[root@centos6 lvm1]# vgextend vg1 /dev/sda9
  Volume group "vg1" successfully extended

原创文章,作者:458813466,如若转载,请注明出处:http://www.178linux.com/41693

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-02 11:52

    从原理到实战,有理有据,详略得当,细心亮点颇多,赞

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code