TrueNASでディスク障害が起きていたので故障対応した記録

TrueNASでディスク障害が起きていたので故障対応した記録

TrueNASのコンソールを開いたらログに故障が上がっていました。
壊れたのは長年使った4TBのWDC WD40EFRX 68WT0N0。

Disk Type:HDD
説明:N/A
Model:WDC_WD40EFRX-68WT0N0
Transfer Mode:Auto
Rotation Rate (RPM):5400
HDD Standby:ALWAYS ON
Adv. Power Management:DISABLED
Enable S.M.A.R.T.:true
S.M.A.R.T. extra options:N/A

故障時の状態

気付いたのは右上のベルマーク
Criticalレベルでエラーが通知されていました。

Critical
Device: /dev/sdb [SAT], 9 Currently unreadable (pending) sectors.
2024-11-24 02:29:33 (Japan)
無視/cancel

Critical
Device: /dev/sdb [SAT], 174 Currently unreadable (pending) sectors.
2024-11-25 02:43:26 (Japan)
無視/cancel

Critical
Device: /dev/sdb [SAT], Self-Test Log error count increased from 0 to 1.
2024-12-01 00:42:14 (Japan)
無視/cancel

Critical
Pool Backup state is DEGRADED: One or more devices has experienced an error resulting in data corruption. Applications may be affected.
The following devices are not healthy:
Disk WDC_WD40EFRX-68WT0N0 WD-WCC4E76XE2YD is DEGRADED
2024-11-24 02:42:54 (Japan)
無視

2週間以上前にDEGRADEDしていたのに、それに気づく手段が無かったのは問題。
なにかチェックする方法考えないと。

その時の”ストレージ”ページ。

トポロジは生きてるけれどZFS Healthが赤。
[Manage Devices]を押すと約4TBのsdbがデグレイドしてるのがわかります。

これを入れ替えないとなのですが、TrueNASで交換したことないので手探りでやってみました。

故障ディスクの取り外し

まず物理交換の前に、故障ディスクをシステム上で取り外せるかやってみます。
まずは削除をクリック。

Out of spaceで失敗。
他のメンバーディスクに4TBの空きスペースがあれば書き出しを試みてくれそう。

もう一つのオフラインも押してみます。

今度もエラー。
なんで駄目かは分からないけれど、故障ディスクについて何も出来る事は無いようです。

物理交換後の再設定

諦めて故障したディスクを物理的に取り外し。
今HDD買うと高いので余っていた3TBと2TBの2本を追加し起動しました。

”ストレージ”ページを見るとOffline VDEVsとなり、今回壊れたBackupというPoolは完全に停止しています。

この状態で新しいディスクを追加できれば色々楽だったんだけど、希望通りには動いてくれないらしい。
謎のエラーが出てできて追加はできませんでした。

諦めて一度Backup Poolを消しました。
もともとStripeで組んでいたから1本壊れたらロストするのはわかっていたし。

右上の[エクスポート/切断]をクリックし、画面に従って3つをチェック。
もう一度[エクスポート/切断]を押してプールを削除します。

改めて新規同様に[プールの作成]をクリック。
無事だったsdaにはBackup Poolの情報が残っているけれど消えるよ、というメッセージが出ます。

The following disks have exported pools on them. Using those disks will make existing pools on them unable to be imported. You will lose any and all data in selected disks.
(次のディスクにはエクスポートされたプールがあります。これらのディスクを使用すると、ディスク上の既存のプールをインポートできなくなります。選択したディスクのすべてのデータが失われます。)

同意するのでSelect disks you want to useで、6TBのsdbにチェックをつけてNext。
LayoutでStripeを選択。Automated Disk Selectionでなにかディスクを1本選んでから、右のManual Disk Selectionを押す。

残りの追加するディスクをドラッグアンドドロップでSTRIPEのグループに入れます。

前の画面に戻ったら[Save And Go To Review]を押し最後に[Update Pool]をクリック。

Backup Poolとして再設定

あとは新規の構築と同じ。
Datasetの作成、Shareの設定、Replicationの設定をしていきます

Dataset

PCBackup:他Windowsクライアントからのデータ書き出しフォルダ。SMBアクセスされる
Replication:TrueNAS内でのバックアップ先。外部への公開はなし。

Shares

PCBackup = /mnt/Backup/PCBackupを公開する設定を行います。
Filesystem ACLの部分が今ひとつ掴みづらい。

編集:Purposeを”Private SMB Datasets and Shares”に設定
Edit Share ACL: Who>User,User>個人アカウント,Permission>FULL,Type>ALLOWED
Edit Filesystem ACL :変更なし

この設定で書き込めなかったのでTureNASを再起動したら書き込めるようになりました。
つまりFilesystem ACLは特になにもしていません。

Replication

”Data Protection”から”Replication Tasks”にてAddをクリック。
SourceとDestinationを選択。”Recursive”を忘れずにチェックしないとサブフォルダがバックアップされません。
あとはReplication Scheduleで”Run Automatically”と”スケジュール”にチェックをつけ、週次バックアップとして保存して完了。

無事復旧

今回は壊れたのがバックアップボリュームだったのでなんの後悔もなく丸っと消してやりなおせました。
これがM.2で組んだアクティブストレージ領域だったらちょっと困ったかも。
週一回レプリケーションは設定していますが、TureNAS内での書き戻しなどが発生するでしょう。
その時はまた調べてやってみます。

RAID1とか5,6とか耐障害性のあるストレージの交換もやってみたいな!

コメントを残す