web-dev-qa-db-ja.com

Linux内部からハードウェアRAID情報を検出できますか?

Linuxの内部にいる場合、lsblkから次の情報を取得できます(出力から削除された無関係なドライブ)。

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0   298G  0 disk 
sdb     8:16   0   2.7T  0 disk

ドライブを手動でサーバーから引き出すと、物理的に次のドライブを使用していることがわかります。

0  Seagate 320GB
1  Seagate 320GB
2  Hitachi 1TB
3  Hitachi 1TB
4  Hitachi 1TB
5  Hitachi 1TB
6  [empty]
7  [empty]

サーバーの物理ストレージはLinuxの使用可能なスペースよりも多いため、これは明らかに何らかの形のRAIDシステムを使用していることを意味します。少し計算するだけで、使用されているRAIDシステムのタイプがよくわかります。

Linuxの内部からハードウェアRAIDを使用しているかどうかを検出し、それに関するすべての情報(RAIDのタイプ、使用可能なドライブなど)を把握する方法はありますかなしサーバーの電源を切り、ドライブを物理的に引き出し、ラベルを読み取りますか?

この情報をLinuxの内部から収集できますか、それともハードウェアRAIDが基になるシステムをオペレーティングシステムから「見えないようにする」ためのポイントですか?

15
IQAndreas

RAID情報を取得する方法は、使用しているRAIDコントローラに完全に依存します。多くの場合、製造元は自社のWebサイトからダウンロードできるツールを用意しており、このツールを使用してRAIDコントローラーをクエリし、この情報を取得できます。

使用しているRAIDコントローラーを見つけるには、次のいずれかのコマンドを試してください。

lspci

# lspci -knn | grep 'RAID bus controller'
08:00.0 RAID bus controller [0104]: 3ware Inc 9690SA SAS/SATA-II RAID PCIe [13c1:1005] (rev 01)

ここで探している情報は "3ware Inc 9690SA SAS/SATA-II RAID PCIe"です。

lsscsi

コマンドはDebianとUbuntuでは使用できませんが、簡単なSudo apt-get install lsscsiを使用すると、リポジトリからコマンドを取得できます。 RAIDコントローラを使用していない場合は、ハードドライブの製造元とモデル番号が代わりにここに表示されます。

