调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失。
扩容前,搞清楚自己的分区格式:
xfs ------------ ext2、ext3、 ext4
# df -hT
或者
# mount | grep /dev/mapper/centos-root(分区关键字)
特别注意的是:
resize2fs
更新文件系统命令 针对的是ext2、ext3、ext4文件系统xfs_growfs
更新文件系统命令 针对的是xfs文件系统
一、 创建逻辑卷
要想理解好LVM的原理,我们必须首先要掌握3个基本的逻辑卷概念。
① PV (Physical Volume) 物理卷
② VG (Volume Group) 卷组
③ LV (Logical Volume) 逻辑卷
顺序不能乱 : 底层物理设备 ------> 创建成 PV -------> 创建 VG --------> 创建成LV ------> 格式化挂载使用
思路
- 物理磁盘
- 创建 PV
- 创建 VG
- 创建 LV
- 格式化挂载使用
1. 准备物理磁盘
# sdb
#路径 /dev/sdb
2. 创建 PV
# pvcreate /dev/sdb
创建物理卷
3. 创建 VG
# vgcreate vg01 /dev/sdb
创建卷组vg01, 并把物理卷添加到卷组中
4. 创建 LV
# lvcreate -l 100%vg -n lv01 vg01
创建大小为卷组100%空间的 名字为lv01 来源卷组为vg01 的逻辑卷
# 或
# lvcreate -L 3G -n lv01 vg01
创建名字为lv01的逻辑卷 -L 大小 3G 来源卷组vg01
-n指定逻辑卷的名字-L指定逻辑卷的大小-l指定逻辑卷的大小( 根据PE 指定大小,PE默认4M , 也可以根据百分比)-l 100%vg # 分配卷组空间百分比-l 100%free # 分配剩余空间百分比-l 100 # 分配空间为100PE ,默认400M空间,(PE 大小可以更改,在创建卷组时 -s 8M 指定
5. 格式化挂载使用
逻辑卷最终在系统中保存为以下两个路径:
/dev/卷组名/逻辑卷
/dve/mapper/卷组名-逻辑卷
格式化
# mkfs.xfs /dev/vg01/lv01
挂载使用
# mount /dev/vg01/lv01 /app # 临时挂载,重启后丢失
写到文件中,永久挂载
# cat /etc/fstab
/dev/vg01/lv01 /app xfs defaults 0 0
查看简单查看详细查看逻辑卷lvslvdisplay卷组vgsvgdisplay物理卷pvspvdisplay
------------------------------------------创建逻辑卷到此(完结)----------------------------------------------------------------
二、 扩展逻辑卷
extend命令 用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。
使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。
首先查看卷组(VG剩余空间),如果足够,直接扩展逻辑卷。
- 如果卷组有足够的剩余空间,可以直接从第四步开始操作
完整思路:
- 添加物理磁盘
- 创建
pv
(创建物理卷)- 扩容
vg
(扩容卷组)- 扩容
lv
(扩容逻辑卷)
1. 准备物理磁盘(略)
2. 创建物理卷
# pvcreate /dev/sdc
3. 扩容卷组
# vgextend vg01 /dev/sdc
4. 扩容逻辑卷
# lvextend -L +5G /dev/mapper/vg01-lv01
# 在原有的容量大小上面 +5G
5. xfs_growfs /dve/mapper/vg01-lv01
# 更新文件系统
6. df -h
# 查看挂载目录大小变化
-------------------------第 4 步 扩展------------------------
lvextend -L 5G ( 指定大小数字前面带
+
号 和不带 +
号 的区别)+5
: 在原有的基础上增加容量5
:(不带 +) 指定总空间大小案例:
不建议 缩小空间
三、 缩小逻辑卷 ext4
——— lvreduce
重要提示: 减小空间操作有风险!请备份好数据!!
# xfs不支持缩容 , 如要尝试,请备份数据
# 虽然xfs文件系统只支持增加,不支持减少。但并不是说在xfs系统文件下不能减小,只是减小后,需要重新格式化才能挂载上。这样原来的数据就丢失了!
- 以下操作为 ext2-4 格式文件系统
离线裁剪逻辑卷容量
做好数据备份 通过一些 备份方法对数据进行备份
思路:
- 备份文件
- 卸载逻辑卷
- 先剪裁文件系统
- 剪裁逻辑卷
- 查看
- 从新挂载使用
- 卸载逻辑卷
# umount /root/stu1
- 先裁剪文件系统(同步文件系统)
区别 扩容 操作中,先扩容再同步文件系统,裁剪逻辑卷是先 裁剪文件系统
# resize2fs /dev/vg01/lv01 1G
---裁剪到 1G 的容量
# e2fsck -f /dev/vg01/lv01
---检查 磁盘
- 裁剪逻辑卷
- 剪裁 减少 1G 的空间
# lvreduce -L -1G /dev/vg01/lv01
--- 或者
- 剪裁后的总空间为 1G
# lvreduce -L 1G /dev/mapper/vg01-lv01
- 查看
# lvs
- lvs 对 逻辑卷信息查看,如果没有问题的话
- 重新挂载使用
# mount /dev/vg1/lv01 /root/stu1
- 裁剪的注意点:
裁剪前 最好 做个数据备份
裁剪 后的容量大小 一定要 大于 数据的容量大小
四、 缩小或增加逻辑卷
lvresize 命令
离线剪裁 缩小逻辑卷空间
思路:
- 备份文件
- 卸载逻辑卷
- 剪裁逻辑卷
- 查看
- 格式化
- 从新挂载使用
语法格式:lvresize [参数]
以下操作基于场景:
同卷组中的两个逻辑卷, app 和 root
挂载路径 app 挂载 /app , root 挂载在 /
从app 中剪裁3G 空间 给 root
1.缩小app磁盘
- 缩小逻辑卷空间
- 1. 备份文件
# cp 文件 到另一个地方
- 2. 取消挂载逻辑卷
# umount /app
- 3. 剪裁逻辑卷 让逻辑卷减小 3G 空间
# lvresize -L -3G /dev/mapper/app
- 4. 查看
# lvs - 查看逻辑卷
# vgs - 查看卷组
# df -h
# lsblk
- 5. 格式化 -f 强制格式化
# mkfs.xfs -f /dev/mapper/app
- 6. 挂载使用
# mount /dev/mapper/app /app
- 7. 恢复备份
2.扩展root磁盘
# lvresize -L +3G /dev/mapper/myvg-root
3.扩展rootlv文件系统
- 格式为 ext2-4文件系统操作
# resize2fs /dev/mapper/myvg-root
- 格式为 xfs 文件系统操作
# xfs_growfs /dev/mapper/myvg-root
说明:扩展完磁盘后使用lsblk查看的结果变了而使用df -h结果大小却没变,这是因为前者查看的是磁盘的大小而后者查看的是文件系统的大小。磁盘和文件系统在不严格区分时可视为同一个东西,但追究起来确实是两样东西。这也是需要第3步的原因。