RAID1 "mdX" は "/proc/mdstat" で問題ないようですが、メンバーの "blkid" と "fdisk -l" が異常または無効な値を報告します。

RAID1

RAID1を作成しました。

mdadm --create /dev/mdX --level=mirror --raid-devices=2 /dev/sdb /dev/sdc

それから最初の同期を見ました/proc/mdstat。それは言う[UU]。今まではそんなに良くなった。

sd[bc]修正しなければなりませんでしたが、shredあらかじめ確認をしなくてどうせすべて上書きすると思いました。

引き続きデバイスにボリュームグループを作成し、新しい論理ボリュームにext4 FSを作成しました。

UUIDでマウントしたいのですべてblkid。視覚的に、RAID1アレイが「オフ」に見えました。

blkid(関連ラインのみが表示されます):

/dev/mdX: UUID="..." TYPE="LVM2_member"
/dev/sdb: UUID="..." UUID_SUB="..." LABEL="...:0" TYPE="linux_raid_member"
/dev/sdc1: PARTUUID="0xd25946fb"

2つの「linux_raid_members」を期待していますが、何が起こっていますか/dev/sdc1?もう一度確認しました。

# cat /proc/mdstat  (shortened)
Personalities : [raid1] 
mdX : active raid1 sdb[0] sdc[1]
  976631488 blocks super 1.2 [2/2] [UU]
  bitmap: 2/8 pages [8KB], 65536KB chunk

# cat /proc/partitions (shortened)
major minor  #blocks  name
   8       32  976762584 sdc
   8       33  976759808 sdc1
   8       16  976762584 sdb
   9        0  976631488 md0

# fdisk -l /dev/sd[bc]

Disk /dev/sdb: (empty, as expected, both disk geoms identical, also expected)

Disk /dev/sdc: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xd25946fb

Device     Boot Start        End    Sectors   Size Id Type
/dev/sdc1        2048 1953521663 1953519616 931.5G  7 HPFS/NTFS/exFAT

再びsdc1

だからsdc決して破れたようには見えません。しかし、以前のすべてのメタデータ/パーティション情報を上書きしてはいけませんかmdadm --create?キャッシュされた情報かもしれないと思って、partprobeあえて探す必要もなく実行してみました。試してみましたが、reboot変化はありませんでした。したがって、ドライブにまだパーティションテーブルがあるようです。

いくつかのアイデアがあり、SEに投稿することにしました。

だからこの記事を書いて、もう少し「正確な」コマンドを上げたいので、実行してblkidこのblkid /dev/sd[bc]{,1} /dev/mdX記事に貼り付けました。

/dev/sdb: UUID="..." UUID_SUB="..." LABEL="...:0" TYPE="linux_raid_member"
/dev/sdc: UUID="..." UUID_SUB="..." LABEL="...:0" TYPE="linux_raid_member"
/dev/sdc1: PARTUUID="d25946fb-01"
/dev/mdX: UUID="..." TYPE="LVM2_member"

この記事のプレビューで、私はそれが「一般的」であることを知っていました - 見て、 - 2番目のRAIDメンバーを見つけました!私は私の精神を疑い、blkid再度パラメータなしで実行した。sdc、2番目のRAIDメンバーは表示されません。

この時点で、私の質問は次のように要約されます。どのように(安全に)パーティションテーブルを削除し、引数なしblkidで2番目のアタックメンバーを取得できますか?ちょうど置いておけば、またどんな問題が起こりますか?このときそうだ私のRAID1が動作しているようですが、動作しますか?どうすればこれを最もよくテストできますか?

私が今構築して含めたアイデアは次のとおりです。

  1. ブルドーザーオンライン:それから走り、またdd if=/dev/zero bs=512 count=1 of=/dev/sdc走ってください。しかし、それは何とか他のものを邪魔しませんか?partprobeblkidmdadm
  2. メンバーの失敗、切断(論理)、最初の数MiBをオフラインに切り替え、再接続(論理)、再同期。私はむしろしません。
  3. SEを介して配列が作成された後にのみ検出された残りのメタデータを処理する「標準」方法を学びます。

U.SEがなければ、1)を試してから2)を試して、2)がうまくいくと確信していますが、最もエレガントで冗長ではありません。

そのMDのデータは重要ではありません。答えがない場合は、1)を試してから2)を試してみます。結果を投稿します。しかし、どちらの場合も表示されますが、なぜ攻撃sdc隊員として表示されないのかを知りたいです。blkidblkid /dev/sd[bc]sdb

ベストアンサー1

あなたが直面する問題は、RAIDメンバーに書き込まれたデータがパーティションテーブルのように見えることです。修正はとても簡単です。パーティションを無視して続行してください。すべてのRAIDメンバーに「データオフセット」を設定してこの問題を回避する方法があるかもしれません。

おすすめ記事