Как сказать mdadm использовать раздел как / вместо блочного устройства?

У меня есть четыре диска по 500 ГБ, которые были настроены как том Linux Software-RAID 5 во время установки Debian (рядом с системным диском, который является SSD). Один из дисков (sda) вышел из строя, и теперь я пытаюсь заменить его, и у меня возникли некоторые проблемы.

После удаления поврежденного диска из массива в mdadm я заменил диск другим запасным диском на 500 ГБ, который поставлялся с новым купленным ПК. На диске был раздел NTFS с Windows (он был немедленно заменен на SSD).

Первая попытка пошла (более или менее) неправильно - NTFS3G увидел раздел, и я смог добавить том NTFS в массив, и он начал перестраиваться. Использование NTFS под моим RAID было определенно не моим намерением, поэтому я остановил восстановление и начал перераспределять диск.

Сначала я попытался выполнить разбиение вручную с помощью fdisk (максимальный размер, значения по умолчанию, тип раздела "fd") - не сработало, mdadm отклонил sda1. Быстрая проверка с помощью fdisk - Start, Blocknumber и End не совпадают - хорошо, я вижу проблему.

Второй попыткой было скопировать данные разметки с одного из дисков с помощью "sfdisk -d /dev/sdd | sfdisk /dev/sda". Я даже обнулил первый 512Byte, как рекомендовал sfdisk в конце его комментариев. Сравнил данные разбиения - Start, End и количество совпадающих блоков - выглядит хорошо.

Но теперь mdadm говорит мне, что /dev/sda1 не является блочным устройством и не позволит мне добавить его. Но можно уничтожить данные разметки в / dev / sda и дать mdadm весь диск, и он будет восстановлен, но теперь это выглядит как-то не так:

 Number   Major   Minor   RaidDevice State
   4       8        0        0      active sync   /dev/sda
   1       8       17        1      active sync   /dev/sdb1
   2       8       33        2      active sync   /dev/sdc1
   3       8       49        3      active sync   /dev/sdd1

И я определенно не очень хорошо себя чувствую по этому поводу, когда fdisk теперь не находит разделов в / dev / sda - В случае сбоя системы кажется немного сложнее собрать массив в другой системе, когда весь диски используются вместо разделов (см. также: здесь).

Что я упустил? Как я могу сказать mdadm использовать раздел для RAID? Или кто-нибудь еще порекомендует использовать целые диски (и даже конвертировать другие)? Или действительно имеет больше смысла в том, что установщик Debian сделал там (установил разделы на полных дисках, чтобы создать RAID из разделов)?

Я надеюсь, что я не давал слишком много текста и слишком много деталей, но теперь я немного сбит с толку, потому что я сделал все, как рекомендовано в нескольких уроках, и теперь я натыкаюсь на эти основные вопросы...

Спасибо за помощь!

2 ответа

Решение

Прежде всего, я не думаю, что есть что-то плохое в использовании полного диска для mdadm. Другими словами, ваша настройка работает сейчас, вы не будете иметь никаких преимуществ от дальнейшей работы с ней. Из ответа, на который вы ссылаетесь:

RAID-на-разделе имеет свое применение, но когда вы используете диски в настройке псевдо-хранилища, иногда лучше использовать "весь диск" вместо "разделенных" членов RAID.


Теперь, если вы все равно хотите использовать разделы: то, что вы делали в первый раз, было правильно, но похоже, что ядро ​​не зарегистрировалось /dev/sda1, Либо ядро ​​не зарегистрировалось (просто перезагрузите компьютер, и оно само решится), либо вы использовали GPT-разбиение для других дисков (который sfdisk не поддерживает AFAIK - вы просто скопировали защитную MBR). Попробуйте еще раз с таким инструментом, как gdisk или gparted.

Вы можете удалить /dev/sda из рейда (пометив как неудачный, удалив его из массива), сделайте разумную разметку разделов (если вы используете GPT, убедитесь, что вы используете gdisk или лайки), перезагрузите при необходимости и добавьте /dev/sda1 к вашему массиву RAID.

Мне нравится заполнять использованные диски нулями, прежде чем повторно использовать mdadm. Это делает приводной завод свежим и позволяет избежать подобных проблем. Это заполнит /dev/sda нулями...

dd if=/dev/zero of=/dev/sda bs=1M
Другие вопросы по тегам