Создание раздела RAID1 с mdadm в Ubuntu

22023
Jonik

Я пытаюсь настроить раздел RAID1 на моей рабочей станции Ubuntu 9.10.

В этой системе с двойной загрузкой Ubuntu работает с отдельного диска ( /dev/sdcдовольно компактный твердотельный накопитель, поэтому мне нужно больше места на диске). Кроме того, есть два традиционных жестких диска емкостью 500 ГБ, на которых установлена ​​Windows 7 (я хочу сохранить установку Windows без изменений) и около половины нераспределенного пространства. Это место, где я хочу настроить один большой раздел RAID1 для Linux.

(Насколько я понимаю, это будет программный RAID, тогда как разделы Windows находятся на аппаратном RAID - надеюсь, это не проблема ... Редактировать : см. Комментарий Питера. Я думаю, это не должно быть проблемой, так как я вижу оба диска отдельно в Linux.)

На обоих дисках, /dev/sdaи /dev/sdbя создал, используя fdisk, одинаковые новые разделы типа "Linux raid autodetect", чтобы заполнить нераспределенное пространство.

 Device Boot Start End Blocks Id System /dev/sda1 1 10 80293+ de Dell Utility /dev/sda2 * 11 106 768000 7 HPFS/NTFS Partition 2 does not end on cylinder boundary. /dev/sda3 106 30787 246439936 7 HPFS/NTFS /dev/sda4 30787 60801 241095200+ fd Linux raid autodetect 

Итак, я хотел бы создать RAID-массив из / dev / sda4 и / dev / sdb4 используяmdadm . Но мне кажется, что это не работает:

$ sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd4 mdadm: Cannot open /dev/sda4: Device or resource busy mdadm: Cannot open /dev/sdb4: Device or resource busy mdadm: create aborted 

После загрузки машины та же команда дает:

$ sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sda4 /dev/sdb4 mdadm: Cannot open /dev/sda4: No such file or directory mdadm: Cannot open /dev/sdb4: No such file or directory 

Так что теперь кажется, что устройства не определяются автоматически при загрузке ... Используя fdisk и то sdaи другое, sdbвсе равно они выглядят корректно.

Изменить : после очередной перезагрузки устройства вернулись:

$ ls /dev/sd* /dev/sda /dev/sda2 /dev/sda4 /dev/sdb1 /dev/sdb3 /dev/sdc /dev/sdc2 /dev/sda1 /dev/sda3 /dev/sdb /dev/sdb2 /dev/sdb4 /dev/sdc1 /dev/sdc5 

Но так же «Устройство или ресурс занят» при попытке создать массив RAID. Довольно странно. Любая помощь будет оценена!

Обновление : может ли устройство отображения устройств иметь какое-либо отношение к этому? Как все это /dev/mapperи dmraidсвязано со всем этим mdadm? Оба предоставляют программный RAID, но .. по-разному? Извините за мое невежество здесь.

Ниже /dev/mapper/приведены некоторые файлы устройств, которые, как мне кажется, как-то соответствуют 3 разделам Windows RAID (от sd 1 до sd 3). Я не знаю, почему существует четыре таких массива.

$ ls /dev/mapper/ control isw_dgjjcdcegc_ARRAY1 isw_dgjjcdcegc_ARRAY3 isw_dgjjcdcegc_ARRAY isw_dgjjcdcegc_ARRAY2  

Решение : это была статья mdadm Wikipedia, которая подтолкнула меня в правильном направлении. В этом ответе я опубликовал подробности о том, как все получилось .

6
Если бы ваша Windows была на аппаратном RAID-массиве, вы бы не смогли увидеть `/ dev / sda` и` / dev / sdb` как отдельные диски. Peter Eisentraut 14 лет назад 1
@Peter: Хорошо, спасибо. Я не знаю, как работает RAID для Windows, но в этом случае это не должно быть проблемой на стороне Linux, во всяком случае. Jonik 14 лет назад 0
Я думаю, что нашел что-то: http://en.wikipedia.org/wiki/Mdadm#Known_problems "Распространенная ошибка при создании устройств RAID заключается в том, что драйвер dmraid установил контроль над всеми устройствами, которые будут использоваться в новом Устройство RAID. Появятся такие сообщения об ошибках: mdadm: Невозможно открыть / dev / sdb1: устройство или ресурс занят ". Я попробую то, что предлагает статья Wiki. Jonik 14 лет назад 0

