linux-LVM(逻辑卷管理器)

吃可爱长大的小学妹 提交于 2020-03-07 13:03:34

LVM(logical Volume Manager)逻辑卷管理器,作用主要是在硬盘分区和文件系统之间添加一个逻辑层,可以把多块硬盘进行卷组合并,实现对硬盘分区的动态调整。

注:PE(physical Extent)是基本单元。

PV(Physical Volume)物理卷,处于LVM最底层,可视为物理硬盘,硬盘分区或者RAID磁盘阵列;

VG(Volume Group)卷组,建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建后可以继续向其添加新的物理卷。

LV(Logical Volume)逻辑卷,用卷组中的资源建立的,并且可以动态地扩展或缩小空间。

1.部署逻辑卷

常用的LVM部署命令

功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展   vgextend lvextend
缩小   vgreduce lvreduce
  •  让新添加的硬盘支持LVM

[root@chb ~]# pvcreate /dev/sdb

  • 把新建的物理卷添加到卷组(卷组名:vol)中,并同时指定PE基本单元大小为16M

命令 vgcreate  -s 指定PE基本单元的大小

[root@chb ~]# vgcreate -s 16M vol /dev/sdb

  • 使用vgdisplay查看创建的卷组的详细信息。

[root@chb ~]# vgdisplay vol 

  • 分割一个大小500M的逻辑卷设备(逻辑卷名称lvo)。

命令lvcreate 创建逻辑卷 -n 指定逻辑卷名称 -L 指定生成的逻辑卷大小 -l 通过指定PE基本单元的个数来指定逻辑卷大小

-L 500M 逻辑卷扩展到500M(若原大小为100M,指定大小后变为500M)

-L +500M  逻辑卷扩展500M(若原大小为100M,执行命令后变为600M)

通过lvdisplay查看创建的逻辑卷详细信息

  • 把生成好的逻辑卷进行格式化,然后挂载使用

[root@chb ~]# mkfs.ext4 /dev/vol/lvo 

[root@chb ~]# mkdir /linuxprobe
[root@chb ~]# mount /dev/vol/lvo /linuxprobe
[root@chb ~]# lsblk

  • 扩容逻辑卷,将逻辑卷lvo扩容至800M

命令 lvextend 

[root@chb ~]# umount /dev/vol/lvo #首先将逻辑卷进行卸载

[root@chb ~]# lvextend -L +300M /dev/vol/lvo 

或者

[root@chb ~]# lvextend -L 800M /dev/vol/lvo 

  • 检查硬盘完整性并重置硬盘容量

[root@chb ~]# e2fsck /dev/vol/lvo 

[root@chb ~]# resize2fs /dev/vol/lvo 

  • 重新挂载硬盘,并查看挂载状态

[root@chb ~]# mount /dev/vol/lvo /linuxprobe/
[root@chb ~]# df -Th

  • 缩小逻辑卷lvo至300M

命令lvreduce

首先拷贝一份数据至逻辑卷挂载目录

[root@chb linuxprobe]# dd if=/dev/zero of=/linuxprobe/test_file count=1 bs=200M
1+0 records in
1+0 records out
209715200 bytes (210 MB) copied, 7.82912 s, 26.8 MB/s
[root@chb linuxprobe]# du -sh /linuxprobe/
202M    /linuxprobe/
[root@chb linuxprobe]# 

  • 将逻辑卷设备进行卸载

 [root@chb ~]# umount /linuxprobe/

  • 检查设备完整性

[root@chb ~]# e2fsck /dev/vol/lvo 
e2fsck 1.42.9 (28-Dec-2013)
/dev/vol/lvo: clean, 115/57344 files, 59442/208896 blocks

 

  • 将逻辑卷缩小到300M

[root@chb ~]# resize2fs /dev/vol/lvo 300M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vol/lvo to 76800 (4k) blocks.
The filesystem on /dev/vol/lvo is now 76800 blocks long.

[root@chb ~]# lvreduce -L 300M /dev/vol/lvo 
  Rounding size to boundary between physical extents: 304.00 MiB.
  WARNING: Reducing active logical volume to 304.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vol/lvo? [y/n]: y
  Size of logical volume vol/lvo changed from 816.00 MiB (51 extents) to 304.00 MiB (19 extents).
  Logical volume vol/lvo successfully resized.

  • 重新挂载文件系统并查看系统状态

[root@chb ~]# mount /dev/vol/lvo /linuxprobe/
[root@chb ~]# df -Th
Filesystem          Type      Size  Used Avail Use% Mounted on
/dev/sda2           xfs        20G  1.7G   18G   9% /
devtmpfs            devtmpfs  480M     0  480M   0% /dev
tmpfs               tmpfs     489M     0  489M   0% /dev/shm
tmpfs               tmpfs     489M  6.6M  483M   2% /run
tmpfs               tmpfs     489M     0  489M   0% /sys/fs/cgroup
/dev/sda1           xfs       497M  118M  379M  24% /boot
tmpfs               tmpfs      98M     0   98M   0% /run/user/0
/dev/mapper/vol-lvo ext4      278M  202M   57M  79% /linuxprobe

  • 删除逻辑卷

命令lvremove

[root@chb ~]# umount /linuxprobe/
[root@chb ~]# lvremove /dev/vol/lvo 
Do you really want to remove active logical volume vol/lvo? [y/n]: y
  Logical volume "lvo" successfully removed
[root@chb ~]# vgremove vol 
  Volume group "vol" successfully removed
[root@chb ~]# pvremove /dev/sdb
  Labels on physical volume "/dev/sdb" successfully wiped.

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!