我在 VirtualBox 5.0 中运行一个 Ubuntu Server 16.04 VM,并连接了一个 20GB 的驱动器(最初在名为“box-template”的 VM 中创建为 10GB,然后在 VM 克隆和重命名后扩展)。
今天,当我尝试使用终端自动完成功能时,我收到一条消息,指出-bash: cannot create temp file for here-document: No space left on device
。当我运行时df -i
,我看到以下输出:
media@box-library:~$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 251035 475 250560 1% /dev
tmpfs 256039 609 255430 1% /run
/dev/mapper/box--template--vg-root 491520 491520 0 100% /
tmpfs 256039 2 256037 1% /dev/shm
tmpfs 256039 3 256036 1% /run/lock
tmpfs 256039 16 256023 1% /sys/fs/cgroup
/dev/sda1 124928 313 124615 1% /boot
//10.0.0.5/media2 183148544 23791 183124753 1% /media/media2
//10.0.0.5/media1 183148544 7496 183141048 1% /media/media1
tmpfs 256039 4 256035 1% /run/user/1000
这时我发现这个答案这让我稍微更好地理解了这个特定分区到底是什么。我试着查看指南对于 LVM,但不幸的是我对 Linux 的了解有限,我甚至不知道从哪里开始阅读该文档......
当我从 GParted 实时 CD 启动我的虚拟机时,我的“19.52 GiB”box-template-vg
分区仍然显示“10.03 Gib”可用。
我是不是漏掉了什么重要的东西?还是我在克隆虚拟机和调整驱动器大小时做错了什么?
编辑:运行评论请求的屏幕截图lvscan
:
编辑2:包括输出lvdisplay
:
顺便提一下:我实际上克隆了两次“模板”虚拟机,但另一个虚拟机目前不需要更多驱动器空间。df -i
该虚拟机上的命令显示“IUse%”列的容量为 35%,因此将来如果/当我需要调整该机器上的虚拟驱动器大小时,我需要记住什么特别的事情来防止出现此问题吗?
答案1
LVM 有三个抽象级别:
“物理卷”(PV),顾名思义,是基本的“物理”层。这是指您的硬件以及您已增加的内容sudo pvresize /dev/sda5
。sudo pvdisplay
现在应该显示完整大小和已使用的大小。
“逻辑卷组”(VG) 是一个或多个 PV 的分组层。您可以使用 查找 VG 的名称和大小sudo vgdisplay
。此名称应为“box--template--vg”;查找此名称。调整 PV 大小时,VG 应自动扩展。
“逻辑卷”(LV) 是您可以像普通分区一样使用的顶层。一个 VG 可以有一个或多个 LV。LV 的名称和大小以 显示。LV 的名称是“box--template--vg-root”,如( )sudo lvdisplay
的设备列中所示。df
/dev/mapper/box--template--vg-root
扩展 VG 时不会自动增加。因此您必须扩展 LV:。sudo lvresize -r -l100%VG box--template--vg-root
这将调整 LV 的大小以使用完整 VG(-l100%VG
),然后增加文件系统的大小/
(-r
),假设这可以在线增加(就像 ext4 那样)。
编辑:我刚刚看到您的输出lvdisplay
。因此,用 增加这个sudo lvresize -r -l100%VG /dev/box-template-vg/root
。或者,相同的是sudo lvextend -r -l +100%FREE /dev/box-template-vg/root
。
答案2
延长后也Volume Group
必须Logical Volume
延长:
使用以下命令扩展逻辑卷:
sudo lvextend -l +100%FREE /dev/box-template-vg/root
首先运行文件系统检查以确保扩展后一切正常:
sudo e2fsck -f /dev/box-template-vg/root
扩展文件系统以容纳新的空间:
sudo resize2fs /dev/bpx-template-vg/root
关闭 gparted 并重新启动
VM
信息:
获取
Logical Volume Group
运行的路径:sudo lvscan
如果尚未激活,请激活您的分区以
GParted
启用步骤2
并工作。3
扩展逻辑卷的基本步骤:
脚步:
- 卸载逻辑卷
- 扩展卷组:
$ sudo vgextend myvolumes /dev/physical_volume
扩展逻辑卷:
$ sudo lvextend /dev/myvolumes/firstgroup /dev/physical_volume
其他格式:
Extends the size of the logical volume "vg01/lvol10" by 54MiB on physical volume /dev/sdk3. This is only possible if /dev/sdk3 is a member of volume group vg01 and there are enough free physical extents in it: lvextend -L +54 /dev/vg01/lvol10 /dev/sdk3 Extends the size of logical volume "vg01/lvol01" by the amount of free space on physical volume /dev/sdk3. This is equivalent to specifying "-l +100%PVS" on the command line: lvextend /dev/vg01/lvol01 /dev/sdk3 Extends a logical volume "vg01/lvol01" by 16MiB using physical extents /dev/sda:8-9 and /dev/sdb:8-9 for allocation of extents: lvextend -L+16M vg01/lvol01 /dev/sda:8-9 /dev/sdb:8-9
调整文件系统大小以适应增加:
$ sudo e2fsck -f /dev/myvolumes/firstgroup
$ sudo resize2fs /dev/myvolumes/firstgroup
- 挂载逻辑卷:
$ sudo mount -t ext3 /dev/myvolumes/firstgroup /mount/point
来源(从终端运行):
- 男人 lvextend
- 人vgextend
- https://www.ibm.com/developerworks/library/l-lpic1-102-1/