Featured image of post TrueNAS Scale 安裝到硬碟的指定分區而非整顆磁碟

TrueNAS Scale 安裝到硬碟的指定分區而非整顆磁碟

TrueNAS Scale 的安裝程式預設會佔用整顆磁碟。透過修改安裝腳本的 sgdisk 參數,可以讓系統分區只用指定大小,剩餘空間留給其他用途——例如另建 ZFS 儲存池。

TrueNAS Scale 的安裝程式預設會吃掉整顆磁碟,如果你的 SSD 空間相對充足,但又不想為了系統碟再多買一顆,可以改動安裝腳本讓系統只用一部分空間,剩餘容量另作他用。

注意:這不是官方安裝流程,動手前先備份資料。

  • 安裝程式會清除所選磁碟上的既有資料
  • 之後重灌同一顆磁碟時,另外建立的 ZFS pool 也會一起被清掉
  • 本文環境為 24.x,其他版本的安裝腳本內容可能不同
  • 官方文件沒有說明系統碟能否分割,社群的普遍做法是系統碟獨立一顆,分割後出問題也不要期待官方支援

裝壞了請自己扛。

環境

  • 磁碟:120 GB SSD(KLEVV NEO N400 S)
  • TrueNAS Scale:24.x(Dragonfish)

修改安裝腳本

TrueNAS Scale 的 live 環境中,安裝腳本位在 squashfs 內(唯讀),需要先複製出來再修改。

找出腳本實際路徑:

1
find /usr/lib -name '*truenas-install'
1
/usr/lib/live/mount/rootfs/filesystem.squashfs/usr/sbin/truenas-install

複製到 /tmp/:

1
cp $(find /usr/lib -name '*truenas-install') /tmp/

修改 sgdisk 的第 3 號分區參數,將 0:0(用盡剩餘空間)改為 0:+32768M(限制為 32 GB):

1
sed -i 's/sgdisk -n3:0:0/sgdisk -n3:0:+32768M/g' /tmp/truenas-install

32768M = 32 GB,視需求自行調整。目前官方硬體指南建議至少 20 GB,實際用量通常在 8–16 GB 之間,留些 buffer 比較保險。

執行修改後的安裝腳本:

1
/tmp/truenas-install

確認分區結果

安裝完成後,用 parted 確認磁碟佈局:

1
parted /dev/sda print
1
2
3
4
5
Number  Start   End     Size    File system  Name  Flags
 1      2097kB  3146kB  1049kB                     bios_grub, legacy_boot
 2      3146kB  540MB   537MB   fat32              boot, esp
 4      540MB   17.7GB  17.2GB                     swap
 3      17.7GB  52.1GB  34.4GB  zfs

TrueNAS 系統佔用了磁碟前 52.1 GB,剩餘約 68 GB 空間未配置。

在剩餘空間建立 ZFS Pool

開機進入 TrueNAS 後,用 parted 在剩餘空間建立新分區:

1
parted /dev/sda

先把單位切換成 KiB,列出目前的分區:

1
2
(parted) unit KiB
(parted) print
1
2
3
Number  Start        End          Size         File system  Name  Flags
 ...
 3      17304576kiB  50859008kiB  33554432kiB  zfs

第 3 號分區的 End 就是新分區的起點。每顆磁碟的數值都不同,請換成自己的 End 值:

1
2
(parted) mkpart ix-apps zfs 50859008kiB 100%
(parted) print

應看到新的第 5 號分區:

1
2
3
4
Number  Start        End           Size         File system  Name     Flags
 ...
 3      17304576kiB  50859008kiB   33554432kiB  zfs
 5      50859008kiB  117220352kiB  66361344kiB  zfs          ix-apps

建立 ZFS pool:

1
sudo zpool create ix-apps /dev/sda5

可能出現 cannot mount '/ix-apps': failed to create mountpoint: Read-only file system 的警告,忽略即可。

透過 Web UI Import Pool

直接建立的 pool 只會出現在 Datasets,Storage Dashboard 看不到,需要 export 後重新透過 Web UI import:

1
sudo zpool export ix-apps

然後進入 TrueNAS Web UI → Storage → Import Pool,選取 ix-apps 並 import。

import 後 Datasets 與 Storage Dashboard 兩邊都會正常顯示。


Reference

Licensed under CC BY-NC-SA 3.0 TW
最後更新 2026-11-09
comments powered by Disqus