Как изменить/исправить неправильно обнаруженный массив dmraid (FakeRaid) RAID 10

Как изменить/исправить неправильно обнаруженный массив dmraid (FakeRaid) RAID 10

Я пытаюсь заставить dmraid правильно обнаружить существующий массив RAID 10, который отлично работает в Windows 7. Вкратце, настройка диска и разбиение BIOS выглядят следующим образом:

  • 2 x SSD (120 ГБ), RAID 0.

    Разделено на: 180 GB (win7)и 58 GB (Ubuntu).

    Оба прекрасно обнаруживаются и монтируются в Ubuntu.

  • 4 x HDD (2 ТБ), RAID 1+0. Один раздел 4 ТБ.

    Не работает в Ubuntu.


Сама установка Ubuntu находится на паре дисков с разделами и работает нормально. Два раздела (180 ГБ и 58 ГБ) соответствуют следующим LVM (я позволил себе отформатировать данные для удобства чтения):

#$ sudo dmsetup информация /dev/dm-{1,2,3,4,5}
|----------+--------+--------------+----------+----------+--------|
| dev/dm-0 | ubuntu | pdc_hjijcjji | контейнер | | 58 ГБ |
| дев/дм-1 | убунту | pdc_hjijcjji1 | / | ext4 | 54 ГБ |
| дев/дм-2 | убунту | pdc_hjijcjji2 | | расширенный | 4,3 ГБ |
| dev/dm-3 | win 7 | pdc_fjhhdeeg | контейнер | | 180 ГБ |
| дев/дм-4 | убунту | pdc_hjijcjji5 | | обмен | 4,3 ГБ |
| dev/dm-5 | win 7 | pdc_fjhhdeeg1 | | ntfs | 180 ГБ |
|----------+--------+--------------+----------+----------+--------|

Массив Raid 10 (который мне нужен для работы в Ubuntu) состоит из четырех дисков по 2 ТБ и дает результирующий массив 4 ТБ. Кажется, dmraidон знает об этом массиве, учитывая следующий вывод:

#$ sudo dmraid -r
|----------+--------+------------------+---------+-------------------------+----------------+---------|
| Устройство | Формат | Имя | Тип | Статус? | Размер (секторов) | ? |
|----------+--------+------------------+---------+-------------------------+----------------+---------|
| /dev/sdf | pdc | pdc_fjhhdeeg | полоса | ok | 175781248 | data@ 0 |
| /dev/sde | pdc | pdc_fjhhdeeg | полоса | ok | 175781248 | data@ 0 |
| /dev/sdd | pdc | pdc_bjibibahah-1 | полоса | ok | 1758766336 | data@ 0 |
| /dev/sdc | pdc | pdc_bjibibahah-1 | полоса | ok | 1758766336 | data@ 0 |
| /dev/sda | pdc | pdc_bjibibahah-0 | полоса | ok | 1758766336 | data@ 0 |
| /dev/sdb | pdc | pdc_bjibibahah-0 | полоса | ok | 1758766336 | data@ 0 |
|----------+--------+------------------+---------+-------------------------+----------------+---------|

Что меня немного сбивает с толку, так как я ожидал, что массив, pdc_hjijcjji, также будет здесь отображаться. Возможно, поскольку это раздел внутри чередующегося диска, он включен в pdc_fjhhdeeg. В любом случае, чередующийся массив работает нормально, так что я не слишком беспокоюсь об этом.

pdc_hjijcjjiпоявляется при запуске dmraid -s:

#$ sudo dmraid -s
|-----------+----------------+-------------+--------------|
| Имя | pdc_bjibibahah | pdc_fjhhdeeg | pdc_hjijcjji |
|-----------+----------------+-------------+--------------|
| | Суперсет | Активный набор | Активный набор |
| Размер (-h) | 1,677 ТБ | 167,6 ГБ | 54,0 ГБ |
| Размер | 3517532672 | 351562496 | 113281024 |
| Шаг | 128 | 128 | 128 |
| Тип | raid10 | полоса | полоса |
| Статус | ок | ок | ок |
| Подмножества | 2 | 0 | 0 |
| Разработчики | 4 | 2 | 2 |
| Запчасти | 0 | 0 | 0 |
|-----------+----------------+-------------+--------------|
# Размер указан в блоках по 512 байт.

Где pdc_bjibibahah, похоже, соответствует массиву Raid10, за исключением того, что у него странный размер (1,677 ТБ, по сравнению с примерно 4 ТБ). Попытка активировать это с помощью dmraid -ayприводит к монтированию устройства объемом 1,677 ТБ, которое сообщается как нераспределенные данные.

Работает sudo dmraid -s -siна bjibibahahмассиве:

#$ sudo dmraid -s -si
|-----------+----------------+------------------+------------------|
| Имя | pdc_bjibibahah | pdc_bjibibahah-0 | pdc_bjibibahah-1 |
|-----------+----------------+------------------+------------------|
| | Супермножество | Подмножество | Подмножество |
| Размер (-h) | 1,638 ТБ | 1,638 ТБ | 1,638 ТБ |
| Размер | 3517532672 | 3517532672 | 3517532672 |
| Шаг | 128 | 128 | 128 |
| Тип | raid10 | полоса | полоса |
| Статус | ок | ок | ок |
| Подмножества | 2 | 0 | 0 |
| Разработчики | 4 | 2 | 2 |
| Запчасти | 0 | 0 | 0 |
|-----------+----------------+------------------+------------------|

Я пробовал настраивать массивы вручную, но безуспешно, и страница manтоже не слишком помогает. Если у кого-то есть предложения по настройке dmraidили как убедить его изменить конфигурацию массива RAID10, я был бы очень благодарен.

