Linux 的 LVM 逻辑卷管理 分区 划分 重划
0X00 LVM是什么,有什么用
LVM的全称是Logical Volume Manager(逻辑卷管理)。是Linux下的一种磁盘分区管理机制,方便给分区(逻辑分区)扩容和压缩。最简单的可以理解成原始的磁盘分区管理是单纯的给每个独立的磁盘进行分区,然后对每个分区进行管理,这样的话每次扩容和压缩空间都会很麻烦。LVM就相当于把所有磁盘的分区都揉到一起,揉成一个大磁盘或者说是大分区,然后从大的中分出小的,这样的话扩容和压缩都会变得方便。

版权声明:图片来自Linux.cn
0X01 基础术语解释
PV 是 Physical Volume 物理卷 ---也就是真实的磁盘分区 VG 是 Volume Group 卷组 ---也就是好多PV组成的一个组 LV 是 Logical Volume 逻辑卷 ---就是从VG中分出来的分区 PE 是 Physical Extent 物理区域 ---是PV中最小的存储单元 LE 是 Logical Extent 逻辑区域 ---是LV中做小的存储单元
0X02 测试环境
V-Box 中的 CentOS 7.x 64bit 有两块或者以上数量的虚拟磁盘 磁盘大小在1GB以上 我这里/dev/sdb和/dev/sdc是刚刚添加的磁盘 root用户的~/lvm-mount用来挂载逻辑卷 使用root登陆(单纯的因为每次sudo太麻烦)
0X03 准备分区
使用fdisk为磁盘分区 不会使用fdisk的可以直接按着我说的敲 还是建议学LVM之前掌握最基础的fdisk分区和格式化
1fdisk /dev/sdb # 使用fdisk给/dev/sdb分区
2按n 回车 新建一个分区
3按p 回车 选择新建分区为主分区
4按 回车 选择默认分区号
5按 回车 默认选择开始位置
6输入 +100M 回车 选择使用100M为新分区的大小
7输入 t 回车 设置分区类型
8按 回车 默认选择刚才创建的分区
9输入 8e 设置刚才创建的分区为 LVM 类型重复上面的步骤,给/dev/sdb分出来三个区
0X04 创建物理卷 PV
创建物理卷的时候,可以大小不同,也可以是不同磁盘的分区,只要是 8e 类型的分区都是可以创建到物理卷中的,这里只是为了做示范
1# 创建
2pvcreate /dev/sdb1
3pvcreate /dev/sdb2
4pvcreate /dev/ddb3
5
6# 检查
7pvdisplay
8
9# 删除 (这步不要跟着做)
10pvremove /dev/sdb10X05 准备卷组 VG
创建一个包括/dev/sdb1 /dev/sdb2 /dev/sdb3 物理卷的卷组 命名为 volme-group1
1# 创建
2vgcreate volume-group1 /dev/sdb1 /dev/sdb2 /dev/sdb3
3
4# 检查
5vgdisplay
6
7# 删除 (这步不要跟着做)
8vgremove volume-group10X06 创建逻辑卷 LV
创建逻辑卷的时候要指定名称、大小和所属VG
1# 创建
2lvcreate -L 100M -n LV1 volume-group1
3
4# 检查
5lvdisplay
6
7# 格式化 格式化成ext4类型
8mkfs.ext4 /dev/volume-group1/LV1
9
10# 挂载
11mkdir ~/lvm-mount #设置一个挂载点
12mount /dev/volume-group1/LV1 ~/lvm-mount # 挂载
13
14# 删除
15lvremove /dev/volume-group1/LV10X07 扩展LVM逻辑卷
调整逻辑卷大小是LVM最重要最有用的功能。 比如之前创建的100MB的分区不够用了,所以我们需要扩展一下那个分区的大小。虽然LVM很强大,但是扩展的时候还是需要卸载LV
1# 卸载LV
2umount ~/lvm-mount/
3
4# 调整大小
5lvresize -L 200M /dev/volume-group1/LV1
6
7# 检查磁盘错误(非必须)
8e2fsck -f /dev/volume-group1/LV1
9
10# 扩展文件系统
11resize2fs /dev/volume-group1/LV1
12
13# 验证
14lvdisplay0X08 压缩LVM逻辑卷
比如你发现有一个分区给了很大,但是完全用不到,那么就可以压缩它的空间,把空余的空间用在有用的地方。
1# 同样,先卸载
2umount /dev/volume-group1/LV1
3
4# 检查错误
5e2fsck -f /dev/volume-group1/LV1
6
7# 更新文件系统信息
8resize2fs /dev/volume-group1/LV1 100M
9
10# 压缩空间
11lvresize -L 100M /dev/volume-group1/LV1这里会弹出警告,告诉你这项操作可能会导致数据丢失,当然,一般是没有问题的
0X09 扩展卷组
有一天服务器的磁盘塞满了,你就新买了一块3TB的硬盘插到了电脑上,那么如何让这个3TB和之前的空间一起工作呢?我们可以把这个磁盘分区然后也放到之前的VG(卷组)中,这样通过之前的扩容功能就可以让新的3TB运用到系统中了。
1# 先给新磁盘分区(参考0X03步骤)
2fdisk /dev/sdc
3
4# 然后创建PV(物理卷)
5pvcreate /dev/sdc1
6
7# 将新PV添加到VG
8vgextend volume-group1 /dev/sdc1
9
10# 验证一下
11vgdisplay如果这篇文章对你有帮助,可以请我喝杯咖啡 ☕
评论