
私たちにはリモート サーバーがあります。そこには 80 台の HDD があり、私と通信している誰かが物理的にアクセスできます。
HDD のエラーをデバッグしていますが、物理リンク (phy) に関する情報しかありません。つまり、使用しているソフトウェアからは次のような情報しか得られません。
PHY 46 の PHY エラー
この PHY 46 が物理的にどこにあるかを知る方法はありますか? つまり、HDD のスロットのような場所ですか? PHY がどのように機能するかについて調査しました (少なくとも、私が使用している SAS コントローラーは ASR 8805 Adaptec です)。私の理解では、PHY は SAS コネクターの内部にありますが、もっと簡単な説明をしていただけるとありがたいです。
答え1
なぜこれがいつも難しいのかはわかりません。私はスクリプトを使用してディスク選択ライトを点滅させます。sda をディスクの名前に変更します。
while true; do sleep 1; dd if=/dev/sda of=/dev/null bs=1M count=12 >/dev/null 2>&1; done
リンクがダウンしている場合は、これが機能しない可能性がありますが、隣のディスクを点滅させることはできる可能性があります。
答え2
これは真のハードウェア RAID コントローラのように見えるため、OS が認識できるディスク デバイスは/dev/sda
、実際の物理ディスクではなく、RAID 論理ディスクを参照します。したがって、dd
stark が提案したコマンドは、その RAID セット上の一部またはすべてのディスクを点滅させるだけです。
ハードウェア RAID コントローラを使用する場合、RAID コントローラの内部状態にアクセスでき、たとえば、ホットスワップ エンクロージャ内にある特定のディスクのライトを点灯/点滅させることができる、コントローラ ベンダーのユーティリティが必要になります。
Adaptec ASR 8805 の場合、問題のユーティリティは「Storage Manager」であり、そのコマンドライン バージョンは と呼ばれるようですarcconf
。
これを使用すると、次のようなコマンドで RAID コントローラの完全な構成のリストを取得できます。
# arcconf getconfig 1
(1 は、同じサーバーに複数の類似のコントローラがインストールされている場合、構成リストを表示する Adaptec RAID コントローラの番号です。)
カーネルが使用する「phy」番号は、ユーティリティが使用するデバイス番号と同じ場合とそうでない場合がありますarcconf
。そのため、構成リストを読み、各物理ドライブのリストされたステータスと、そのチャネルおよび ID 番号を確認する必要があります。次に、次のようなコマンドを使用して、その特定のディスクのライトを点滅させることができます。
arcconf identify 1 device <channel> <id>
このコマンドは、任意のキーを押して点滅を停止するまでライトを点滅させます。