LVM逻辑卷的创建删除扩容缩容

lvm是什么

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

lvm与传统硬盘管理的区别

LVM(Logic Volume Manager)逻辑卷,传统的硬盘是直接分割后创建文件系统,交由系统进行管理的;当磁盘满了后无法动态扩充,即便可以多加入一块硬盘,对于某些应用服务器而言也是不行的。可以通过磁盘分区工具扩充传统硬盘的分区大小,这样做很可能造成数据丢失,而且文件系统不稳定。

而逻辑卷是在现有硬盘的基础之上,在进行抽象,把磁盘抽象成逻辑卷,系统管理逻辑卷,可以动态的扩充大小;即使新加入硬盘,也不会破坏逻辑卷的数据。

lvm逻辑卷的组成

1、 物理卷-----PV(Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。
2、 卷组--------VG(Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
3、 逻辑卷-----LV(Logical Volume)
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。
4、 物理区域–PE(Physical Extent)
物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。
5、 逻辑区域―LE(Logical Extent)
逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

lvm逻辑卷的创建

创建物理卷---->创建卷组----->创建lvm逻辑卷----->创建文件系统并挂载

创建物理卷

创建物理卷就一条命令

[root@nginx3 ~]# pvcreate /dev/sdb{1..3}
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
  Physical volume "/dev/sdb3" successfully created.
  [root@nginx3 ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.51g    0 
  /dev/sdb1         lvm2 ---    5.00g 5.00g
  /dev/sdb2         lvm2 ---    6.00g 6.00g
  /dev/sdb3         lvm2 ---    7.00g 7.00g

创建卷组

创建卷组也很简单

[root@nginx3 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2 /dev/sdb3
  Volume group "vg1" successfully created
[root@nginx3 ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree  
  centos   1   2   0 wz--n- <19.51g      0 
  vg1      3   0   0 wz--n- <17.99g <17.99g

创建lvm逻辑卷

[root@nginx3 ~]# lvcreate -L 8G -n lv1 vg1
  Logical volume "lv1" created. 
[root@nginx3 ~]# lvcreate -l 250 -n lv2 vg1
  Logical volume "lv2" created.
[root@nginx3 ~]# lvs
  LV   VG     Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao----  <18.51g                                                    
  swap centos -wi-ao----    1.00g                                                    
  lv1  vg1    -wi-a-----    8.00g                                                    
  lv2  vg1    -wi-a----- 1000.00m                     

-L 给多大的容量(写多少就是多少)
-l 给多少PE一个为4m
-n 名字

创建文件系统并挂载

[root@nginx3 ~]# mkfs.xfs /dev/vg1/lv1   #格式化一下
[root@nginx3 ~]# echo "/dev/vg1/lv1 /mnt/lv1 xfs defaults 0 0" >> /etc/fstab          #放在/etc/fstab中永久挂载
[root@nginx3 ~]# mount -a         #挂载 fstab 中的所有文件系统
[root@nginx3 ~]# mount /dev/vg1/lv2 /mnt/lv2    #临时挂载
[root@nginx3 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        19G  1.3G   18G    7% /
devtmpfs                devtmpfs  446M     0  446M    0% /dev
tmpfs                   tmpfs     456M     0  456M    0% /dev/shm
tmpfs                   tmpfs     456M  6.4M  450M    2% /run
tmpfs                   tmpfs     456M     0  456M    0% /sys/fs/cgroup
/dev/sda1               xfs       497M  118M  380M   24% /boot
tmpfs                   tmpfs      92M     0   92M    0% /run/user/0
/dev/mapper/vg1-lv1     xfs       8.0G   33M  8.0G    1% /mnt/lv1
/dev/mapper/vg1-lv2     xfs       997M   33M  965M    4% /mnt/lv2

lvm逻辑卷的缩容

[root@nginx3 ~]# lvreduce -L 5G /dev/vg1/lv1 
[root@nginx3 ~]# lvreduce -L -3G /dev/vg1/lv1
两种方式达到一样的效果最后lv1的大小都变成了5G
[root@nginx3 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 19.5G  0 part 
  ├─centos-root 253:0    0 18.5G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
│ └─vg1-lv2     253:3    0 1000M  0 lvm  /mnt/lv2
├─sdb2            8:18   0    6G  0 part 
├─sdb3            8:19   0    7G  0 part 
│ └─vg1-lv1     253:2    0    5G  0 lvm  /mnt/lv1
└─sdb4            8:20   0    1K  0 part 
sr0              11:0    1  792M  0 rom  

可以看到lv1的大小变成了5G

卷组的缩容

卷组的缩容其实就是将将卷组中的物理卷拿出来

[root@nginx3 ~]# vgreduce /dev/vg1 /dev/sdb2
  Removed "/dev/sdb2" from volume group "vg1"

删除物理卷/卷组/LVM

物理卷没有缩容这一概念只能删除

[root@nginx3 ~]# pvremove /dev/sdb2
  Labels on physical volume "/dev/sdb2" successfully wiped.

删除lvm/vg时需要先卸载

[root@nginx3 ~]# lvremove /dev/vg1/lv2
Do you really want to remove active logical volume vg1/lv2? [y/n]: y
  Logical volume "lv2" successfully removed
[root@nginx3 ~]# vgremove /dev/vg1
Do you really want to remove volume group "vg1" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume vg1/lv1? [y/n]: y
  Logical volume "lv1" successfully removed
  Volume group "vg1" successfully removed

删除卷组时如果卷组里还有逻辑卷它会询问你要不要删除这个逻辑卷

给卷组扩容

一样的道理给卷组扩容就是加物理卷进去

[root@nginx3 ~]# vgextend /dev/vg1 /dev/sdb2
  Volume group "vg1" successfully extended

给lvm逻辑卷扩容

[root@nginx3 ~]# lvextend -L +3G /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 5.00 GiB (1280 extents) to 8.00 GiB (2048 extents).
  Logical volume vg1/lv1 successfully resized.
[root@nginx3 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 19.5G  0 part 
  ├─centos-root 253:0    0 18.5G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
│ ├─vg1-lv1     253:2    0    8G  0 lvm  /mnt/lv1
│ └─vg1-lv2     253:3    0 1000M  0 lvm  /mnt/lv2
├─sdb2            8:18   0    6G  0 part 
├─sdb3            8:19   0    7G  0 part 
│ └─vg1-lv1     253:2    0    8G  0 lvm  /mnt/lv1
├─sdb4            8:20   0    1K  0 part 
└─sdb5            8:21   0  500M  0 part 
sr0              11:0    1  792M  0 rom  

可与看到lv1又变回了8G

扩展文件系统

lvm逻辑卷扩容完了还需要扩展文件系统
ext4格式: resize2fs /dev/vg1/lv1
xfs格式:xfs_growfs /dev/vg1/lv1

缩小文件系统

缩小文件系统就比较麻烦了我就不写了
https://www.cnblogs.com/cheyunhua/p/14195518.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值