コンテンツにスキップ

SSD ヘルスチェック 運用

このページは SSD ヘルスチェック(概要ハブ) の派生で、CLI と表示モード・設定(CONFIG_DB / YANG の有無) に絞って整理する。アーキテクチャは ssdhealth-design-concepts.md、API / デーモン内部は ssdhealth-design-internals.md、制限は ssdhealth-design-limitations.md を参照。

1. CLI

show platform ssdhealth [verbose|vendor]

3 つの表示モード1:

Brief(既定)

admin@sonic-switch: ~$ show platform ssdhealth
Device Model : InnoDisk Corp. - mSATA 3ME
Health: 72.9%
Temperature: N/A

Verbose

FW Version / Serial Number / Capacity / Power On Hours / Power Cycle count 等を追加表示。

Vendor

ベンダ提供のユーティリティ生出力をそのまま貼る。例えば InnoDisk なら iSmart V3.9.41 の出力(SMART attribute id とその raw value 一覧、P/E Cycle、Lifespan、bad block 数等)が出る1

2. コマンドのチェーン

flowchart LR
    USER[user] --> SHOW["show platform ssdhealth\n(show/main.py)"]
    SHOW -->|exec| UTIL["ssdhealth -d /dev/sdX -v / -e"]
    UTIL --> BASE["SsdBase\n(sonic_platform_base/sonic_ssd)"]
    BASE --> VENDOR["SsdUtil\n(device/<vendor>/platform/plugins/ssdutil.py)"]
    BASE -.fallback.-> SCTL[smartctl]
    VENDOR --> ISMART["iSmart / SmartCmd 等\nベンダ純正"]
    UTIL --> OUT[stdout]

show platform ssdhealth は内部で ssdhealth -d /dev/sdX [options] を呼ぶだけのラッパ(HLD 仕様)。現行 master では ssdutil への置き換わりが起きている(詳細は 限定事項ページ 参照)1

3. 設定

関連する CONFIG_DB

該当エントリは HLD 内で定義されていない。CLI / プラグイン内で完結する読み出し専用の機能。

関連する CLI

Command 用途
show platform ssdhealth 簡易表示
show platform ssdhealth verbose 詳細表示
show platform ssdhealth vendor ベンダツール生出力
ssdhealth -d /dev/sdX [-v|-e] 内部ラッパが呼ぶスクリプトを直接実行

4. 確認コマンド

# SSD 健全性情報と Wear level
sudo show platform ssdhealth
sudo smartctl -a /dev/sda | head -40
redis-cli -n 6 hgetall 'SSD_INFO|/dev/sda'

# ssdhealth が書き込む STATE_DB
sonic-db-cli STATE_DB KEYS 'SSD_INFO|*'
sonic-db-cli STATE_DB HGETALL 'SSD_INFO|/dev/sda'

# 直接 SMART を読む
sudo smartctl -A /dev/sda

5. 関連ページへの導線

引用元

制限事項

HLD と実装の乖離

  • HLD と実装の差分は本ページの章本文で逐次注記している
  • 追加の境界事項は本セクションで列挙する

確認コマンド

SSD health operations の動作確認に使う代表コマンド:

# 基本動作確認
show platform summary
show version
docker logs --tail 200 $(docker ps --format "{{.Names}}" | head -1)

  1. sonic-net/SONiC doc/ssdhealth/ssdhealth_design.md @ 49bab5b5ff0e924f1ea52b3d9db0dfa4191a7c06