例如:
[root@blue ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 1024M 0 rom
vda 252:0 0 300G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 299G 0 part
├─rhel-root 253:0 0 70G 0 lvm /
├─rhel-swap 253:1 0 3.1G 0 lvm [SWAP]
└─rhel-home 253:2 0 225.9G 0 lvm /home
vdb 252:16 0 10G 0 disk
├─vdb1 252:17 0 500M 0 part
│ └─test-vo 253:3 0 300M 0 lvm /vo
├─vdb2 252:18 0 512M 0 part [SWAP]
└─vdb3 252:19 0 1G 0 part
├─myvg-mylv 253:4 0 800M 0 lvm /mnt/mydata
└─myvg-a 253:5 0 160M 0 lvm
vdc 252:32 0 10G 0 disk
[root@blue ~]# lvcreate -l 10 -n b myvg
Volume group "myvg" has insufficient free space (3 extents): 10 required.
根据您的命令输出和错误提示,当前在卷组 myvg
中创建名为 b
的逻辑卷时遇到空间不足的问题。以下是详细分析和解决方案:
问题分析
- 卷组空间不足
- 错误信息显示
myvg
仅有 3 个空闲 PE(物理扩展单元),但创建逻辑卷b
需要 10 个 PE - 从
lsblk
输出可见,myvg
当前包含两个逻辑卷:
myvg-mylv
(800M,挂载到/mnt/mydata
)myvg-a
(160M,未挂载) 两者共占用960M
,而vdb3
分区总大小为1G
,剩余空间可能因 PE 分配或元数据占用而不足
- PE 大小与计算
- 默认 PE 大小为 4MB,但您的
vgdisplay myvg
输出(历史记录)显示 PE 为 16MB - 若 PE=16MB,
myvg
当前空闲空间为3*16MB=48MB
,而lvcreate -l 10
需10*16MB=160MB
,远超可用空间
解决方案
1. 检查卷组剩余空间
# 确认 myvg 的剩余 PE 数量和总容量
vgdisplay myvg | grep "Free PE"
- 若输出显示空闲 PE 不足,需扩展卷组或调整逻辑卷需求
2. 扩展卷组(添加物理卷)
若 vdc
磁盘未使用,可将其初始化为物理卷并加入 myvg
:
# 初始化 vdc 为物理卷
pvcreate /dev/vdc
# 将 vdc 加入 myvg 卷组
vgextend myvg /dev/vdc
# 再次检查空闲空间
vgdisplay myvg
- 完成后即可创建新逻辑卷
b
3. 调整逻辑卷需求
若无法扩展卷组,可减少请求的 PE 数量(需 ≤3):
# 创建占用 3 个 PE 的逻辑卷(16MB*3=48MB)
lvcreate -l 3 -n b myvg
4. 清理未使用的逻辑卷
若 myvg-a
(160M)无需保留,可删除以释放空间:
# 卸载并删除逻辑卷
umount /dev/myvg/a # 若已挂载
lvremove /dev/myvg/a
# 再次尝试创建
lvcreate -l 10 -n b myvg
后续操作建议
创建逻辑卷后,需格式化和挂载才能使用:
mkfs.ext4 /dev/myvg/newlv # 格式化
mkdir /mnt/newlv # 创建挂载点
mount /dev/myvg/newlv /mnt/newlv # 挂载
若需永久挂载,需将信息写入 /etc/fstab
。
例如以下:
vim
/dev/myvg/mylv /mnt/mydata vfat defaults 0 0
最后一步:
mount -a #启动&测试开机挂载