非公式
このページの内容
  1. 01フェーズ 1:メモリ
  2. 02フェーズ 2、ステップ 1:カーネルログ、SMART、HCL
  3. 03フェーズ 2、ステップ 2:SMBまたはiSCSI
  4. 04フェーズ 2、ステップ 3:DriveTimeでのDisk Health Scan
  5. 05フェーズ 2、ステップ 4:断片化、使用率、ディスクができること
  6. 06フェーズ 3:ネットワーク
  7. A基礎知識:NAS内のディスク

NASパフォーマンスのトラブルシューティング:読み書き速度、ステップバイステップ

NASの読み書きが遅い原因は、いくつも考えられます。データを壊したりユニットを止めたりするメモリ、故障しかけたディスク、不良なケーブルやバックプレーン、プロトコル、断片化した、またはほぼ満杯のボリューム、そしてネットワークです。このガイドでは、StorageDiag Workbench & Utilitiesを使い、ハードウェアから順にこの順番で確認します。

Workbenchには2つのデスクがあります。Utilitiesは、Workbenchをインストールした NAS 自体を対象にします:DriveTime Analyzer、NetScope、MemHound、ライブログです。Workbenchは診断バンドルを読み込みます:そのバンドルのログを使うカーネルログとDr. Traceです。2つはスタートメニュー(Workbench | Utilitiesと書かれた帯)で切り替えます。切り替えると、ページが再読み込みされます。

  1. メモリ何よりもまずMemHound
  2. ログとSMARTリンクエラー、ディスクの健全性、HCL
  3. SMBまたはiSCSI1つのプロトコルまたは両方
  4. ディスクスキャンとマップDriveTime:速度、レイアウト、使用率
  5. ネットワークNetScopeとiperf3

01フェーズ 1:メモリ

まず、不安定なハードウェアを除外します。メモリモジュールに欠陥があると、扱うデータが壊れたり、ほかに説明のつかない速度低下が起きたり、ユニット全体が止まったりすることがあります。最初の記事で説明されているようにRAMをテストしてください:MemHoundを使用してQNAPサーバーでRAMを適切にテストする方法。MemHoundのBenchmark and Qualityは、メモリ帯域幅も測定し、取り付けたモジュールのJEDEC規格値と比べます(その記事のセクション04)。NASのメモリに関する特記事項(モジュールの混在、デュアルチャネル、ECC、メモリが空いているように見えるのにOOMエラーが発生する理由)については、その記事のセクション05:NASのRAMをご覧ください。

02フェーズ 2、ステップ 1:カーネルログ、SMART、HCL

カーネルログとDr. Trace

  1. NAS自体で、Utilitiesに切り替え、Kernel Log · LIVEまたはDr. Trace · LIVE(スタートメニュー、Live logs)を開きます。判定とログ分析については、Dr. Traceのライブウィンドウに何をするかが表示されます:Run Audit, then switch to the Workbench desk。顧客から送信されたログを使用する場合は、Workbenchデスクにその診断ZIPをアップロード(Upload Diagnostic ZIP)し、Kernel Log (dmesg)とDr. Trace (Diagnosis)を開きます。
  2. カーネルログで、検索を正規表現(abc / .*)に切り替え、失敗しているリンクの行を探します:hard resetting link|10B8B|SError|giving up|link is slow|exception Emask。
  3. Workbenchがそれらの行に付けた印を読みます。Workbenchは、libataのリンクリセット(hard resetting link、link is slow)、カーネルが諦めたポート(reset failed, giving up)、SATA PHYおよびシグナルエラー(10B8B、Dispar、PHYRdyChg)、タイムアウト後にオフになったNCQ、速度を落として動いているSATAリンクに印を付けます。
  4. Dr. Traceで、インシデントを開きます。Dr. Traceは、同じ障害の繰り返しを(切断して再接続するドライブも含めて)1つのインシデントにまとめ、考えられる原因の割合をドライブ、ケーブル、バックプレーン、エキスパンダーに振り分けます。
Kernel Log (dmesg)、顧客のバンドル。ポートata6は SError: { RecovComm PHYRdyChg 10B8B Dispar } をログに記録し、Backplane Communication Error および SATA 10B8B Signal Error とマークされ、続いて hard resetting link となります。さらに下では、ata10は reset failed, giving up で終わっています。カーネルがそのポートを切り離しました。ユニットの名前とシリアル番号はドットで隠されています。
Dr. Trace、同じバンドル。Drive 12のパスにおけるシグナルインテグリティ障害で、229日間に402回確認され、1つのインシデントとして保持されています。考えられる原因:バックプレーンとオンボードSATAコントローラーが59%、ケーブルが35%、ドライブが6%。判断の根拠となったログ行も表示されています。
動画 · 0:49. libataエラーを検索した診断バンドルのカーネルログ、次にDr. Traceとそのシグナルインテグリティインシデント Kernel Log (dmesg) · Dr. Trace · 顧客のバンドル、名前とシリアル番号はマスクされています

