私は現在、リモート Ubuntu 18.04 サーバーで作業しており、新しい RAID アレイ (RAID1) を設定し、それをアクティブなファイルシステムの使用可能なパーティションとしてマウントする必要があります。私にとって最初のステップは、現時点で何が起こっているかを把握することです。アクティブなシステム内には、RAID 1 アレイで接続された 2 つのハード ドライブがあることはわかっています。コマンドを使用してlsblk
情報を収集しました。出力は次のとおりです。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 894,3G 0 disk
├─nvme0n1p1 259:1 0 4G 0 part
│ └─md0 9:0 0 4G 0 raid1 [SWAP]
├─nvme0n1p2 259:2 0 512M 0 part
│ └─md1 9:1 0 511,4M 0 raid1 /boot
└─nvme0n1p3 259:3 0 889,8G 0 part
└─md2 9:2 0 889,6G 0 raid1 /
つまり、私の物理デバイスは というデバイスということですかnvme0n1
? そして、これは 3 つの部分 (swap、boot、および /) に分割されています。 同じ物理デバイス ( ) なのに、nvme0n1
パーティション ( nvme0n1p1,nvme0n1p2,nvme0n1p3
) がさらに に分割されているのはなぜですか?とmd0,md1,md2
の違いは何ですか?nvme0n1p1
md0
さらにcat /proc/mdstat
次の出力が得られます:
md2 : active raid1 nvme0n1p3[1]
932840768 blocks super 1.2 [2/1] [_U]
bitmap: 7/7 pages [28KB], 65536KB chunk
md1 : active raid1 nvme0n1p2[1]
523712 blocks super 1.2 [2/1] [_U]
md0 : active raid1 nvme0n1p1[1]
4190208 blocks super 1.2 [2/1] [_U]
これは 3 つのアクティブな RAID ブロックを示しています。実行中の RAID アレイは 1 つだけです。出力を解釈できません... 助けが必要です。
ありがとう
答え1
これが完全なlsblk
出力である場合、物理ストレージ デバイスが 1 つだけ表示されることになりますnvme0n1
。
はnvme0n1
3 つのパーティションに分割され、それぞれがソフトウェア RAID1 ミラーリング用に個別に設定されています。つまりmd0
、、および の 3 つのソフトウェア RAID デバイスが提供されます。これらはそれぞれ、ディスク全体ではなく、単一のソフトウェア RAID パーティションに対応します。md1
md2
このようにパーティションごとに RAID を設定すると、BIOS は Linux ソフトウェア RAID をまったく認識しないにもかかわらず、ディスクをパーティション化されたディスクとして BIOS に認識させることができます。これにより、起動や一部の回復シナリオの処理が簡単になり、必要に応じて非 RAID 構成に簡単に戻すことができます。
通常のミラーリングされた状態では、md0
はミラーリングされたnvme0n1p1
+のセットnvme1n1p1
、は+md1
のセット、などを参照します。 、およびデバイスを使用して、ファイルシステムをマウントし、スワップをアクティブ化します。これらのデバイスが使用可能になるとすぐに、ソフトウェア RAID サブシステムは、基礎となる物理パーティションを排他的アクセス用にロックし、RAID がアクティブな間は、パーティションへのすべてのアクセスが RAID レイヤーを通過する必要があります。nvme0n1p2
nvme1n1p2
md0
md1
md2
ただし、これらのソフトウェア RAID セットのそれぞれには、RAID1 ペアの後半部分が欠けています。これは、システムが 2 つの同一の NVMe デバイス上でソフトウェア RAID でセットアップされたが、そのうちの 1 つ (おそらくnvme1n1
) がすでに故障していることを意味している可能性があります。あるいは、2 番目の NVMe デバイスが入手でき次第、真の RAID1 に簡単に移行できるように、RAID1 セットの半分として単一の NVMe ディスク上にシステムがセットアップされていた可能性があります... しかし、何らかの理由で、これは実現しませんでした。
おそらく、最優先事項は、故障した NVMe を交換(または不足している NVMe を追加)し、既存の RAID ペアを回復することです。
- 既存のディスクから新しいディスクにパーティションテーブルをコピーする
- 新しいディスク上のパーティションを対応する
mdN
デバイスのスペアとして初期化する - 各ペアでRAID1リカバリを開始する
- MBR と GRUB の一部はミラー化されたパーティションの外部に配置されているため、ブートローダの 2 番目のコピーを 2 番目のディスクにインストールします。
- 物理デバイスの 1 つに障害が発生しても再び気付かれないままにならないように、RAID デバイスの監視を設定します。
それが終わったら、新しい RAID アレイをセットアップするという当初のタスクについて考えることができます。そのためには、既存のものがnvme0n1
完全に使用されているように見えるため、より多くの物理ストレージが必要になります (現在のハーフミラーが完全に回復されると、そのミラー コンパニオンも同様に使用されます)。
答え2
はい、出力には 1 つの物理デバイス (nvme0n1) のみが表示されます。
はい、出力には 3 つのパーティションがあることが示されています。
興味深いのは/proc/mdstat
、からの情報です。3構成された RAID デバイスはすべて と表示されています[_U]
。正常なシステムでは と表示されるはずです[UU]
。3 つの RAID デバイスは raid1 (ミラーリング) として構成されているため、2 番目のドライブの (推定) 障害によってまだデータ損失は発生していません。もちろん、2 番目のドライブは取り外されているため検出されない可能性があります。
ブート ログを調べると、2 番目のドライブが認識されているかどうかのヒントが得られる可能性があります。
nvme0n1p1 はパーティションです。先頭に RAID ヘッダーがあります。パーティションの残りのセクターは、md0 デバイスのデータとして使用されます。2 番目のドライブ (従来のspinning rust
ハード ドライブである可能性があります) が接続された場合、少なくとも 3 つのパーティションがあることが予想されます。そのうちの 1 つ (慣例により、最初のパーティションは /dev/hda1 になります) にも RAID ヘッダーがあり、残りのセクターは /dev/md0 デバイスのデータのコピーを保持するために使用されます。