web-dev-qa-db-ja.com

md raidは、ドライブがないために起動に失敗します

私はDebianJessie、4ドライブsdaからsddを備えたサーバーを入手しましたが、これらはすべて同様にパーティション化されています。システムは、すべてのドライブでraid1 mdraidになっています。すべてのドライブにはグラブがあり、ディスクを相互に交換できます。各ドライブは起動可能で、システムは正常に起動します。すべてのドライブには、まったく同じ形式が含まれています。

  sdx1 - Boot Partition, GRUB installed
  sdx2 - Raid 1 /boot
  sdx3 - Raid 1 /
  sdx4 - Raid 10 swap
  sdx5 - non-md btrfs Raid 6 /data

データパーティションはraid6btrfsです。現在、ドライブをより大きなドライブに交換して容量をアップグレードしようとしています。2回失敗する可能性があるため、最初の本能は、ドライブの1つを交換してバックアップし、復元することでした。新しくインストールされたドライブでRAIDアレイが失敗し、再構築後、すべてが正常に戻ります。

しかし、ドライブをRAIDアレイを無効にするものに交換すると、マシン(現在は残念ながらヘッドレスです)は起動しません。私は一日中ディスクを互いに交換することができ、それは幸せに起動します。しかし、ディスクを取り出したり、レイドの一部ではないものに交換したりすると、起動に失敗します。

私は何かが足りないのですか?不足しているディスク/劣化したアレイで自動的に起動しても問題がないことをmdに伝えるにはどうすればよいですか?結局、mdに関する限り、4つのディスクの1つでもシステム全体をサポートできます。データパーティションは、少なくとも2つのドライブが必要なため、別の獣ですが、mdは純粋なbtrfsであるため、これに関係する必要はありません。襲撃。

現在のユースケースでは、ドライブをレイドから削除し、アップグレードしてから元に戻すことができますが、障害が発生した場合、システムの起動に失敗した場合にドライブを削除することはできません。アップ。

1
bardiir

更新と答えとして-その間に、ここで本当に欠けているのはfstabのnofailフラグだけであることがわかりました。ファイルシステムが劣化しており、nofailオプションが設定されていないと、ファイルシステムが劣化した状態でマウントされませんでした。

0
bardiir

私の知る限り、個別のブートパーティションがなくてもブートできるmdadmを使用してRAIDを作成することはまだできません。ここで説明したのと同様の方法で設定すると仮定します。raid10を使用しますが、他のRAIDレベルにも適用されます。

つまたは4つ(またはそれ以上)のディスクソフトウェアraid10を使用して起動可能な冗長Debianシステムを作成する方法は?

BIOSで起動するように他のディスクを構成しなかった可能性はありますか?それ以外の場合、ブートパーティションは完全に同じではありません。つまり、同じUUIDを持つ正確なコピーです。

特定のディスクを起動できるようにするには、起動セクターが必要であり、BIOSはそのディスクから起動するように構成する必要があります(レイドの一部である他の起動ディスクのリストとともに)。もちろん、ブートが正常に完了するには、ディスクにもブートパーティションが必要です。これらのブートパーティションはレイドの一部ではないため、各ブートディスクには独自のものがあります。各ブートパーティションにまったく同じファイルシステムが含まれていることを確認し(たとえば、ddを使用してコピーする)、各ディスクにそのブートパーティション上のイメージを使用して作成されたブートセクターがある場合、システムは任意のディスクから起動できるはずです。 。 RAIDが劣化している場合でも、RAIDが劣化しても起動の成功が妨げられることはありません。そうでなければ、それはレイドムートを持つことの大きな利益をもたらします。

リンクからの引用:

レイドの一部である各ディスクには、レイドの一部ではない約1GBの起動可能なパーティションが必要です。これらのパーティションは通常どおり作成します。サイズはまったく同じである必要があります。それらを起動可能としてマークします。ディスクの1つのマウントポイントは/ bootである必要があり、他のディスクはマウントされていないままにしておくことができます。

Ddを使用してブートパーティションの正確なコピーを作成したら、次のようにします。

次に、BIOSが3つのディスクすべてから起動するように構成されていることを確認します。順序は関係ありません。 BIOSが任意のディスクから起動しようとする限り、ディスクの1つに障害が発生した場合、UUIDはまったく同じであるため、システムは他のディスクから自動的に起動します。

0
aseq