web-dev-qa-db-ja.com

CentOSで以前のRAID構成を削除して再インストールする方法

CentOS 5.5(_/dev/sda_およびsdb)でソフトウェアRAID1を使用して以前にセットアップされたサーバーがあります。サーバーに2つのドライブを追加し、CentOSを再インストールしようとしました。 CentOSインストーラーは2つの新しいドライブ(sdcsdd)を正常に認識しますが、2つの元のドライブsdaとsdbを個別のドライブとして認識しません。代わりに、ドライブ/dev/mapper/pdc_... (Model: Linux device-mapper)のみが表示されます。基本的に私がする必要があるのは、これらのドライブからすべてのRAID構成を取り除き、インストーラーがそれらを個別の物理ディスクとして認識できるようにすることです。

元のドライブの1つを除くすべてのドライブをプルし、最小限のCentOSをインストールして、_dmraid -r -E_を実行しようとしましたが、古いRAIDパーティションが表示されます。 CentOSのインストールオプション(以前のパーティションの削除など)はどれも機能していないようです。

2
John P

問題はCentOSAnacondaインストーラーにありました。 Ubuntuインストーラーは、個々のドライブを問題なく確認できました。ドライブにUbuntuを完全にインストールしても、レイドビットはクリアされませんでした。最終的に機能したのは、Centosインストーラーを使用して起動することでした

linuxテキストnodmraid

これにより、既存のRAID構成をチェックせずにインストーラーを実行できるようになり、パーティション分割が行われました。

2
John P

これは古いスレッドですが、Googleで上位にランクされているため、多くの人が読んでおり、更新する必要があります。

「正しい」方法は、mdadm--zero-superblockとともに使用することです。

## If the device is being reused or re-purposed from an existing array, 
##  erase any old RAID configuration information:
mdadm --zero-superblock /dev/<drive>
## or if a particular partition on a drive is to be deleted:
mdadm --zero-superblock /dev/<partition>

man mdadm

--zero-superblock
   If  the  device contains a valid md superblock, the block is overwritten with zeros. 
   With --force the block where the superblock would be is overwritten even if it doesn't appear to be valid.

bs=<block size>を使用したddメソッドも機能しますが、すべてのスーパーブロックがディスクの先頭に書き込まれるわけではないため、注意が必要です。一部はディスクの末尾に書き込まれます。

Update:他のどの方法よりもワイピングにgdiskを使用する

# wipe any GPT data or MBR data
gdisk /dev/sdc
    x = extra functionality
    z = zap GPT data structures (+ MBR also after)

ソース:

3
hrvoj3e

私にとって、これを修正する最も速い(言い換えれば:覚えやすい)方法は、レスキューモードで起動し、ディスクの最初の数千バイトをddで上書きすることです。

dd if=/dev/zero of=/dev/sda bs=512 count=100

トリックを行う必要があります。これにより、MBR、パーティションテーブル、およびRAIDに関連するすべてのデータが上書きされます。

2
Sven

これにも出くわした。バージョン0.90は、ソフトウェアRAID情報をディスクの最後に配置します。代わりに、ddを使用して最後の数MBをゼロにすることをお勧めします。

1
opus

Knoppixでpartedrootとして使用するとうまくいきました。

knoppix@microknoppix $ su
root@microknoppix $ parted <device>

(parted) print

これにより、デバイス上のパーティションが一覧表示されます。コマンドrm #を使用します。ここで、#は返されたリストのエントリです。それはできないとあなたに言うでしょう。もう一度やり直してから、もう一度printと入力します。パーティションがあった場所に空白が表示されます。 Gpartedを使用すると、未割り当て領域が確認されます。

CentOS 7インストーラーを再起動すると、すべて正常に動作しました。

1
Ryan Graham

私は以前に同じ問題に遭遇しました。私にとっては、答えの組み合わせがうまくいきました。実行中 hrvoj3emdadm --zero-superblockは機能しませんでした。新しいパーティションを作成しようとすると、ディスクの最初のパーティションが利用できませんでした。次に実行 svendd if=/dev/zero of=/dev/sda bs=512 count=100最初のパーティションをクリアします。次に、適切なパーティションタイプのfdiskを使用してディスク上に新しいパーティションを作成できます。

0
ReportJungle