サーバーの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削除
先に進んで/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
が上記のように設定されていれば、問題は発生しません。