在 Linux 服务器管理中,普通分区方案可能会限制存储的灵活性。而 LVM(逻辑卷管理) 提供了一种动态调整存储空间的方式。此外,为了防止用户滥用磁盘资源,磁盘配额(Quota) 也至关重要。本章将介绍 LVM 逻辑卷管理 和 磁盘配额配置。
LVM(Logical Volume Manager) 允许动态管理存储空间,相比传统分区更具弹性,可随时扩展或缩减分区大小。
LVM 主要由以下结构组成:
/dev/sdb1
LVM 的核心优势: ✅ 动态扩展/缩小卷大小
✅ 支持快照(Snapshot)
✅ 支持跨多个物理磁盘
✅ 步骤 1:创建物理卷(PV)
pvcreate /dev/sdb1 /dev/sdc1 # 将两个磁盘分区转换为物理卷
pvdisplay # 查看 PV 信息
✅ 步骤 2:创建卷组(VG)
vgcreate my_vg /dev/sdb1 /dev/sdc1 # 创建卷组 my_vg
vgdisplay # 查看 VG 信息
✅ 步骤 3:创建逻辑卷(LV)
lvcreate -L 50G -n my_lv my_vg # 在 my_vg 上创建 50GB 的逻辑卷 my_lv
lvdisplay # 查看 LV 信息
✅ 步骤 4:格式化逻辑卷
mkfs.ext4 /dev/my_vg/my_lv # 格式化为 ext4
✅ 步骤 5:挂载逻辑卷
mkdir /mnt/mydata
mount /dev/my_vg/my_lv /mnt/mydata
echo "/dev/my_vg/my_lv /mnt/mydata ext4 defaults 0 2" >> /etc/fstab # 设置开机自动挂载
如果 /mnt/mydata
空间不足,可扩展逻辑卷:
lvextend -L +20G /dev/my_vg/my_lv # 增加 20GB
resize2fs /dev/my_vg/my_lv # 重新调整 ext4 文件系统大小
⚠ 缩小逻辑卷前需先卸载文件系统!
umount /mnt/mydata
resize2fs /dev/my_vg/my_lv 30G # 先缩小文件系统
lvreduce -L 30G /dev/my_vg/my_lv # 缩小逻辑卷到 30GB
mount /dev/my_vg/my_lv /mnt/mydata # 重新挂载
磁盘配额(Quota) 用于限制用户或用户组可使用的磁盘空间,以防止单个用户占满整个文件系统。
Linux 支持两种配额:
yum install quota -y # 安装 quota 相关工具
mount -o remount,usrquota,grpquota /mnt/data # 临时启用
echo "/dev/sdb1 /mnt/data ext4 defaults,usrquota,grpquota 0 2" >> /etc/fstab # 设置开机启用
quotacheck -cug /mnt/data # 创建配额数据库
quotacheck -avug # 扫描所有用户和组
quotaon -av # 启用配额
edquota -u username
示例配置:
Disk quotas for user username:
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 50000 60000 70000 1000 1200 1500
quota -u username # 查询用户配额
repquota -a # 查看所有用户配额
setquota -u username 0 0 0 0 /mnt/data
本章介绍了 Linux 磁盘管理进阶知识: ✅ LVM 逻辑卷管理,实现磁盘的动态扩展与缩小
✅ LVM 关键命令,如 pvcreate
、vgcreate
、lvextend
等
✅ 磁盘配额(Quota),防止用户占用过多存储资源
你在 LVM 或磁盘配额管理中遇到过哪些问题?欢迎留言讨论!