SMART、HCL、およびドライブクラス

  1. NAS自体で、DriveTime Analyzer(Utilities)を開きます。Healthタブは、各ドライブの1時間ごとのSMART/FARM履歴を保持し、それをCritical、Warning、Infoの判定に変換します。左側のドライブ一覧では、各ドライブに点で印が付きます。
  2. ドライブを選び、View SMARTをクリックします。SMARTウィンドウには、各属性(Current、Worst、Threshold、Raw value)とディスク全体の判定(OK、WARNING、またはCRITICAL)がリストされます。
  3. ドライブのカードにある2つのチップを確認します。HCLチップは、ドライブをこのNASモデルのQNAP互換性リストと比較します。HCL ✓はリストされていること、HCL ✗はこのモデルではリストされていないこと、HCL —はどのNASのリストにもないことを意味します。クラスチップは、Desktop、NAS、Enterprise、Surveillance、Archive、またはBlacklistを示します。デスクトップドライブには Consumer drive — not recommended for 24/7 NAS use とマークされます。

クラスは、寿命だけでなく速度にも関係します。コンシューマー向けSSDは、キャッシュがいっぱいになるまでしか高速に書き込まないことが多く、その後は持続的な負荷の下で急激に遅くなります。NASでは、バースト(瞬間的な速度)よりも、安定した読み書きが重要です。

Health、故障中のディスクがあるNAS。ベイ14のSeagateは、369個の再割り当てセクター(reallocated sectors)により Critical となっており、アクティビティリストには毎日 back up and plan replacement が繰り返されています。シリアル番号はドットで隠されています。
SMARTウィンドウの同じディスク。 HCL ✓ および Enterprise:このNASに適したドライブですが、Reallocated_Sector_Ct が369であり、依然として CRITICAL です。
動画 · 0:45. DriveTimeのHealthタブにある故障中のディスク、次にSMARTウィンドウにあるそのカード:HCL、ドライブクラス、CRITICAL DriveTime Health · SMARTウィンドウ · シリアル番号はマスクされています

ログにリンクエラーが表示されたり、SMARTに警告が表示されたりした場合は、他の何よりも前にディスクに対処してください。HCLに載っているか、NASまたはエンタープライズ向けドライブであるか、正常であるかを確認してください。ディスクは完全に故障する前に密かにデータを損傷する可能性があるため、ディスクが切り離されるまで待たないでください。

03フェーズ 2、ステップ 2:SMBまたはiSCSI

ハードウェアを除外したら、速度低下が特定のプロトコルによるものかどうかを調べます。SMB経由でのみ発生するのか、iSCSI経由でのみ発生するのか、それとも両方で発生するのか? クライアントがiSCSIしか使用できない場合でも、チェックをスキップする理由にはなりません。原因を絞り込むために、別のクライアントからSMB経由でもテストしてください。

  1. Windows ServerクライアントでiSCSIのみ:以下のコマンドを使用して、そのWindowsホストでODX(Offloaded Data Transfer)をオフにし、再起動して再度テストします。これは最も手早くできる確認であり、分析は必要ありません。バンドルにiSCSIターゲットコマンドのアボート(中断)が表示されている場合、Workbenchも同じアドバイスを提供します。
  2. 両方のプロトコル:原因はプロトコルより下にあります。ディスクに進んでください。
# 管理者としてPowerShellを実行。0 = ODXオン(デフォルト)、1 = ODXオフ
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode

# ODXをオフにしてからWindowsを再起動
Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode -Value 1

# オンに戻す
Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode -Value 0
動画 · 1:42. SMBが切断され続ける:共有とトラフィックを読み取る NetScopeパケット · SMB2

04フェーズ 2、ステップ 3:DriveTimeでのDisk Health Scan

