web-dev-qa-db-ja.com

ホットスワップドライブに新しい名前が付けられました。それを `md`アレイに追加し直し、再起動時に名前が変更された場合、アレイは引き続き機能しますか?

サーバーのRAID構成にあるHDDの1つに障害が発生したため、アレイからHDDを取り出し、データセンターにホットスワップさせました。彼らはそれを行いましたが、新しいドライブは/dev/sdcではなく/dev/sdaになりました。サーバーを再起動すると、再び/dev/sdaになると思われるので、自分でトラップを設定したくないので、/dev/sdcとしてアレイに追加することを躊躇します。次の再起動時に陥ります。必要がなければ、すぐにサーバーを再起動しません(必要な場合は、まあ、私にはあまりにも悪いです)。

/dev/sdcとして追加した場合、再起動時に問題が発生しますか?または、再起動せずにデバイス名を/dev/sdcから/dev/sdaに変更する方法はありますか?

これはUbuntu10.04LTSにあります。これはmdアレイ(「LinuxソフトウェアRAID」)であり、現在、デバイスの1つ(いくつかあります)は次のようになっています(古い/dev/sdaを削除したため、「劣化」しています。それから):

#mdadm --detail /dev/md0
/dev/md0:
バージョン:00.90.03 
作成時間:Sun Oct 11 21:07:54 2009 
レイドレベル:raid1 
アレイサイズ:97536(95.27 MiB 99.88 MB)
使用済み開発サイズ:97536(95.27 MiB 99.88 MB)
レイドデバイス:2 
合計デバイス数:1 
優先マイナー:0 
永続性:スーパーブロックは永続的です
 
更新時間:2011年6月30日木曜日09:31:16 
状態:クリーン、劣化
アクティブデバイス:1 
動作デバイス:1 
障害デバイス:0 
スペアデバイス:0 
 
 UUID:496be7a5:ab9177ed:7792c71e:7dc17aa4 
イベント:0.112 
 
番号メジャーマイナーRAIDデバイス状態
 0 8 170アクティブ同期/ dev/sdb1 
 1 0 01削除
9
T.J. Crowder

先に進んで/dev/sdcとして追加しても問題ありません。 カーネルmdドキュメント を読んで、再起動時に名前が変更された場合、それは問題ではありません。 (良いデザイン、それ。)理由は次のとおりです。

RAIDアレイの起動時の自動検出

Mdが(モジュールとしてではなく)カーネルにコンパイルされると、タイプ0xfdのパーティションがスキャンされ、RAIDアレイに自動的にアセンブルされます。この自動検出は、カーネルパラメータ「raid = noautodetect」で抑制できます。カーネル2.6.9以降、ブート時に自動検出および実行できるのは、タイプ0のスーパーブロックを持つドライブのみです。

カーネルパラメータ「raid = partitionable」(または「raid = part」)は、自動検出されたすべての配列がパーティション可能としてアセンブルされることを意味します。

カーネルにmdをコンパイルしていませんが、mdadmが自動ロードされ、mdadm.confがすべてをスキャンするように設定されているため、セットアップは上記と同じことを行います。カーネルと同じように、スーパーブロックのパーティションは次のようになります。

#デフォルトでは、MDスーパーブロックのすべてのパーティション(/ proc/partition)をスキャンします。
#または、必要に応じてワイルドカードを使用して、スキャンするデバイスを指定します。
 DEVICEパーティション

したがって、/dev/sdcを使用して配列を再構築することは問題ありません。名前はおそらく再起動時に/dev/sdaに変更されますが、mdが上記のように設定されていれば、問題は発生しません。

1
T.J. Crowder