Вот несколько выводов, если это имеет значение:

$ sudo dmraid -V
версия dmraid: 1.0.0.rc16 (2009.09.16) общий
Версия библиотеки dmraid: 1.0.0.rc16 (2009.09.16)
Версия device-mapper: 4.20.0

$ sudo dmsetup --version
Версия библиотеки: 1.02.48 (2010-05-20)
Версия драйвера: 4.20.0

$ uname -srvm
Linux 3.0.0-16-generic #28-Ubuntu SMP Пятница Янв 27 17:44:39 UTC 2012 x86_64

$ lsb_release -a
Модули LSB отсутствуют.
Идентификатор дистрибьютора: Ubuntu
Описание: Ubuntu 11.10
Выпуск: 11.10
Кодовое имя: онейрический

Кроме того, настройки RAID-массива RAID10 в BIOS соответствуют следующим дискам в Ubuntu: Код:

|---------+------------+--------------|
| Порт:ID | Назначение | Имя диска ОС |
|---------+------------+--------------|
| 01:01 | LD 1-1 | /dev/sda |
| 02:01 | LD 1-2 | /dev/sdb |
| 03:01 | LD 1-3 | /dev/sdc |
| 04:01 | LD 1-4 | /dev/sdd |
|---------+------------+--------------|

Обновлять:Забыл упомянуть, что у меня материнская плата Crosshair V, использующая встроенный AMD SB950контроллер.

Обновление 2:При запуске sudo dmraid -s -ccs pdcя получаю следующие сообщения об ошибках:

ОШИБКА: pdc: неверное количество устройств в RAID-наборе "pdc_fjhhdeeg" [1/2] на /dev/sdf
ОШИБКА: pdc: неверное количество устройств в RAID-наборе "pdc_fjhhdeeg" [1/2] на /dev/sde
ОШИБКА: pdc: неверное количество устройств в RAID-наборе "pdc_bjibibahah-1" [1/2] на /dev/sdd
ОШИБКА: pdc: неверное количество устройств в RAID-наборе "pdc_bjibibahah-1" [1/2] на /dev/sdc
ОШИБКА: pdc: неверное количество устройств в RAID-наборе "pdc_bjibibahah-0" [1/2] на /dev/sdb
ОШИБКА: pdc: неверное количество устройств в RAID-наборе "pdc_bjibibahah-0" [1/2] на /dev/sda
*ЭЭР*

Если я опущу спецификатор pdc и просто напишу, то sudo dmraid -s -ccsполучу еще более загадочный результат:

*ЭЭР*
*ЭЭР*
*ЭЭР*

Обновление 3:Мне удалось удалить неправильно настроенный массив, используя sudo dmraid -rEпредложенный способв askubuntu QA здесь. Я все еще получаю ошибки "ERROR: pdc: неверное число устройств в RAID-наборе ...", которые, похоже, мешают дальнейшему прогрессу. Я продолжу искать решения этой проблемы.

Редактировать:Могу ли я добавить какую-либо информацию, которая могла бы помочь кому-то мне?

решение1

ОК :) Итак, вот ваша цель:

4 x HDD (2 TB), RAID 1+0. Single 4TB partition.

Поскольку он сообщает всего лишь о 1,6 ТБ, такой большой объем недостающего хранилища, на мой взгляд, указывает на проблему с метаданными.

Я бы предложил снести весь массив и убедиться, что метаданные стерты с помощью dmraid -rE. Затем, как только эти диски больше не будут отображаться, попробуйте создать простой RAID1 из 2 дисков 2T, емкость вашего контейнера должна быть ближе к 1,8-1,9, чем к 1,6. После проверки,затемсоздайте свою полосу, которая должна просто сложить две вместе. Если это не работает, у вас может быть ошибка либо в прошивке, либо в самой системе dmraid.

dmraid — это эээ... интересно, учитывая выбор, я бы предпочел не использовать его. По сути, вы берете всю сложность md-raid, без какого-либо увеличения производительности, а затем смешиваете множество различных форматов метаданных от разных поставщиков, а затем делитесь этими метаданными с несколькими операционными системами, полагаясь, что ОС, с которой вы ими поделились, не испортит метаданные.

Вы можете попробовать заменить вышедшие из строя элементы после того, как вы сделаете эту конфигурацию стабильной, RAID — это просто большая единая точка отказа, если вы не можете ее обслуживать. Удачи.

В ответ на вашу проблему с dmraid -rE На этом этапе у вас есть только один вариант — dd if=/dev/zero ... и стереть данные с дисков.

решение2

У меня та же самая проблема, и я думаю, что наконец (после нескольких дней гугления без удовлетворительного ответа) нашел ее.

Я считаю, что это ОШИБКА - где-то для количества секторов используется 32-битное беззнаковое целое число (dmraid ?).

Обратите внимание, количество секторов на (моем) диске объемом 2 ТБ: 3906898048, что при умножении на 512 Б/сектор дает 2,0 ТБ или 1,8 ТБ. При чередовании это число должно удвоиться, но вместо этого получается: 3518828800 секторов, что при умножении на 512 Б/сектор дает 1,8 ТБ или 1,6 ТБ.

Учитывая, что Windows 10 правильно считывает размер 4 ТБ на этом разделе RAID10, ошибка, скорее всего, на стороне Linux.

Преобразовано в двоичный код: 3906898048 -> 0000 1110 1000 1101 1110 1000 1000 1000 0000 2x 3906898048 -> 0001 1101 0001 1011 1101 0001 0001 0000 0000 3518828800 -> 0000 1101 0001 1011 1101 0001 0001 0000 0000

Может кто-нибудь разобраться и создать патч? Спасибо.

Связанный контент