CrystalDiskMarkなどの外部ベンチマークの前に、NAS自体からディスクを測定します。DriveTimeのDisk Health Scanは、ボリュームの背後にあるディスクに負荷をかけ、各ディスクをピア(同等のディスク)と比較してスコアリングします。

  1. DriveTime Analyzerを開き、Speedタブを開いて、タイトルバーでボリュームを選択します。
  2. テストを選択します。ボリュームテスト(シーケンシャルおよびランダムな読み取りと書き込み、50/50ミックス、または4つのフェーズすべてとSMARTを含む FULL REPORT)は、そのボリューム上のテンポラリフォルダー内にのみテストファイルを書き込み、その後削除します。Read-only disk scan は、生のディスクをそれぞれ単独で読み取り、その後すべて一緒に読み取りますが、何も書き込みません。
  3. ▶ Analyzeをクリックします。各ディスクについて、スキャンはレイテンシ(中央値、p95、最大値)、使用率、IOPS、キューの深さ(queue depth)を報告し、OK、WATCH、またはSUSPECTとマークします。
  4. Save report (.md)をクリックします。レポートはPublic共有に report-ioutils-storagediag-utilities-<date>-<time>.md として保存され、その横に -trace.csv が保存されます。保存したレポートは、スタートメニューの Disk reports に一覧表示されます。
Speed、実行前。上に各デバイスのライブawait、その下にDisk Health Scanのフォームがあります。フォームでは Read-only disk scan が選ばれていて、その下に所要時間が表示されています。
動画 · 1:26. ボリュームが書き込むもの、およびその下のディスクが実際にできること DriveTime IO Analyzer · サービス停止

awaitの読み方

1つのディスクでawaitが高いからといって、それだけでそのディスクが故障しているわけではありません。awaitは、リクエストがキューに入れられてから処理されるまでの時間です。アレイのI/Oをほかのディスクより多く受け持つディスクは、仕事が多い分だけ待ち時間も長くなります。そのため、スキャンはこうしたディスクをサービス時間で判定し、その旨を書き添えます。以下のレポートでは、故障しているディスクの横にある健全なディスクに、ランダム読み取りフェーズでまさにその注記が付いています:carries 62% of the array's I/O (1.6× peer IOPS) — its await and queue are load, not a fault。その逆も起こり得ます。awaitは普通でも、転送速度がほかのディスクよりはるかに低いディスクは、表に出にくい機械的な障害を抱えている可能性があります。だからこそ、読み取り専用スキャンは、各ディスクを単独で読み取るだけでなく、すべて一緒に読み取るのです。

レポートとその判定

レポートは、人がすぐに読める判定から始まります。目立つディスクがない場合は OK、最も弱いディスク(weak link)と、その成績が最も悪かったフェーズを示す場合は WARNING または CRITICAL です。次に、ディスクごとの表、実行前後のSMARTの記録、使用されたしきい値(thresholds)、および1秒ごとのトレースが続きます。ストレージの速度はNASの負荷によって変動するため、スキャンを複数回実行し、異常が繰り返されるかどうかを確認してください。各レポートのトレースにより、2つの実行を1行ずつ比較できます。

Reportsウィンドウの保存されたレポート。 CRITICAL — Weak link: sdf (slot 14), worst in Sequential read:不安定なレイテンシ(p95が自身の中央値の12倍)、369個の再割り当てセクター、および実行中に上昇したG-senseカウント。これは、上のHealthタブのディスクです。
動画 · 1:55. 1つのディスクがアレイ全体を遅くしている DriveTime IO Analyzer · フルレポート · SMART

知っておくべきこと。レポートはプレーンなMarkdownテキストなので、AIアシスタントはそのまま読み取ることができます。貼り付けて何が目立つか尋ねれば、人が見逃すようなパターンを指摘してくれるかもしれません。QNAPサポートに渡すのも、この同じファイルです。Reportsウィンドウからダウンロードし、SMARTの読み取り値とカーネルログを含むNASの診断ZIPと一緒にチケットに添付してください。ログ自体については、Workbenchに独自のAIログ分析(Kernel LogおよびDr. Traceの ✨ ボタン)があり、管理者がSettingsに保存したキーを使用して、ログから作ったプロンプトをOpenAI、Claude、またはGeminiに送信します。

05フェーズ 2、ステップ 4:断片化、使用率、ディスクができること

