Unraid 虚拟机 ImmortWrt 扩容指南:第一次启动前就搞定存储空间!
在 Unraid 上部署 ImmortWrt(基于 OpenWrt 的高性能软路由系统)虚拟机时,你可能会发现默认镜像提供的存储空间,特别是用于安装软件包和保存配置的 overlay
分区,往往非常有限。这意味着你还没开始安装插件,可能就已经面临空间不足的困扰了。
别担心!本文将教你一个最推荐、最安全、最便捷的方法:在 ImmortWrt 虚拟机第一次启动之前,就为它分配足够的存储空间。这样,当你启动虚拟机时,ImmortWrt 系统会自动识别并利用这些新增空间,省去后续的麻烦。
为什么在第一次启动前扩容最理想?
ImmortWrt (OpenWrt) 系统有一个非常智能的自动扩容机制。它的核心存储结构是 SquashFS (只读系统文件) + OverlayFS (可写数据)。当你提供一个更大的虚拟磁盘时:
- QEMU 工具预留空间: 在你启动虚拟机之前,我们通过 QEMU 命令将虚拟磁盘文件(你的
.img
文件)的总容量增大,这会在文件末尾添加大片“未分配空间”。 - ImmortWrt 自动识别: ImmortWrt 虚拟机在第一次启动时,会检查其启动磁盘上是否有未被利用的空白空间。一旦发现,它会立即自动将
overlay
分区扩展到这些新的空间中,并相应地调整文件系统的大小。
这个流程无需你手动干预复杂的分区工具,确保系统启动后就能拥有充足的存储空间。
扩容核心步骤:Unraid + qemu-img 组合
我们将使用 Unraid 宿主机上的 qemu-img resize
命令来完成这个操作。
步骤 1: 确保 ImmortWrt 虚拟机未运行
在对虚拟磁盘文件进行任何修改之前,确保你的 ImmortWrt 虚拟机处于完全关闭状态至关重要。
- 登录你的 Unraid Web GUI。
- 导航到 “VMs (虚拟机)” 页面。
- 找到你准备好的 ImmortWrt 虚拟机(例如
openwrt-imm
)。 - 如果虚拟机处于运行状态,点击其旁边的停止 (Stop) 按钮,确认停止。
步骤 2: 增大虚拟磁盘文件大小
通过 SSH 连接到 Unraid 宿主机,使用 qemu-img resize
命令来扩容你的 .img
文件。
- 通过 SSH 连接到你的 Unraid 服务器。Bash
ssh root@你的UnraidIP地址
输入你的 Unraid root 密码。 - 执行
qemu-img resize
命令。 你需要知道你的 ImmortWrt 虚拟机镜像文件的完整路径。假设路径是:/mnt/user/isos/immortalwrt-24.10.2-x86-64-generic-ext4-combined-efi.img
,假设你希望将这个虚拟磁盘文件的总大小设定为 4GB。
qemu-img resize /mnt/user/isos/immortalwrt-24.10.2-x86-64-generic-ext4-combined-efi.img 4G
步骤 3: 首次启动 ImmortWrt 虚拟机并享受更大空间
现在,你的虚拟磁盘文件已经变大了,ImmortWrt 将在第一次启动时完成剩下的工作。
- 回到 Unraid Web GUI 的 “VMs (虚拟机)” 页面。
- 找到你的 ImmortWrt 虚拟机,点击其旁边的启动 (Start) 按钮。
- 等待 ImmortWrt 完全启动。 首次启动并扩容可能需要比平时稍长的时间。
- 验证扩容结果:
- 通过 SSH 连接到你的 ImmortWrt 虚拟机。
- 执行以下命令:Bash
df -h
- 仔细查看
/overlay
或根目录/
分区的信息。你会发现其总大小 (Size) 和可用空间 (Avail) 已经显著增加,与你之前扩容到的总容量相符(或者至少是overlay
分区能够利用的最大空间)。
现在,你的 ImmortWrt 虚拟机拥有了充足的存储空间,你可以尽情安装各种插件和配置,扩展你的软路由功能了!