背景
サーバーから情報を自動的に取得するタスクがあります。ただし、ハードウェアまたはソフトウェアRAIDコントローラが見つかりません。
質問
各ベンダーはコントローラーを異なる方法で説明しているため、表示されているブロックデバイスをRAIDと明確に定義することは困難です。
この問題を解決する最善の方法は、組み込みのLinuxユーティリティを使用することだと思います。
私の仮定が間違っていたら教えてください。
答え1
デバイス名を使用すると、2つの方法でこれを実行できます。今は標準化されているからdmidecode
またはlshw
orコマンドで検出
返品cat /proc/mdstat
返品lspci -knn | grep 'RAID bus controller'
またはlshw -class disk
さまざまなソリューションがあり、もちろん、メーカーの外部ツールを使用する専用のソリューションもあります。
答え2
ベンダー間(およびベンダー内)には多くの違いがあるため、私が選択した方法は2つの主要なツールを使用することです。 RAIDをpingするlspci
ことです。したがって、最初にそのコマンドを使用して目的の出力を返さない場合は、同じpingで実行します。このアプローチは、現在Hewlett PackardとMegaRAIDコントローラを搭載した20以上のシステムで動作します。dmesg
grep
lspci
dmesg
grep