TrueNAS 手動プール作成方法

はじめに

今回NASを作るにあたって、TruneNAS Scaleを採用したのですが、今まで、パーテーションを手動で切る+mdadmを利用していたせいで、webuiの自由度がなく感じられるので、コマンドラインからプールを作成してみたメモです。

前提条件

sda(238.5 GiB),sdb(238.5 GiB)にパーテーションを作成し、zpool作成後、Truenasに認識させるのが本記事の内容です。

パーテーションの作成

今後他メーカーのSSDに載せ替えることを考え、210GBで作成します。

Disk /dev/sdb: 500118192 sectors, 238.5 GiB
Model: PLEXTOR PX-256M5
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): C62B6A42-597A-4A21-B65B-C57F62185997
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 500118158
Partitions will be aligned on 2048-sector boundaries
Total free space is 59718252 sectors (28.5 GiB)
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       440401920   210.0 GiB   BF01  Solaris /usr & Mac ZFS

zpoolの作成

パーテーションの作成が終わったら、「partprobe」を実行し、パーテーション情報を更新してから、「partuuid」を確認します。

今回は

  • bee1b39b-4ae2-434c-8bfe-4c552700223d
  • 9505335d-7820-4d89-a02d-af20a844cdd9

を用います。

root@truenas[~]# partprobe
root@truenas[~]# ls -la /dev/disk/by-partuuid 
total 0
drwxr-xr-x 2 root root 200 Jul 23 14:20 .
drwxr-xr-x 8 root root 160 Jul 23 13:56 ..
lrwxrwxrwx 1 root root  10 Jul 23 14:03 1ca1ded5-750e-4d61-b1ad-e33acd9892dc -> ../../sdc1
lrwxrwxrwx 1 root root  10 Jul 23 14:11 3eeb993d-1857-4c7b-9bea-f63137dbf789 -> ../../sdd3
lrwxrwxrwx 1 root root  10 Jul 23 14:11 658cb2ea-690c-4363-9906-38f0e7721b2a -> ../../sdd2
lrwxrwxrwx 1 root root  10 Jul 23 14:11 75ece265-d4ab-4800-a521-c18e4e92e210 -> ../../sdd1
lrwxrwxrwx 1 root root  10 Jul 23 14:03 7e27e4d5-24c1-44f8-b2ef-e8e85d67ad7b -> ../../sdc3
lrwxrwxrwx 1 root root  10 Jul 23 14:03 9505335d-7820-4d89-a02d-af20a844cdd9 -> ../../sdb1
lrwxrwxrwx 1 root root  10 Jul 23 14:03 ab1aa346-4b1a-40bc-9efa-bcdaaa5952ce -> ../../sdc2
lrwxrwxrwx 1 root root  10 Jul 23 14:20 bee1b39b-4ae2-434c-8bfe-4c552700223d -> ../../sda1

最初からraid1で作成するとき

# zpool attach <プール名> <raidレベル(今回はraid1相当)> <追加したい空のディスク1> <追加したい空のディスク2>
zpool create ssd-1-pool mirror bee1b39b-4ae2-434c-8bfe-4c552700223d 9505335d-7820-4d89-a02d-af20a844cdd9

一台ずつ追加しraid1にするとき

zpool create ssd-1-pool bee1b39b-4ae2-434c-8bfe-4c552700223d 
root@truenas[~]# zpool status
  pool: ssd-1-pool
 state: ONLINE
config:
        NAME                                    STATE     READ WRITE CKSUM
        ssd-1-pool                              ONLINE       0     0     0
          bee1b39b-4ae2-434c-8bfe-4c552700223d  ONLINE       0     0     0
# zpool attach <プール名> <ミラーにしたい元のディスク> <追加したい空のディスク>
zpool attach ssd-1-pool bee1b39b-4ae2-434c-8bfe-4c552700223d 9505335d-7820-4d89-a02d-af20a844cdd9
root@truenas[~]# zpool status
config:
        NAME                                      STATE     READ WRITE CKSUM
        ssd-1-pool                                ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            bee1b39b-4ae2-434c-8bfe-4c552700223d  ONLINE       0     0     0
            9505335d-7820-4d89-a02d-af20a844cdd9  ONLINE       0     0     0

TrueNASに作成したpoolをインポートする

zpoolを作成しただけではTrueNASのGUI上から認識できないので、zpoolをエクスポート状態にします。

# zpool export <プール名>
zpool export ssd-1-pool

おわり

本来であれば、同一のディスクを用意し続けるのが良いのですが、寄せ集めで作ってしまうので、そこら編の差をパーテーションで吸収しないとだめなんですよね。

GUI側で指定した容量の差を認められる設定(利用ディスク容量を指定できる機能)があれば良いんですけどね

PC, Unix系nas, truenas, zfs

Posted by penM