2015-02-09 12 views
-1

У меня есть три жестких диска, которые я вытащил со старого сервера. Не помню, что было на нем, или как оно было настроено, пока я не застрял на моем новом сервере для использования в RAID5. Я dd «эд все три жестких диска и попытался mdadm --create нового массива RAID и получил следующее сообщение об ошибке:Невозможно удалить группу томов из-за неправильной контрольной суммы заголовка области метаданных

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd 
mdadm: super1.x cannot open /dev/sdc: Device or resource busy 
mdadm: /dev/sdc is not suitable for this array. 
mdadm: create aborted 

Глядя на проблему, я обнаружил, что /dev/sdc2 все еще содержит логический том.

# lsblk /dev/sdc 
NAME     MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
sdc      8:32 0 931.5G 0 disk 
|-sdc1     8:33 0 102M 0 part 
`-sdc2     8:34 0 931.4G 0 part 
    |-VolGroup00-LogVol00 253:2 0 926G 0 lvm 
    `-VolGroup00-LogVol01 253:3 0 5.4G 0 lvm 
# lsblk /dev/sdd 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
sdd  8:48 0 931.5G 0 disk 
|-sdd1 8:49 0  2G 0 part 
`-sdd2 8:50 0 929.5G 0 part 
# lsblk /dev/sdb 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
sdb  8:16 0 931.5G 0 disk 
|-sdb1 8:17 0  2G 0 part 
`-sdb2 8:18 0 929.5G 0 part 

Я попытался lvremovepvremove и vgremove, но все возвращаются с той же ошибкой: Incorrect metadata area header checksum on /dev/sdc2 at offset 4096

Я незнаком с LVM и попытался посмотреть онлайн, что делать. Было восстановление, но не работало не на мое удивление, так как файл архива vg, который я использовал, был сгенерирован на моем новом сервере.

Я предполагаю, что, поскольку I dd 'жесткие диски я каким-то образом перепутал метаданные заголовка. Что я могу сделать, чтобы стереть все это, чтобы я мог создать свой RAID5? Любая помощь приветствуется.

Заранее благодарен!

EDIT

Чтобы пояснить, что я имею в виду dd «изд:

dd if=/dev/zero | pv | dd of=/dev/sdx

EDIT 2

Просто чтобы прояснить, что помогло и отдать обоих ответов. Оба ответа ниже в отношении dd работают. В моем случае, поскольку RAID был построен на другой коробке, и я осиротел один из дисков, моя новая коробка жаловалась на группу томов и тому подобное. Когда я использовал dd, чтобы стереть данные, я не должен касаться заголовков для RAID/LVM.

ответ

1

До тех пор, пока вы не волнует, что находится на диске в/Dev/SDC, попробуйте следующее:

dd if=/dev/zero of=/dev/sdc bs=1m count=10 

Это будет обнулить первые 10 МБ на диске, включая любые LVM или RAID заголовки , Затем перезагрузите компьютер; система должна видеть, что диск больше не является частью любой группы LVM.

Если вам нужно больше вдохновения проверить эту статью Linux Journal, который я написал на восстановление RAID & тома LVM:

http://www.linuxjournal.com/article/8874

+0

Спасибо вам обоим! Мне жаль, что я не смогу сделать им правильный ответ. – pandoraEudora

1

Вот большой ссылку - пожалуйста, смотрите, если вы не знакомы с ним:

в вашем с азу, пожалуйста, попробуйте следующее:

https://forums.opensuse.org/showthread.php/489778-How-do-I-delete-a-RAID-volume-that-was-created-with-mdadm

  1. найти мкр и это компоненты (SDA, SDB и т.д.)

    fdisk -l mdadm --detail /dev/md0 or md1 or mdX

  2. Размонтируйте мкр (может быть хорошо используйте флаг -l для ленивого размонтирования

    umount -l /dev/md0

  3. остановить массив со

    mdadm --stop /dev/md0

  4. нулевого суперблок каждого устройства из массива

    mdadm --zero-superblock /dev/sda mdadm --zero-superblock /dev/sdX ... etc.

мда Подставьте фактические имена дисков по мере необходимости.

Я не уверен, что вы подразумеваете под «dd'ed all drives», но вы должны иметь возможность инициализировать их либо «mdadm» (per above), либо «dd»: EXAMPLE: dd if=/dev/zero of=/dev/sdc2 bs=1024K count=100.

Смотрите также эту ссылку для получения дополнительной подсказки:

+0

Спасибо за отличную ссылку! Что касается удаления RAID, это не сработало, потому что исходный RAID был построен на другом блоке под FreeBSD. Я попробовал mdadm для нулевого суперблока, но это дало мне: 'mdadm: Unrecognized md component device -/dev/sdc' Также/dev/md0 не существует, поскольку это было в старом флажке freeBSD. Я думаю, что неправильно использовал dd. Я пробовал 'dd if =/dev/zero of =/dev/sdc bs = 1m count = 10' и перезагрузился, как предложил Ричард Буллингтон-Макгуи, и это сделало трюк. Я предполагаю, что ваш 'dd if =/dev/zero of =/dev/sdc2 bs = 1024K count = 100' тоже сработал бы. Спасибо за вашу помощь! – pandoraEudora