個人的なメモを兼ねて記事にまとめました。
やりたいこと
Macに搭載されたSSDの状態を確認したくなりました。具体的にはS.M.A.R.T.情報を表示させて、SSDの劣化状態を確認しようというものです。
WindowsであればCrystal Disk Infoという有名フリーソフトがあるため、手軽に搭載されたSSDやHDDの状態を確認できます。
しかし、macOSで同様の機能を持ったソフトウエアを探そうとすると、有料のものばかりで困ってしまいました。
そこで無料でなんとか確認する方法はないか?と調べたところ、ターミナルを用いてS.M.A.R.T.情報を表示させることができました。
動作環境
今回、この作業を行なった環境は以下のとおりです。
- iMac 21.5inch (late 2012)
- macOS 10.15.3 Catalina
- 1TB FusionDrive
すでにメインPCとしての役目をMacBook Proに譲っており、家庭内でNASとして使おうと考えました。容量としても1TBでは足らないので、次のSSDも外付けして併せて用います。
- PLEXTOR製 M5 Pro 512GB
- ケース:Logitec製
このSSDはそもそもが知人から譲ってもらったものですし、自分でもWindowsを入れて別のノートPCで使っていました。
ストレージとして使うにあたり、iMacと外付けSSDの劣化が心配です。FusionDriveにはHDDも含まれていますが、落下などしたことがないので大丈夫だと思います。
診断ツールの準備
ツールのインストール
今回はSmartmontoolsを使います。Homebrewでインストールします。
brew install smartmontools
※最初にHomebrewをインストールする必要がありますが、これも1行のコマンドを実行するだけなので公式サイトを参考にやってください
インストール後、brew list
を実行してsmartmontools
が一覧に出てきたら完了です。
追加プラグインの導入
Smartmontoolsはインストールしただけでは外付けドライブの情報を表示させることができません。そのため、追加プラグインで機能を拡張する必要があります。
まず、USB接続されたドライブでS.M.A.R.T.を有効化させるため、OS-X-SAT-SMART-Driverを入れようとしました。しかし、GitHubで公開されているものは3〜5年前で更新が終わっており、うまくインストールできませんでした。
というのも、macOS 10.15 Catalinaから開発者の署名がないソフトのインストールが禁じられてしまったようです。
そのため、Binary Fruit社が販売しているDrive DXのサイトを参考に、同社が開発元として署名されているバージョンをインストールしました。
ダウンロード元:DriveDx - external USB and FireWire drive diagnostics support
利用したバージョンはdriver v0.8 (recommended, already included in DriveDx)
のうち、for OS X El Capitan 10.11+
というもの。
このインストールではmacOSのシステム環境設定内での作業も必要です。同じくBinary Fruit社の手順書(英語)を見ながら、作業をしていきます。以下、拙訳。
- 「システム拡張機能がブロックされました」みたいな通知が出る
システム環境設定 → セキュリティとプライバシー
に進む- 下部に表示されているソフトの「許可」をクリック
この許可を与えるボタンは最初の通知が出たあと30分間しか表示されないので注意が必要です。
設定が終了したら、一度、システムを再起動します。
診断の実行
ディスク番号を知る
S.M.A.R.T.情報を確認するためには、まずはディスクの番号を知る必要があります。
まずはターミナルを起動し、diskutil list
を実行します。すると内蔵ドライブや外付けディスクなど接続されているディスクが一覧で表示されます。
行頭の/dev/disk0
というのがディスク番号です。
診断する
続いて、実際の診断を行います。
smartctl -a ※ディスク番号※
を実行してみます。前の手順で調べたディスク一覧で容量から推測すると、
/dev/disk0 = SSD /dev/disk1 = HDD /dev/disk2 = SSD + HDD → FusionDrive /dev/disk3 = 外付けSSD /dev/disk4 = 外付けSSD(コンテナ)
でした。
とりあえず、disk0とdisk3について調べてみます。なので、まずはsmartctl -a /dev/disk0
を実行すればOK。
ダーンッ!と情報が表示されます。
もし、末尾に
SMART Disabled. Use option -s with argument 'on' to enable it. (override with '-T permissive' option)
という文言が出てきたら、S.M.A.R.T.診断が読み取れていないということなので、smartctl -s on ※ディスク番号※
を実行します。
結果の見方
TBW=総書き込みデータ量
SSDは消耗品です。製品や使用環境によって大きく異なるとは思いますが、書き込めるデータ量に限界があります。
その限界とは「500GB」のように製品パッケージに記載されたような保存容量ではなく、累計書き込みデータ量で測ることが可能です。これをTotal Bites Written( = TBW、総書き込みデータ量)と呼びます。
データ操作 | 保存容量 | TBW |
---|---|---|
書込:+50GB | 50GB | 50GB |
書込:+100GB | 150GB | 150GB |
削除:-70GB | 80GB | 150GB |
書込:+150GB | 230GB | 300GB |
このようにデータを削除してSSDの容量を空けてもTBWは減りません。TBWは増える一方なのです。
……と前置きが長くなりましたが、先ほど表示したS.M.A.R.T.情報からTBWを読み解きたいと思います。
確認するのは、表のようになっている部分の241 Host_Writes_32MiB
にあるRAW_VALUE
です。これは32MB書き込むごとに増えていく数値なので、これを単純に32倍した数字の単位を変換します。
これは外付けSSD(PLEXTOR製 512GB)のものですが、RAW_VALUEが54278
とありますので、
54,278MB × 32 = 1,736,896MB ≒ 1.66TB
となり、このSSDには初回起動時から現時点まで約1.66TBを書き込んだことがわかりました。
しかし、問題なのはこのSSDはメーカーがTBWを公表していないことです。なんだよ、自信ないのかよ。
ていうか、iMac内蔵のSSDについては241 Host_Writes_32MiB
をはじめとして、書き込みデータ量に関する数値が出てきません。
そのため、このTBWではiMacのFusionDriveも外付けSSDも正確な劣化具合が判定できませんでした。
まぁ、500GB前後のSSDについてTBWは少なくても60TBほどはありそうなので、1.66TBではあまり気にする必要はなさそうです。
MTBF=稼働時間
TBWで判断できないなら、仕方ないです。総稼働時間から推測してみましょう。
SSDには平均故障間隔( = MTBF)というのがあります。簡易に説明すれば、故障するまでにかかる稼働時間です。
ここで先ほどのS.M.A.R.T.情報にある9 Power_On_Hours
を見てみると、
機種名 | MTBF |
---|---|
iMac (disk0) | 10,897 |
SSD (disk3) | 771 |
とあります。
iMacのほうはAppleの秘密主義に阻まれて寿命がわかりません。さすがに1万時間程度では壊れることはないと思いますが、少しモヤモヤしますね。
一応、PlextorのSSDはMTBFが公表されており、240万時間とされています。まだ771時間しか稼働していないので、当分の間は大丈夫だと考えられます。
ではでは。