长话短说:我正在尝试使用以下命令使用 lvcreate 创建卷的快照:
lvcreate -l 100%FREE -s -n SNAPSHOT /dev/volume-group/data
我收到一条错误消息,提示“无法创建没有扩展的新逻辑卷。”经过一番挖掘,我发现根据 vgdisplay,相关卷组没有可用空间,尽管 df -h 显示有大量可用空间。
vgdisplay输出:
--- Volume group ---
VG Name volume-group
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.99 GiB
PE Size 4.00 MiB
Total PE 10238
Alloc PE / Size 10238 / 39.99 GiB
Free PE / Size 0 / 0
VG UUID fP36on-3yzf-c8i2-bOzO-4Htf-txUa-k3y8p9
df-h输出:
Filesystem Size Used Avail Use% Mounted on
udev 7.5G 0 7.5G 0% /dev
tmpfs 1.5G 73M 1.5G 5% /run
/dev/xvda1 62G 2.2G 60G 4% /
tmpfs 7.5G 0 7.5G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.5G 0 7.5G 0% /sys/fs/cgroup
tmpfs 1.5G 0 1.5G 0% /run/user/1000
/dev/mapper/volume--group--data 40G 17G 24G 43% /mnt/mysql
我认为此时我需要做的是将包含 /dev/volume-group/data 的逻辑卷的大小更改为比当前磁盘使用量稍大一点的大小,拍摄快照,然后将其设置回 40GB?但我不确定这是否是正确的程序,或者我是否应该做其他事情。
这一切都发生在 AWS EC2 实例中,我尝试拍摄快照的卷是包含 MySQL 数据库数据的 EBS 卷,以防这些细节很重要。
答案1
LVM 区分配和逻辑卷上的文件系统没有显著关系。LVM 命令在 LVM 上运行,而不关心您将逻辑卷用于什么用途。
您正在尝试创建快照逻辑卷,这将需要卷组中的可用范围来创建 - 快照实际上只是在对原始卷进行更改时备份数据的另一个逻辑卷。
查看此相关行:
Free PE / Size 0 / 0
这说明卷组上没有剩余空间来创建任何类型的其他逻辑卷,包括快照。一种方法是缩小逻辑卷以释放此 VG 上的某些范围。缩小 LV 需要先缩小文件系统,因为不这样做就缩小逻辑卷会截断文件系统的末尾并将其丢弃。幸运的是,LVM 可以调用大多数文件系统实用程序来确保首先针对新的目标 LV 大小进行缩小 - 但请确保在运行之前进行此操作。
或者,您可以调整 EBS 卷的大小并为自己提供一些额外的物理扩展。这是最简单的方法,特别是如果您使用的是永远无法缩小的 XFS。