TrueNAS SCALEを使って遊んでいる。
いままではHDDを1台だけ繋いでStripeで利用していた。
要するにただのHDD1台のNAS。
ここにもう1台のHDDを追加して、ミラーリング構成にした。
ちなみに、WebのUIからやったら四苦八苦。
これ実は、ただ2台目を追加したら2台のStripeになってしまう。
容量は2倍。壊れやすさも2倍。
そこでうまく2台目をミラーリングとして追加する方法。
前提
使用するTrueNASはSCALE。
バージョンはDragonfish-24.04.2.3
手順
鍵はSSHでやるということ。超簡単。
ステップ1: SSH接続
- SSHサービスを有効にする
- Webインターフェースで左メニューから「System Settings」→「Services」を選択。
- 「SSH」サービスを「ON」にし、必要に応じて「Permit Root Login」を有効にします。
- SSHクライアントで接続
- Windowsの場合: PuTTYを使う。
- macOS/Linuxの場合: ターミナルを開き、以下のコマンドを実行。bashコードをコピーする
ssh root@<TrueNASのIPアドレス>
- 管理者アカウントのパスワードを入力してログインします。
ステップ2: 現在のプールの状態確認
以下のコマンドを実行し、既存のプールがどのように構成されているか確認します。
zpool status
出力例:
pool: tank
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
ada0 ONLINE 0 0 0
- 確認ポイント:
- プール名(例:
tank
)。 - 現在のディスク(例:
ada0
)。
- プール名(例:
ステップ3: 新しいディスクの識別
新しいディスクが認識されているか確認します。
lsblk
出力例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 4.0T 0 disk
└─sda1 8:1 0 4.0T 0 part /mnt/tank
sdb 8:16 0 4.0T 0 disk
- 既存ディスク:
sda
- 新しいディスク:
sdb
ステップ4: ミラーリング構成に変更
以下のコマンドで新しいディスクをミラーとして追加します。
zpool attach tank ada0 sdb
- 解説:
tank
: プール名。ada0
: 既存のディスク。sdb
: 新しく追加するディスク。
実行後の確認:
zpool status
期待する出力例:
pool: tank
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada0 ONLINE 0 0 0
sdb ONLINE 0 0 0
ステップ5: Resilveringの進行確認
Resilvering(データ同期)が自動的に開始されます。進行状況を確認するには以下のコマンドを実行します。
zpool statu
s
出力例:
pool: tank
state: ONLINE
scan: resilver in progress since Thu Jan 5 10:00:00 2025
2.00T scanned out of 4.00T at 500M/s, 2h30m to go
- Resilveringが完了するまで待機します。
これでしばらく待っていればミラーリング完了。