我正在尝试将最初设置为 4 GB 内存的虚拟机的磁盘大小增加到 10 GB。我之前成功将其增加到 8 GB(通过在 VirtualBox GUI 中更新后删除lv_swap
并运行lvextend
),但无法进一步增加。我通过 VirtualBox 的 GUI 将内存增加到 10 G,如果我运行,cat /proc/meminfo
我会得到以下输出:
MemTotal: 10905472 kB
MemFree: 10387160 kB
...
但是如果我跑步,df -h
我会
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/lv_root 7.4G 6.2G 853M 89% /
tmpfs 5.3G 272K 5.2G 1% /dev/shm
/dev/sda1 485M 58M 402M 13% /boot
如果我运行,sudo gparted
它只会列出启动和根目录;启动占用约 500M 空间,根目录占用不到 8G 空间,我无法使用它来扩展根目录。我尝试从 LiveDVD 执行此操作,但结果相同。如果我只是运行sudo lvextend ...
,它会说没有足够的未分配空间来添加它。由于 tmpfs 看起来太大,我尝试重新安装具有较小大小的 tmpfs,但额外的内存没有显示出来,当我重新启动机器时,它的大小与以前相同。
有谁知道如何将额外的内存分配给 root,而不是 tmpfs 或它现在所在的任何地方?有谁知道为什么它不可用吗?
更新:造成混淆的根本原因是我本人以及 SO 和我搜索的其他社区资源对内存/磁盘空间的混淆。我主要按照提问的方式保留问题(缩短 meminfo 输出),因为当我尝试寻找答案时,我发现很多东西混淆了两者,而没有多少东西最终澄清了答案,如果能找到这种格式的东西,我会很有帮助。
答案1
我不小心只增加了主板尺寸(我不知道为什么当我第一次将其增加到 8G 时它会起作用)
为了解决我的问题:
我进入 > 设置 > 存储,在控制器:SATA 下创建了一个新硬盘。重新启动机器后,我运行sudo gparted
(或lsblk -f
)并获得了新的硬盘名称。然后我能够使用说明这里使空间可用。简而言之,我运行了:
sudo pvcreate /dev/sdb
- /dev/sdb新的磁盘位置是
sudo vgextend pv_name vg_name
- 光伏名称是新物理卷的名称;可以通过运行找到
sudo pvdisplay
- 组名称是要扩展的 pv 卷组的名称;可以通过运行找到
sudo pvdisplay
- 光伏名称是新物理卷的名称;可以通过运行找到
sudo lvextend -t -r -l+100%FREE /dev/mapper/lv_root
- 检查卷是否可以成功扩展到 100% 的可用空间(
-l+100%FREE
) - (
-t
测试用) - (寻找lv_root和
ls /dev/mapper/
)
- 检查卷是否可以成功扩展到 100% 的可用空间(
sudo lvextend -r -l+100%FREE /dev/mapper/lv_root
- 扩大音量(否
-t
)
- 扩大音量(否
希望我 5 个小时的不幸遭遇能够帮助到其他人!