3 ответа на вопрос

5
Jonik

Наконец-то некоторый прогресс!

dmraidдействительно был виновником, как и предполагалось в статье Википедии от mdadm . Я попытался удалить пакеты dmraid (и работает, update-initramfsхотя я не уверен, что это актуально).

После этого и перезагрузки устройства /dev/mapperперестали работать (это нормально - мне не нужен доступ к разделам Windows NTFS в Linux):

$ ls /dev/mapper/ control 

И, главное, mdadm --createработает!

$ sudo mdadm -Cv -l1 -n2 /dev/md0 /dev/sda4 /dev/sdb4 mdadm: size set to 241095104K mdadm: array /dev/md0 started. 

Я проверил, /proc/mdstatи mdadm --detail /dev/md0оба показывают, что все в порядке с вновь созданным массивом.

$ cat /proc/mdstat [..]  md0 : active raid1 sdb4[1] sda4[0] 241095104 blocks [2/2] [UU] [==========>..........] resync = 53.1% (128205632/241095104)  finish=251.2min speed=7488K/sec  

Затем я создал файловую систему на новом разделе:

$ sudo mkfs.ext4 /dev/md0 

И, наконец, просто смонтировал эту вещь под /opt(и обновил /etc/fstab). (Конечно, я мог бы и здесь использовать LVM, но, честно говоря, в этом случае я не видел в этом никакого смысла, и я уже потратил достаточно времени, пытаясь заставить это работать ...)

Итак, теперь раздел RAID готов к использованию, и у меня достаточно места на диске. :-)

$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sdc5 70G 52G 15G 79% / /dev/md0 227G 188M 215G 1% /opt 

Обновление : все еще есть некоторые проблемы с этим моим устройством RAID. После перезагрузки его не удается смонтировать, хотя он у меня есть в fstab, и иногда (после перезагрузки) он оказывается в неактивном состоянии и не может быть смонтирован даже вручную. Смотрите следующий вопрос, который я разместил.

Я извиняюсь за то, что задаю вопросы, которые кажутся слишком сложными для суперпользователя ... ;-) Однако, я надеюсь, что это поможет кому-то еще в будущем (с некоторой помощью от Google). Jonik 14 лет назад 0
здесь уместно ответить на свой вопрос. Вы также можете принять свой собственный ответ. хорошая работа, чтобы понять это; вопрос был хорошо поставлен, и этот ответ - хорошее описание ситуации. quack quixote 14 лет назад 0
Да, я знаю (и приму, когда позволит срок). Я просто хотел добавить этот комментарий, будучи немного разочарован / удивлен тем, что по существу использовал SU только в качестве «резиновой утки». :-) Но неважно - я рад, что со временем все заработало. Jonik 14 лет назад 0
2
JoTraGo
sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd4 mdadm: Cannot open /dev/sda4: Device or resource busy mdadm: create aborted 

Этот трюк сработал для меня: Проверьте /proc/mdstat: запишите имя устройства, указанное там, например. md_d0, затем:

sudo mdadm --stop /dev/md_d0 

Теперь команда create должна работать.

1
silk

Возможно, глупый ответ, но - вы уверены, что sd 4 нигде не монтируется ubuntu?

А какая у вас материнская плата, как вы говорите про аппаратный рейд? Это может быть действительно программный рейд, который может беспокоить здесь.

Нет, sd 4 не были смонтированы. В некотором смысле разные RAID-системы действительно мешали друг другу ... см. Полное объяснение: http://superuser.com/questions/101630/creating-a-raid1-partition-with-mdadm-on-ubuntu/102111#102111 Jonik 14 лет назад 0