ハードディスクの場合、データシートの数値が日常的な使用で達成されることはめったにありません。

  1. 断片化。 DriveTimeの Disk Map タブには、ボリュームまたは共有のファイルがどのように配置されているか、およびその下の空き領域がどの程度細かく分断されているかが表示されます。タイトルバーでボリュームを選択し、Scan をクリックします。Sample は設定した時間制限まで読み取り、Full はツリー全体を読み取ります。Fragmented files のスコアは、0〜30なら断片化の問題なし、31〜55ならやや断片化、56以上なら重度の断片化を表します。スキャンは読み取るだけで、ブロックを移動することは決してありません。
  2. 使用率。 ボリュームは、ライブデータとスナップショットを合わせて、80%未満に保ってください。Capacityウィンドウは、ボリュームが80%を超えると警告を発します。QuTS heroでは、Disk Mapがプールバーに80%と90%をマークします。約80%を超えると、ZFSが書き込みごとに置き場所を探す手間が増え、プール上のすべての共有で書き込みが遅くなります。
  3. デフラグしない。 スナップショットのあるボリュームでは、デフラグツールがブロックを1つ移動するたびに、古いブロックを持つスナップショットが期限切れになるまで、ストレージプールではその分の容量がもう一度使われます。そのため、スナップショットは移動した分だけ大きくなります。また、かかる時間やディスクの摩耗を考えても、それに見合う価値はありません。そのため、Workbenchにはデフラグボタンがなく、ボリュームを80%未満に保つことが解決策となります。
  4. ディスクができること。 現在の最も高速なハードディスクは、外側のトラックで約280 MB/sの定格です。内側のトラックや、断片化されたボリュームでは、その3分の1が一般的であり、読み取りと書き込みが混在する場合、1ディスクあたり100〜120 MB/sが現実的な日常の数値です。ボリュームの速度は、RAIDレベル、ディスクがどれだけ満杯で断片化されているか、およびそれがもたらすヘッドの移動量に依存します。

Disk Mapはレイアウトのみを表示します。ディスクが追いついているかどうかを確認するには、ワークロードの実行中にSpeedタブを監視し、Healthタブで各ドライブの履歴を確認してください。

95%が満杯のボリュームのDisk Map、ハードディスク1台、60秒間のサンプル。ほとんどの四角形は完全に割り当てられています。残された空き領域は大部分が小さな破片(赤)または分断された状態(琥珀色)で、少数の長い連続領域(緑)があります。この図では、ファイルリストは省略されています。
動画 · 0:35. このボリューム上のファイルは、実際どのくらい断片化されているのか? DriveTime Fragviewer · 空き領域マップ · ext4 & ZFS

06フェーズ 3:ネットワーク

ディスクが正常で十分に速いとわかったら、ボトルネックはネットワークである可能性があります。NetScopeはiperf3を使用してリンクを測定します。

  1. NetScope(Utilities)の Bandwidth タブを開き、Server をクリックします。ネットワークインターフェイスを選択します。iperf3リスナーは自動的に起動し(ポート5201)、ウィンドウを閉じると停止します。
  2. Workbench & Utilitiesを実行している2台目のNASで、NetScope、Bandwidth、Client の順に開き、このNASを選択して(または Manual にIPを入力して) Start Test を押します。Windows PCからは、Windows用のNetScopeクライアントを使用します:NetScope-latest.exe。リンクはNetScopeのタイトルバーにあります。
  3. テストで帯域幅が少なすぎることが示された場合は、NASのストレージを見るのをやめ、ネットワーク(スイッチ、ケーブル、ネットワークカード、ルーティング)に注目してください。
NetScope、Bandwidth、Server。 リスナーは、ウィンドウが閉じるまで、すべてのインターフェイス(ポート5201)で待機します。テスト用NASのアドレスはドットで隠されています。
動画 · 0:28. ネットワークかNASか? 2回のクリックでiperfを実行 NetScope · NetScope Windows

A基礎知識:NAS内のディスク

すべてのディスクがNASに適しているわけではありません。そのクラスによって、RAIDアレイで機能するか、それとも破壊するかが決まり、SMART属性によってあとどれくらい持つかがわかります。

デスクトップ用ディスクがRAIDに適さない理由

デスクトップ用ディスクにはTLER/ERCがありません。読み取りが困難なブロックに遭遇すると、RAIDコントローラーは約7秒しか待機しないのに対し、デスクトップ用ディスクは数分間も回復を試み続けます。その後、コントローラーは正常なディスクを故障したものとみなし、アレイから切り離します。アレイは無用に劣化(デグレード)し、危険なリビルドが必要になります。その上、24時間365日の定格ではなく、振動センサー(RV)もなく、年間の作業負荷(ワークロード)は数分の一です。

SMR対CMR:RAIDにとって重要な理由

CMRはトラックを並べて書き込みます。書き込みは高速で予測可能であり、これはリビルドが必要とするものです。SMRは屋根瓦のようにトラックを重ね合わせるため、上書きするたびにゾーン全体が書き換えられます。リビルドの絶え間ない書き込みの下では、ディスクのキャッシュがいっぱいになり、ディスクが数秒間停止してコントローラーのタイムアウトを超え、コントローラーはそのディスクを故障したとみなし、リビルドは数時間から数日へと延びます。RAIDとNASにはCMRディスクのみを使用してください。

