
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が動作しているようですが、動作しますか?どうすればこれを最もよくテストできますか?
私が今構築して含めたアイデアは次のとおりです。
- ブルドーザーオンライン:それから走り、また
dd if=/dev/zero bs=512 count=1 of=/dev/sdc
走ってください。しかし、それは何とか他のものを邪魔しませんか?partprobe
blkid
mdadm
- メンバーの失敗、切断(論理)、最初の数MiBをオフラインに切り替え、再接続(論理)、再同期。私はむしろしません。
- SEを介して配列が作成された後にのみ検出された残りのメタデータを処理する「標準」方法を学びます。
U.SEがなければ、1)を試してから2)を試して、2)がうまくいくと確信していますが、最もエレガントで冗長ではありません。
そのMDのデータは重要ではありません。答えがない場合は、1)を試してから2)を試してみます。結果を投稿します。しかし、どちらの場合も表示されますが、なぜ攻撃sdc
隊員として表示されないのかを知りたいです。blkid
blkid /dev/sd[bc]
sdb
答え1
あなたが直面する問題は、RAIDメンバーに書き込まれたデータがパーティションテーブルのように見えることです。修正はとても簡単です。パーティションを無視して続行してください。すべてのRAIDメンバーに「データオフセット」を設定してこの問題を回避する方法があるかもしれません。