# lsscsi
[2:0:0:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sda 
[2:0:1:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sdb 

ここでは、製造元が "AMCC"であり、RAIDカードのモデル番号が "9690SA-8I"であることがわかります。 Googleのクイック検索 は、このカードが "AMCC 3Ware 9690SA-8I"としても知られていることを示しています。

lshw

3番目の方法(かなりの出力データが得られます)は、lshwコマンドを使用することです。ルートとしてlshw -class diskを実行して、ハードドライブ(RAID情報を含む)に関する詳細のみを表示します。

RAIDコントローラツールの検索

これで製造元とモデル番号がわかったので、彼らのWebサイトでツールを見つけるか、少なくともその特定のコントローラー用のツールを見つけて使用する方法の詳細をGoogleで確認できるはずです。

製造元がこのリストに表示される場合、カードのRAID情報を取得する方法の詳細については、以下の回答を参照してください。

17
IQAndreas

lspci -knn | grep 'RAID bus controller'などを実行します。

その出力を使用して、Google(たとえば)はLSI Logic / Symbios Logic MegaRAID SAS 2208を表します。

storcliユーティリティを使用してRAIDコントローラーに問い合わせていることを確認します。

ダウンロードしてインストールしてください。

storcli64 showは、具体的にはコントローラーのモデル、コントローラーのインデックス、ドライブグループの数、および仮想ドライブを提供します。

storcli64 /c0/d0 showは、最初のコントローラー、最初のドライブグループを示します。ネストを含むレイドレベルを通知します。

storcli64 /c0/eall/sall show allは、すべてのディスク上のすべての情報を示します。

これらのコマンドの詳細なリファレンスデータは、次の場所にあります。

http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275

あなたがしなければならないすべてである必要があります。 Linuxで通常のハードウェアイントロスペクションを使用し、次にGoogleを使用して、それに付随するユーティリティをダウンロードしてインストールします。

@Geneの提案とコメントは確実に当てはまります。

この回答は、lspciコマンドから得られる出力と、Google検索で製造元を識別し、正しいコマンドラインツールを取得する機能に完全に固有のものです。

しかし、これは、マシンを停止したり、ケースを開いたり、ドライブを引き出したりせずに、コマンドラインでサーバーからこれらすべてを取得できることを示しています。

5
Kassandry

これは万能な答えではなく、必要なすべての情報を提供するわけではありませんが、私たちが使用した1つのAdaptecハードウェアRAIDコントローラでは、特別なデバイス/ devを介してドライブ自体にアクセスできます/ sg1/dev/sg2など。smartctl-a/dev/sg1を実行して、製造元、モデル番号、インターフェース、シリアル番号、サイズ、その他のデータなど、その物理ドライブに関する多くの情報を取得できます。

使用されているコントローラーを特定する限り、私はdmidecode、dmesg、およびlspciに関するGeneのコメントに同意します。これらも最初に試すものです。

2
sa289

ストレージプロファイルを作成するには、lspciを実行する前、または何かをダウンロードする前に、次のことを行います。

# cat /etc/fstab         What partitions get mounted at boot?

# Sudo pvs               Are you running LVM? List the physical volumes

# cat /proc/mdstat       List software RAID devices & status

# for D in /dev/sd?; do parted $D print; done
                         If hardware RAID is being used, the "Model" field will list
                         the Mfr. name, otherwise the hard drive Mfr.
1
nortally

3ware

これは、次のRAIDコントローラでテストされています:9690SA-8I

特定のコントローラーで機能するか、モデルの指示を更新する必要があるかをコメントで教えてください。

ダウンロード中

最初に、ツールtw_cliをダウンロードする必要があります。これはAvago TechnologiesのWebサイト*にあります。

*心配しないでください。これはサードパーティのWebサイトではありません。 3wareはAMCCによって購入され、後にLSI Corporationに販売されました。これは後にAvago [ source ]の一部となりました。これをバックアップするには、 3ware.comの関連ページにリダイレクトされることに注意してくださいavagotech.com

検索バーにtw_cliと入力し、CLI Linux - from the 10.2.2.1/9.5.5.1 code setsという名前のダウンロードが見つかるまで移動します(最新のバージョン番号は、ここに記載されているものとは異なる場合があります)

Zipファイルを抽出します。x86またはx86_64のいずれかに、必要なtw_cliバイナリが含まれています。このバイナリをサーバーまたはコンピューターに保存します。

tw_cliを実行しています

注:(1)コマンドラインユーティリティはrootとして実行する必要がある場合があります。 (2)パスに追加するか、現在のディレクトリから./tw_cliを使用して直接実行することにより、他のバイナリと同じように実行します。

まず、tw_cli showを実行して、システムで使用可能なRAIDコントローラーを一覧表示します。

# tw_cli show
Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c2    9690SA-8I    6         6        2       0       1       1      Charging 

ここでは、c2のIDを持つ1つのコントローラーが接続されていることがわかります(このIDを忘れないでください)。6つの物理ドライブが接続されています。ユニットに接続されているドライブの詳細を取得するには、tw_cli /c2 showを実行します(/c2をコントローラーのIDに置き換えます)。

# tw_cli /c2 show
Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       298.013   Ri     ON     
u1    RAID-5    OK             -       -       64K     2793.94   Ri     ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   298.09 GB SATA  0   -            ST3320613AS         
p1    OK             u0   298.09 GB SATA  1   -            ST3320613AS         
p2    OK             u1   931.51 GB SATA  2   -            Hitachi HDS721010CL 
p3    OK             u1   931.51 GB SATA  3   -            Hitachi HDS721010CL 
p4    OK             u1   931.51 GB SATA  4   -            Hitachi HDS721010CL 
p5    OK             u1   931.51 GB SATA  5   -            Hitachi HDS721010CL 

最初のグループは、使用されているRAID設定を示しています。 2番目のグループは、現在サーバーに物理的に接続されているドライブを示しています。

この特定のケースでは、2つのRAID構成があります。

  • u0->ドライブp0p1は、どちらも同じ製造元による300 GBのドライブで、RAID-1を使用するようにセットアップされています(お互いの正確なミラー)。
  • u1-> RAID-5を使用して4つの1TB Hitachiドライブ(p2からp5)をセットアップしています(「ドライブの1つ」は、データが保持されていることを確認するために使用されます)他のドライブの障害)。これは、(上からわかるように)u1に3TB(または、むしろ2793.94 GB)の使用可能なデータがあることを意味します。

ドライブのステータスと正常性に関するさらに詳しい情報は、tw_cli /c2/u0 showまたはtw_cli /c2/p0 showを実行すると見つかります。詳細とコマンドは manページ にあります。

0
IQAndreas