ディスククラス
クラス対象RPM年間作業負荷RVセンサーTLERベイNASへの適性
NAS家庭とオフィス向けのNASユニット、24/7、軽中程度の負荷5400~180 TB制限ありはい8ベイまではい
NAS ProマルチベイNASユニット、仮想化、データベース7200~300 TBはいはい24ベイまではい
Enterpriseサーバー室、24ベイ以上のアレイ、極端な負荷7200~550 TB多軸はい制限なしはい
SurveillanceレコーダーとCCTV:多数のストリームのシーケンシャル書き込み5400/7200~180–550 TB一部モデルはいNVRカメラ用
Archive (SMR)コールドデータ、まれなシーケンシャル書き込み5400低いいいえいいえ—バックアップのみ
Desktop単一のPC、1日あたり数時間5400/7200~55 TBいいえいいえ1いいえ
SMART属性:WorkbenchのDriveTimeによるそれらの評価方法
ID属性意味警告 / クリティカル対処方法
5Reallocated_Sector_Ctスペア領域に移動された不良セクター。ディスクが故障するにつれて増加します≥ 1 / ≥ 50バックアップしてください。RAIDではリビルドが失敗する可能性があります
197Current_Pending_Sector再割り当てを待っている不安定なセクター≥ 1 / ≥ 5バックアップし、交換してください。多くの場合、5および198とともに増加します
198Offline_Uncorrectable読み取り不可能なセクター、回復不能≥ 1 / ≥ 1今すぐバックアップし、交換してください
187Reported_UncorrectディスクのECCで修正できなかったエラー≥ 1 / ≥ 10故障の強い兆候です。交換してください
196Reallocation_Event_Countディスクがセクターを移動した回数≥ 1 / ≥ 205と一緒に監視してください
10Spin_Retry_Count最初の試行でディスクがスピンアップしません(モーター、メカニズム)≥ 1 / ≥ 10焼き付き(動作停止)に近づいています。交換してください
188Command_Timeoutコマンドが制限時間を超え、ディスクがハングしています≥ 1 / ≥ 100ケーブルと電源を確認してください。増加する場合は交換してください
199UDMA_CRC_Error_CountSATA転送エラー:通常はディスクではなく、ケーブルまたはバックプレーンが原因です≥ 1 / ≥ 100ディスクを再装着し、ケーブルを交換してください。重要なのは、これが増加するかどうかです
194Temperature_Celsiusディスクの温度≥ 55 °C / ≥ 65 °C冷却と間隔を改善してください
NVMePercentage Used定格耐久性のうち使用された割合≥ 80 % / ≥ 100 %80%に達したら交換を計画してください
NVMeMedia and Data Integrity Errors回復不可能なNANDメディアエラー≥ 1 / ≥ 10バックアップし、交換してください
NVMeCritical Warningアラームビット:スペア、温度、読み取り専用モードいずれかのビット立っているビットはどれも深刻です

RAIDアレイでは、属性5、197、198が示すのは、1台のディスクだけの危険ではありません。リビルドによって負荷が高まり、2台目の弱いディスクが故障する可能性があり、そうなるとリビルドは失敗し、プール全体が失われます。早めに対応してください。Seagateディスクでは、属性1、7、および195は数百万単位のRAW値を示しますが、これは正常です。RAWではなく、THRESHに対するVALUEとWORSTを見てください。

SSDキャッシュと無停電電源装置(UPS)
モードシステム役割UPS
Read-only(読み取り専用)QTS頻繁に読み取られるデータをSSDにコピーします。オリジナルはディスクに残ります推奨
Read cache (L2ARC)QuTS heroSSDを読み取りキャッシュの第2レベルとして使います推奨
Write-only / read-writeQTS書き込みはまずSSDに入り、後からディスクに書き込まれますクリティカル
ZIL (SLOG)QuTS heroSSD上の同期書き込みのログ。常にミラーリングされますクリティカル

経験則。 ディスクに到達する前に書き込みがバッファで待機する場合(ライトバック、SLOG、電力損失保護 (PLP) のないディスクキャッシュ)、UPSは不可欠(クリティカル)です。キャッシュが読み取りのみを処理する場合、UPSは推奨となります。書き込みキャッシュは保護されたタイプ(RAID 1、5、6、または10)に保持し、Single、JBOD、またはRAID 0には絶対に配置しないでください。

メモリ(デュアルチャネル、ECC、モジュールの混在、症状、OOMエラー)については、RAMガイドの専用セクションに記載されています:NASのRAM。