購入 ¶
弊宅では調達基準として下記の HomeLab に書いてある通りである
要約するとエンタープライズグレードで HDD なら書き込み耐性 550TB/day 、AFR 0.5%以下、 SSD/NVMe なら 600TBW/TB 程度の書き込み耐性があることをスペックシートで確認し購入とする。
また Backblaze が HDD 型番ごとの故障統計が出ているため購入時は参考にする。
これを見て、寿命が大まかに判断できるので質のいい中古品ならまだ利用できる可能性が高く低価格で購入できる可能性がある。
検品 ¶
検品としては S.M.A.R.T で定義されている short テスト long テストを実行し PASS することを条件としている。
理由は、 QNAP と Synology のベンダー(代理店) が long テストを月1回の実施を推奨していること、 ArchWiki で記載の通り short はデバイスの物理的稼働や電気的問題の検出で long は全セクターをするようなので実施する。
テストを実行する
デバイスが実行できる自己テストには3種類あります (どのテストもユーザデータに対して安全です):
- Short: デバイスの問題を検出する可能性の高いテストを実行します。
- Extended 或いは Long: このテストは short チェックと同じですが、時間制限が無く、完全なディスクサーフェス検査を行います。
- Conveyance: デバイスの輸送中にダメージが発生したかどうかを調べます。
― S.M.A.R.T. - ArchWiki
| 方法 | 所要時間 | 説明 |
|---|
| クイック テスト | 短い | Basic診断テスト。 |
| 拡張テスト | 長い | 詳細な診断テスト。 より正確な結果を得るには、少なくとも月に 1 回実行することをお勧めします。 |
― SMART テストに関するよくある質問。 - Synology ナレッジセンター
簡易テスト
ディスクの電気的、機械的特性、ディスク表面のごく一部をテストします。
所要時間は、約 1 分です。
HDDメーカーにより異なりますが、一般的には週に1回または、2週間に1回など、定期的に実施いただくことを推奨します。
完全テスト
ディスクの電気的、機械的特性、ディスク表面全体をテストします。
所要時間はストレージ環境によって変わりますが、テスト完了まではおよそ数時間かかります。
完全テストを選択し、テストをクリックしていただくと所要時間の目安が表示されます。
HDDメーカーにより異なりますが、一般的には1ヶ月に1回
または、数ヶ月に1回実施いただくことを推奨します。
― Q&A|サポート|フォースメディア
挿入したストレージの確認 ¶
標準的には、ストレージサーバーの空きスロットに刺して smartctl を実行するのが一番早い
インストール
1
2
3
4
| sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y smartmontools bash-completion
|
挿入したストレージの MODEL, SERIAL が一致することを確認する
1
2
3
4
5
| > lsblk -o NAME,HCTL,MODEL,SERIAL | grep -E '^s'
NAME HCTL MODEL SERIAL
sdg 4:0:0:0 INTEL SSDSC2KG480G8 PHYG101002PCXXXXXX 1
sdh 16:0:0:0 INTEL SSDSC2KG480G8 PHYG106602DGXXXXXX 2
sdi 12:0:0:0 INTEL SSDSC2KG480G8 PHYG1065009NXXXXXX 3
|
smartctl の指標確認 ¶
Seagate 性 HDD の場合 SMART の値が偽装され、新品として販売されるケースが確認されている。
記事によれば FARM(Field Access Reliability Metrics) にも Power on Hours が記録されるため比較すれば偽装を確認できる
テスト時間の確認 ¶
テスト完了後に確認するでも良いのだが、 smartctl long テストは容量によっては半日かかることも多いため予定時間を確認しておくべきである。そのため先に挿入時の状態を確認する。
Extended self-test routine に long テストにかかる時間が書いてある、今回の場合は 2分である
1
2
3
4
5
6
7
8
9
10
| > smartctl -a /dev/sdg | grep -A2 'self-test routine'
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
--
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x003d) SCT Status supported.
|
smartctl long の実行 ¶
smartctl -t long <device> で実行する。
1
2
3
4
5
6
7
8
9
10
11
| > smartctl -t long /dev/sdg
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.8.12-11-pve] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Wed Jul 16 22:31:24 2025 JST
Use smartctl -X to abort test.
|
smartctl テストの確認 ¶
smartctl -l selftest でテスト結果のみを出力できる
1
2
3
4
5
6
7
8
| > smartctl -l selftest /dev/sdg
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.8.12-11-pve] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 31446 -
|
Topic
SMART のセルフテストを実行するとドライブの起動時間を元にどの時点なのか記録される
例えば上の例では LifeTime(hours) と smartctl -a /dev/sdg で表示される Power_On_Hours がほぼ同一になるはずである。
これが大きくズレている場合は、 SMART 情報がリセットされている可能性がある。
HDD ¶
SSD/NVMe ¶
Secure Erase ¶
あとは慎重に確認し Secure Erase を実施しておくことで検品処理完了している
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| > lsblk -o NAME,HCTL,MODEL,SERIAL
NAME HCTL MODEL SERIAL
sdg 4:0:0:0 INTEL SSDSC2KG480G8 PHYG101002PCXXXXXX 1
sdh 16:0:0:0 INTEL SSDSC2KG480G8 PHYG106602DGXXXXXX 2
sdi 12:0:0:0 INTEL SSDSC2KG480G8 PHYG1065009NXXXXXX 3
> hdparm -I /dev/sdX | grep -A8 -E 'Security:'
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
|
Secure Erase を利用するには hdparm の結果が not frozen である必要があります。
今回の SSD では enhanced erase にも対応し消去時間は 2min であることが確認できました。
Important
この後の手順を実行するとデータは復元出来ません
P@ssW0rd は Secure Erase が完了すると NULL に設定されるため、作業終了まで使います
1
2
3
4
5
| > hdparm --user-master u --security-set-pass P@ssW0rd /dev/sdX
security_password: "P@ssW0rd"
/dev/sdX:
Issuing SECURITY_SET_PASS command, password="P@ssW0rd", user=user, mode=high
|
コマンド実行後、再度確認すると not enabled から enabled へ変更さたことが確認できる。
1
2
3
4
5
6
7
8
9
10
11
| > hdparm -I /dev/sdX | grep -A8 -E 'Security:'
Security:
Master password revision code = 65534
supported
+ enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
Security level high
2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
|
次のコマンド完全にデータを消去する。 enhanced に対応しているため --security-erase-enhanced を利用する
1
2
3
4
5
| > hdparm --user-master u --security-erase-enhanced P@ssW0rd /dev/sdX
security_password: "P@ssW0rd"
/dev/sdX:
Issuing SECURITY_ERASE command, password="P@ssW0rd", user=user
|
完了すると下記のように変化し not enabled に変更されます。これで完了です。
1
2
3
4
5
6
7
8
9
10
| > hdparm -I /dev/sdX | grep -A8 -E 'Security:'
Security:
Master password revision code = 65534
supported
- not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
|
参考情報 ¶