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.
来源:oschina
链接:https://my.oschina.net/u/4312865/blog/3189501