在 TrueNAS 中更改存储池 (ZFS Pool) 的名称,不能直接通过图形用户界面 (GUI) 完成,需要结合 GUI 操作和命令行界面 (CLI)。

这个过程涉及到导出 (Export) 旧名称的存储池,然后通过命令行导入 (Import) 并指定新名称,最后再从 GUI 重新导入。

重要提示:

  • 操作前请务必备份重要数据! 尽管这个过程通常是安全的,但任何对存储池的操作都存在风险。
  • 确保在操作过程中没有应用程序或服务正在访问该存储池中的数据。 最好在维护窗口或系统负载较低时进行。
  • 更改存储池名称后,所有依赖于旧池名称的配置(例如 SMB/NFS 共享、iSCSI LUN、数据集快照任务、Apps/Jails 的路径等)都需要手动更新

TrueNAS 更改存储池名称的步骤

以下是详细的步骤:

步骤 1:准备工作 (GUI)

  1. 移动系统数据集 (如果适用): 如果你的系统数据集 (System Dataset) 存储在要重命名的存储池上,建议将其暂时移动到另一个存储池(例如,你的启动池或另一个小池)以避免潜在问题。
    • 在 TrueNAS GUI 中,前往 系统 (System) -> 系统数据集 (System Dataset)
    • 选择一个不同的存储池来托管系统数据集,然后点击 保存 (Save)
    • 完成后,你可以再把它移回来。
  2. 停止所有相关的服务和应用: 确保没有服务(如 SMB、NFS、iSCSI 等)或应用(如 Docker 应用程序或虚拟机)正在使用该存储池。如果可能,最好将它们全部停止。

步骤 2:导出存储池 (GUI)

  1. 登录 TrueNAS GUI。
  2. 导航到 存储 (Storage) -> 存储池 (Pools)
  3. 找到你想要重命名的存储池,点击右侧的齿轮图标 (或三个点菜单)。
  4. 选择 导出/断开连接 (Export/Disconnect)
  5. 在弹出的对话框中,非常重要:
    • 不要勾选 "Destroy data on this pool?" (销毁此池上的数据?) 这个选项会擦除所有数据!
    • 勾选 "Confirm Export/Disconnect" (确认导出/断开连接)。
    • 你可以选择是否勾选 "Delete shares configured for this pool?" (删除为此池配置的共享?)。如果勾选,你之后需要重新创建所有共享。如果不勾选,你需要在池重新导入后手动编辑这些共享路径。为了避免混乱,我通常建议不要勾选,然后手动修改路径。
  6. 点击 导出/断开连接 (Export/Disconnect)。存储池将从 TrueNAS 系统中移除,但数据仍然安全地留在磁盘上。

步骤 3:通过命令行导入并重命名存储池 (CLI)

  1. 进入 TrueNAS 的 Shell 界面。你可以通过以下方式:

    • 在 TrueNAS GUI 中,点击左侧菜单的 Shell
    • 使用 SSH 客户端(如 PuTTY 或 Terminal)连接到你的 TrueNAS 服务器。
  2. 执行以下命令来导入存储池并赋予新名称:
    Bash

    sudo zpool import <旧池名称> <新池名称>
    
    • <旧池名称> 替换为你要重命名的存储池当前的名字。

    • <新池名称> 替换为你想要设置的新名字。

    • 例如: 如果你的旧池名叫 old_data_pool,你想改成 new_main_storage,命令就是:
      Bash

      sudo zpool import old_data_pool new_main_storage
      
    • 如果旧池名称中包含空格或特殊字符,请用引号将其括起来,例如:sudo zpool import "My Old Pool" new_pool

  3. 确认存储池已成功导入并重命名。你可以使用 zpool status 命令来查看:
    Bash

    zpool status <新池名称>
    

    你应该能看到新名称的存储池状态信息。

  4. 再次导出存储池 (CLI): 这是关键一步,让 GUI 能够识别新名称的池。
    Bash

    sudo zpool export <新池名称>
    
    • <新池名称> 替换为你刚刚设置的新名字。

步骤 4:重新导入存储池 (GUI)

  1. 返回 TrueNAS GUI。
  2. 导航到 存储 (Storage) -> 存储池 (Pools)
  3. 点击 添加 (Add)
  4. 选择 导入现有池 (Import an existing pool)
  5. 点击 下一步 (Next)
  6. 在提示是否要销毁数据时,选择 否,继续导入 (No, continue with import)
  7. 点击 下一步 (Next)
  8. 在“池”下拉菜单中,选择你刚刚重命名的新存储池。
  9. 点击 下一步 (Next)
  10. 点击 导入 (Import)

步骤 5:更新相关配置

存储池成功导入后,你需要更新所有依赖于其路径的配置:

  1. SMB/NFS 共享: 导航到 共享 (Shares),编辑所有指向旧存储池路径的共享,将其路径更新为新池名称。
  2. iSCSI LUN: 如果你使用了 iSCSI LUN,检查并更新其路径。
  3. 数据集快照任务: 检查并更新所有快照任务中的数据集路径。
  4. TrueNAS Apps / Jails / 虚拟机: 如果你在该存储池上运行了 Apps、Jails 或虚拟机,它们的存储路径通常需要手动调整。这可能涉及编辑 App 的 Host Path,或在 Jail/VM 配置中更新挂载点。
  5. 系统数据集 (如果之前移动了): 如果你在步骤 1 中移动了系统数据集,现在可以将其移回新命名的存储池。

通过遵循这些步骤,你应该能够安全地更改你的 TrueNAS 存储池名称。请务必小心操作,尤其是在命令行步骤中。