一,基础指令
pvcreate /dev/sdb 创建pv卷
vgcreate data /dev/sdb 创建vg卷组并把sdbpv卷添加到到data卷组
vgextend data /dev/sdc 添加sdc到data卷组。
lvcreate -L 100M -n lv1 /dev/data 创建逻辑卷lv1大小为100M。
lvextend -L +100M /dev/data/lv1 在lv1原有的基础上扩容100M
lvextend -L 200M /dev/data/lv1 直接扩容lv1为200M而不是在原基础上增加200M。
umount /dev/datavg /lv1 删除LVM之前必须取消挂载
lvremove /dev/datavg/lv1 删除逻辑卷
vgremove data /dev/sdd 将pv卷从卷组中删除
vgreduce data /de/sdb 把磁盘从卷组中移除
pvremove /dev/sdb 删除pv卷
pvmove /dev/sdb /dev/sdd 数据迁移,迁移的目标磁盘必须和现有的磁盘在一个vg卷组里面。
实战一:分区容量满了,要求扩容/分区 扩容+10G
步骤一: 磁盘扩容(新增磁盘 /dev/sdb)
1.pvcreate /dev/sdb
首先通过 pvcreate 创建一个新的物理卷(PV),这是 LVM 的第一步,它会把 /dev/sdb 转换为 LVM 可以管理的物理卷
2.pvs:用于查看第一步的pv卷是否建立成功
3.接下来
vgs 命令会列出当前的卷组(VG),你应该看到当前卷组(例如:centos)
然后使用 vgextend 将新的磁盘(/dev/sdb)
加入到现有的卷组中命令为:vgextend centos /dev/sdb
步骤二:扩展逻辑卷(LV)
lvextend -L +5G /dev/centos/root
这条命令的作用是将根分区(/dev/centos/root)的大小增加 5GB。要求扩容 10GB,但命令中只写了 5GB,所以实际扩容了 5GB,你需要执行两次 lvextend 或者直接扩容 10GB:lvextend -L +10G /dev/centos/root
步骤三:df -Th 检查文件系统
查看当前的磁盘和文件系统的使用情况,确认 / 分区的大小已经增长
步骤四:扩展文件系统
在 LVM 逻辑卷扩容后,你还需要扩展文件系统,以使新的空间生效。
对于 XFS 文件系统,你可以使用 xfs_growfs 命令:
xfs_growfs /dev/centos/root
这将扩展 /dev/centos/root 上的 XFS 文件系统,使用新的空间。
步骤五:虚拟机重启
一般来说,在正常情况下,LVM 和文件系统的扩容不需要重启。
但是,有些情况可能导致系统出现一些文件系统挂载问题:
**问题一:**文件系统未正确扩展:如果在扩展文件系统之前有错误或中断,文件系统可能没有正确识别到新空间。
**问题二:**挂载问题:重启时,系统会重新挂载文件系统。如果 xfs_growfs 没有正确执行或未能扩展文件系统,系统启动时可能会遇到问题。
**问题三:**LVM 问题:如果卷组或逻辑卷扩展过程中遇到错误,重启时可能会导致无法挂载新的逻辑卷。
解决方法:
避免重启:尽量在扩容完成后,避免重启虚拟机。如果必须重启,请确保所有的扩容步骤都成功执行,特别是 xfs_growfs。
检查日志:如果重启后遇到文件系统问题,可以查看 /var/log/messages 或 journalctl 中的错误日志,找到具体的问题。
实战二:扩容swap方式2种
第一种
创建个分区,把分区格式成swap
mkswap /dev/sdb1
写到/etc/fstab
/dev/sdb1 swap swap defaults 0 0
swapon -a 激活swap分区,swap变大
swapoff /dev/vdb1
方法二
dd if=/dev/zero of=/swap2.img bs=1M count=512
mkswap /swap2.img
vim /etc/fstab 写入挂载
/swap2.img swap swap defaults 0 0
chmod 600 /swap2.img
swapon -a
free -m
关闭swap分区命令 swapoff -a 关闭swap分区
dd 命令可以做磁盘性能测试,根据每秒读写,写入时间判断磁盘性能