Как сказать 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