web-dev-qa-db-ja.com

DebianとマルチパスIO問題

基本的には、Debianを実行しているボックスがあり、そのボックスの内部には、OSがインストールされているRAID1モードで2台のハードドライブを制御しているIntel SCSIRAIDコントローラーがあります。

さらに、ユニットをファイバーチャネルSANに接続するQLogicファイバーチャネルアダプターがあります。

私のインストールプロセスは、Debianをローカルドライブにインストールし、QLogicファームウェアを当分の間そこから外すことです。

次に、ユニットをオンラインにしたら、ファームウェアドライバをインストールします。

これにより、内部ドライブが/ dev/sdaから/ dev/sdcにフロップされます。これは少し面倒ですが、回復可能です。おそらくとにかくUUIDでこれらに対処する必要があります。

オンラインに戻ったら、multipath-toolsをインストールする必要があります(フレームワークはマルチパスフレームワークです)。

ただし、マシンを再起動すると、マルチパスターゲットを検出した後、ローカルドライブがビジーであり、/ rootにマウントできないため、起動時に失敗します。

ここで問題になる可能性のあるものについて何か助けはありますか?または、少なくともユニットが起動してから内蔵ドライブを無視するまでマルチパスを無効にする方法はありますか?

1
tearman

これは、multipath-tools-bootおよびSCSIコントローラーとの競合のようです。回避策は、当面はソフトウェアRAIDを使用することです。

0
tearman

Multipath.confで内部ドライブをブラックリストに登録していないようですが、次のことができます メーカーおよびモデル別のブラックリスト このようなワイルドカード

blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
device {
    vendor "Intel*"
    product "*"
}

Intel RAIDが提示しているドライブを反映するように、それに応じて変更します。これが完了したら、multipath.confがそこにコピーされるので、initrdを再構築します。これで、起動時にブラックリストが評価され、それらのドライブはそのままになり、ルートは正常にマウントされます。

また、コメントしたように、決定論的なマウントポイントにはUUIDまたはFSラベルを使用する必要があります。sdxデバイスの割り当ては、決定論的になるようには設計されていません。

0
ppetraki