28 марта 2024, 20:36

Цитата дня:

От тяжелой работы еще никто не умирал, это верно, но зачем рисковать? Рональд Рейган


Программный RAID в Ubuntu Server 16.04

Автор Юсупов Игорь, 17 ноября 2016, 10:29

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Вниз

Юсупов Игорь

Ситуация такая. Есть сервер, на котором поднят RAID0 (md0: sdb1, sdc1), всё работает. Добавил два диска (sdd, sde), которые надо собрать в RAID1. Разметил как надо вроде ...

Диск /dev/sde: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0x000e0d47

Устр-во    Загрузочный Start Конец Секторы  Size Id Тип
/dev/sde1               2048 3907029167 3907027120  1,8T fd Автоопределение Linux raid

Диск /dev/sdd: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0x00000000

Устр-во    Загрузочный Start Конец Секторы  Size Id Тип
/dev/sdd1               2048 3907029167 3907027120  1,8T fd Автоопределение Linux raid

Однако при создании массива вылазит вот это

sudo mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sdd1 /dev/sde1

mdadm: super1.x cannot open /dev/sdd1: Device or resource busy
mdmon: ddf: Cannot use /dev/sdd1: Device or resource busy
mdmon: Cannot use /dev/sdd1: It is busy
mdadm: cannot open /dev/sdd1: Device or resource busy

Где копать?
mdstat выдаёт вот такое

md0 : active raid0 sdc1[1] sdb1[0]
      624877568 blocks super 1.2 512k chunks
     
md127 : inactive sde1[0](S) sdd1[3](S)
      4192256 blocks super 1.1

Что за md127 - непонятно.
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Уваров А.С.

А кто их уже под RAID разметил? Откуда тип - raid? Поэтому и не собирается. Сделайте на один диск обычную разметку, потом скопируйте через dd на второй и соберите массив.

Юсупов Игорь

Размечал сам, делал по инструкции с убунтовского сайта (ссылку дам позже, сейчас в другом месте). RAID0 поднимал точно таким же способом, размечая диски под linux raid Буду пытаться по другому.
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Уваров А.С.

Размечать диски "под raid" не надо, создаете на одном из них самую обычную разметку. Затем копируете ее на второй, после чего собираете  массив. И только после этого тип раздела изменится на raid. А md127 - это как раз последствия вашей разметки, так обозначается "сломанный" массив.

Юсупов Игорь

Пытался проделать в самых разных вариантах. Фишка в том, что при создании любой разметки диск тут же становится занят, а в списке появляется неактивный md127 Нормально сработало только в одном случае: когда удалил все разделы и выполнил
sudo mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sdd /dev/sde
Вот только насколько это правильно? ...
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Юсупов Игорь

fdisk -l выдаёт следующее

The primary GPT table is corrupt, but the backup appears OK, so that will be used.
Диск /dev/sdd: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: gpt
Идентификатор диска: 4C1F3AA6-B4E0-408E-A52F-7A300FC127B5

The primary GPT table is corrupt, but the backup appears OK, so that will be used.
Диск /dev/sde: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: gpt
Идентификатор диска: B35626CE-E903-4644-82A2-E6F5CDC2D71E

Диск /dev/md1: 1,8 TiB, 2000264691712 байтов, 3906766976 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Уваров А.С.

Вот только насколько это правильно? ...
Перед тем, как собирать массив нужно было создать разделы.

Итак, сначала:

1. Полностью убиваем всю разметку, иначе будет собираться md127
2. Размечаем первый диск (форматировать не обязательно)
3. Копируем разметку на второй при помощи dd
4. Собираем массив

Юсупов Игорь

Ну, собственно, так и пытался. Может не тем способом разметку убивал, но как только появлялись разделы - появлялся и md127
Как лучше всего полностью убить разметку? Только из терминала 8 )
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Уваров А.С.

fdisk или gdisk, если GPT разметка.

Юсупов Игорь

Снос/создание разделов не помогло, всё так же после создания разделов появлялся md127
Однако идея остановить его командой sudo mdadm --stop /dev/md127 сработала, после  чего массив успешно собрался.
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Уваров А.С.

Ну или так. Смысл там в чем: система видит на диске метку RAID и пытается собрать массив, если это не удается - создается md127. Для того, чтобы этого избежать нужно полностью удалить разметку.

Но ваш путь тоже заслуживает внимания и подтверждает тот факт, что Linux (UNIX) в умелых руках предоставляет неограниченные возможности. Недаром мы в цитаты дня поместили:

UNIX не предназначен для ограждения своих пользователей от глупостей, поскольку это оградило бы их и от умных вещей. Дуг Гвин

Юсупов Игорь



Смысл там в чем: система видит на диске метку RAID и пытается собрать массив, если это не удается - создается md127. Для того, чтобы этого избежать нужно полностью удалить разметку.
Самое смешное - удалял и делал другую, разве что swap не ставил 8 ) И всё равно как только появлялся хоть один раздел хоть на одном диске - создавался md127 Может повлияло то, что диски до меня уже стояли в raid и это записалось глубже чем я могу знать (хотя сложно что-то представить глубже чем зануление через dd), может mdadm настроен по умолчанию считать все новые разделы raid-ом и пытаться их собрать ... В любом случае всё сработало 8 )
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Юсупов Игорь

Linux (UNIX) в умелых руках предоставляет неограниченные возможности
Вот только бы на родном языке актуальной документации побольше ... А то с иностранного как делать - понимаю, а почему так и как оно работает - знаний языка уже не хватает 8 ( В гугле же основная масса для вариантов 15-20 летней давности 8 (
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Уваров А.С.

Может повлияло то, что диски до меня уже стояли в raid и это записалось глубже чем я могу знать (хотя сложно что-то представить глубже чем зануление через dd)
Именно оно и повлияло. Причем пишется данный признак на уровне таблицы разделов, поэтому dd тут не поможет, а только полная переразметка через fdisk/gdisk

OnkelV

Юсупов Игорь, а таки всё равно - молодец. Добился!  :beer:
Компьютеры крепкие, а софт можно переустановить!

Юсупов Игорь

#15
20 ноября 2016, 18:29 Последнее редактирование: 20 ноября 2016, 18:32 от Юсупов Игорь
а только полная переразметка через fdisk/gdisk
И это не помогало ... Ну и я честно думал, что dd глубже берёт ... fdisk/gdisk - первое что было проделано.
Хотя, как выразился (лет 20 назад) автор одной статьи: глюки иногда бывают полезны для общего развития 8 )
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

Уваров А.С.

И это не помогало ... Ну и я честно думал, что dd глубже берёт ... fdisk/gdisk - первое что было проделано.
Простая переразметка тут не поможет, у fdisk/gdisk есть опция которая полностью перезаписывает таблицу разделов - это помогает.

Юсупов Игорь

Юсупов Игорь, а таки всё равно - молодец. Добился!  :beer:
Как недавно выяснилось - бился напрасно ... Руководство приняло решение перейти полностью на винду (это обязательное условие для приобретения по программе "Первая ПОмощь"). Причина - запускают платный кружок по робототехнике, а софт для роботов только виндовый. Так что буду всё переделывать 8 )
Современные технологии - это, конечно, хорошо ...
Но использовать то, что есть - тоже своего рода искусство.

OnkelV

платный кружок по робототехнике
Ну, раз платный - пусть покупают и платят сверху до низу, пока сами не охренеют от своей крутости.
А зато вы поднаторели и мастерство не пропьёшь!
Компьютеры крепкие, а софт можно переустановить!

Вверх