LINUX.ORG.RU
ФорумAdmin

Что делали целых 20 лет линуксятники с RAID1?

 


0

5

Сегодня хочется публично поматерится, т.к. других слов просто не находится.

Предыистория.
Есть у меня один простенький дедик. Ввиду простоты использую на нем программный RAID1, большего и не требуется.
Лет 5 назад с трудом собрал его по совершенно идиотским инструкциям.
Идиотским - потому что ни одна из инструкций, рассыпаных в Инете, на друг друга не похожи, каждый «афтор» внес свою «посильную лепту» и в результате все эти инструкции описывают рутинную сборку одного и того же RAID1 по разному, и какая их них правильная - хз.
Но все же кое-как удалось собрать этот рейд, и 5 лет он честно проработал.

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

И вот, то, что когда-то должно было произойти, свершилось: недавно на одном диске SMART обнаружил BAD-блоки, как гарантии серверных дисков исполнилось 5 лет, на одном диске SMART обнаружил растущие BAD-блоки.
Решил поменять его на резервный ДО того, как он окончательно грохнется.
Сначала расцепил RAID, потом размонтировал разделы на битом диске, короче, сделал все по науке - если считать «наукой» эти опять же разные инструкции по этой процедуре.
Затем сменил битый диск, попытался загрузиться - а фиг вам!
Сначала вроде грузится, показывает загрузчик, а потом идет ругань на неправильный имидж.
Но этот же один исправный диск должен запуститься один, самостоятельно, вне зеркала!
Пришлось пока снова вернуться на битый диск.

Вопрос: и на кой тогда вообще этот программный RAID1 в Linux??
По идее, он должен повысить отказоустойчивость дисковой системы, причем - автоматически.
Но какое же тут повышение, если, во-первых, при отказе одного из дисков система тут же перестает работать,
а во-вторых, чтобы восстановить её работоспособность, нужен ручной труд, причем - квалифицированный?
По правильным инструкциям и т.д. Но по любому, автоматизма здесь - НЕТ!

Для сравнения: вспоминаю старые времена, когда имел дело еще с NT4.
И вот, уж тогда в этой системе, ныне называющейся древней, чтобы собрать зеркало, нужно было всего лишь кликнуть мышкой на нужном диске, откинуться на спинку стула и попивать кофеёк - потому что дальнейшая сборка происходила автоматически, и система при этом даже выполняла основные задачи, хотя и немного медленнее.
Если происходил сбой зеркала, вмешательство админа не требовалось -система его собирала автоматически!
Более того - если один из дисков склеил ласты, то система продолжала работать на одном!
И достаточно было сменить битый диск, как он автоматически собирался в зеркало!

NT4 была создана еще в далеком в 1996.
Сейчас 2016 год, и всего этого в «RAID1 от Linux» - до сих пор нет!
Спрашивается - что делали 20 (двадцать, Карл!) грёбаные линуксятники, именующие себя «разработчиками»?!
Не иначе, как х$м груши околачивали.

★★★★★

Ответ на: комментарий от chukcha

за это время не создали удобный менеджер управления рейдами?

Он есть:

NAME
       mdadm - manage MD devices aka Linux Software RAID
Или ты хочешь гуй с чекбоксами ? А кому он нужен, когда все с серверами по ssh общаются с любого девайса ? А с окошками что делать в этой ситуации ? :-)

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)

У меня нет слов, кроме man man. Хотя да, чукча же не читатель, чукчу писатель.

redgremlin ★★★★★
()
Ответ на: комментарий от chukcha

Работает Soft RAID1 на mdadm.
Один из винтов ломается, рейд рассыпается.

Что при этом должно дальше происходить - система должна
продолжать и дальше работать на уцелвшем винте?

Да, до попытки перезагрузиться. Результат же перезагрузки зависит от того, как ты настроил загрузчик для работы с RAID. Но, на сколько помню, с RAID1 проблем с ним не было, так что, вероятнее всего, перезагрузится. За исключением ситуаций, когда проблема загрузки - багофича какого-то конкретного дистрибутива.

AS ★★★★★
()
Ответ на: комментарий от AS

Ну хрен его знает.

Ставил debian 8, во время установки сделал raid1 без одного диска. Grub собирал массив, грузил систему, в логе загрузки ругань на отсутствие диска. Потом диск докинул и добавил его в массив.

Radjah ★★★★★
()

Нужно было мануалы читать, а не тупые инструкции. Если не понимаешь, как оно работает, зачем вообще связываться.

Тред не читал.

post-factum ★★★★★
()

труд, причем - квалифицированный?

труд, причем - квалифицированный!

petav ★★★★★
()

Говняный троллинг))

anonymous
()

У меня тоже рейд1, тоже софтовый, были проблемы с дисками, но замена диска и добавление его в рэйд прошло без проблем вообще. Думаю, вы что-то делали не так.

hills_of_eternity
()
Ответ на: комментарий от AS

Результат же перезагрузки зависит от того, как ты настроил загрузчик для работы с RAID. Но, на сколько помню, с RAID1 проблем с ним не было

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

gruy ★★★★★
()
Ответ на: комментарий от Jameson

Анонимус одобряет

Годно-интересно писал.

anonymous
()
Ответ на: комментарий от Jameson

Для более ответственных задач и продакшена райд нужен аппаратный.

zfs с её raidz(1,2,3) очень хороша для продакшена.

King_Carlo ★★★★★
()
Ответ на: комментарий от chukcha

Я *бал — закоренелый вендузятник рассказывает, кому место на ЛОРе. Извините.

anonymous
()

Я правильно понимаю, что под «расцепил рейд» ты имел ввиду mdadm --remove raid_device?

roman77 ★★★★★
()

всё правильно сказал

у линуксоидов фетиш такой - на ручную работу

любят дрочить в консоль ребята

anonymous
()
Ответ на: комментарий от anonymous

Хочешь готовый продукт - плати

а я думал, швабодкофаны делают качественное ПО действительно по фану, а оказывается, что швабодкофаны такие же барыги злостные

anonymous
()
Ответ на: комментарий от Deleted

Я поражаюсь: человек вместо чтения документации читает какие-то инструкции в инете от васи и поражается что ничего не работает.

Подумал о том же. Хотя, похоже, топикстартеру не рассказали о ней.

Deleted
()
Ответ на: комментарий от hills_of_eternity

что-то делали не так

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

ddos3
()
Ответ на: комментарий от chukcha

Покормлю вас немного, сударь.
Ваш вопрос поставлен провокационно, истина же такова:
- soft-RAID1 работает отлично у меня и многих других людей. Разверну мысль: резервирует данные, автоматически позволяет системе работать и перезагружаться с отвалившимся зеркалом, прозрачно восстанавливаться и уведомлять админа.
- судя по вашему посту вы действительно некомпетентны в вопросе. Это объясняет, почему лично у вас проблемы с Linux и вам нравится Windows. В сущности, ничего плохого или необычного в этом нет.
- единственное, в чём вас, возможно, стоит упрекнуть, так это в том, что, как и любой невежественный в какой-то области человек, вы считаете возможным хаять эту область. Впрочем, это общее свойство невежественных людей.
Удачи.

Stage1 ★★
()
Ответ на: комментарий от anonymous

Свободный - это не значит бесплатный. Свободный этот тот, который подчиниется четырём правилам(свободам).

The freedom to run the program as you wish, for any purpose (freedom 0).

> The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this. > The freedom to redistribute copies so you can help your neighbor (freedom 2). > The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this. https://www.gnu.org/philosophy/free-sw.html

anonymous
()
Ответ на: комментарий от Radjah

Ну хрен его знает.

Он, как правило, всё знает.

Ставил debian 8

Это всего лишь один из даже Дебианов, не говоря уж про остальной дистроватч.

AS ★★★★★
()
Ответ на: комментарий от King_Carlo

линуксятники сделали лучший в мире soft-raid

Это который не умеет элементарных вещей типа создать зеркало не похерив данные и без ребута?

EvgGad_303 ★★★★★
()
Ответ на: комментарий от trancefer

Насколько вообще сейчас актальная проблема термокалибровки? Ее разве до сих пор применяют?

Чем плотнее запись тем актуальнее. Её винт сам делает, когда ему приспичит. Один из механизмов самообслуживания, пользователь на это влиять не в состоянии.

Jameson ★★★★★
()
Ответ на: комментарий от EvgGad_303

Это который не умеет элементарных вещей типа создать зеркало не похерив данные и без ребута?

Вообще-то умеет.

dexpl ★★★★★
()

как ты умудрился 2 звезды нажрать?

targitaj ★★★★★
()
Ответ на: комментарий от King_Carlo

zfs с её raidz(1,2,3) очень хороша для продакшена.

Поверх контроллера с автономной памятью и BBU да. Иначе возможны схожие проблемы. Бесперебойник вместо полноценного райда не катит. Зависнуть можно из за багов в ядре и потерять критичные для здоровья ZFS циферки, парашют в этом случае не спасёт, а кеш на контроллере с BBU - да. ZFS тоже не является «серебрянной пулей» и не заменяет, а лишь дополняет спецжелезку.

Jameson ★★★★★
()
Ответ на: комментарий от dexpl

Вообще-то, нет, иначе зачем тогда пляски с degraded и копированием данных. А если это не просто данные, а система, то вообще цирк начинается.

EvgGad_303 ★★★★★
()

Пока здесь набежало специалистов по рейдам - можно ли сделать так, что если винт сдох, чтобы его просто вынули и вставили другой и он автоматом подцепился? А еще, посоветуйте плиз SAS-совместимых SATA корзин.

slapin ★★★★★
()

Спрашивается - что делали 20 (двадцать, Карл!) грёбаные линуксятники, именующие себя «разработчиками»?!

Не думали про интеллектуальный загрузчик и выбор правильной половинки. У них до сих пор нужно переустанавливать загрузчик на зеркале, если один диск (по закону Мерфи - с загрузчиком) вышел из строя!

RAID-1, как таковой, не специфицирует порядок загрузки. Но по идее всегда должен подхватываться уцелевший диск:)

iZEN ★★★★★
()
Ответ на: комментарий от Jameson

А что сделать, если рейд-контроллер 5-летнй давности сдох - есть ли какая совместимость по метаданным у аппаратный рейдов? Или просто возможность вытащить данные с дисков и пересобрать софтрейд на коленке, пока новый контроллер доставляют? Я понимаю, что можно держать запас на складе, но это не дешевое железо, часто просто ещё одного контроллера нет.

slapin ★★★★★
()
Ответ на: комментарий от EvgGad_303

зачем тогда пляски с degraded и копированием данных

А что, где-то по-другому?

А если это не просто данные, а система, то вообще цирк начинается.

Замена одной строки в одном конфиге и три команды — это далеко не цирк. Хотя если у каких-то злобных буратин система не на LVM, то они сами себе злобные буратины и без ребута не обойдутся.

dexpl ★★★★★
()
Ответ на: комментарий от slapin

можно ли сделать так, что если винт сдох, чтобы его просто вынули и вставили другой и он автоматом подцепился?

покупаешь сервер с hp smart array p420...

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от slapin

можно ли сделать так, что если винт сдох, чтобы его просто вынули и вставили другой и он автоматом подцепился?

Если речь про mdraid, то можно; см. параметр POLICY в `man mdadm.conf` (action=force-sapre, ЕМНИП).

dexpl ★★★★★
()
Ответ на: комментарий от slapin

А что сделать, если рейд-контроллер 5-летнй давности сдох - есть ли какая совместимость по метаданным у аппаратный рейдов? Или просто возможность вытащить данные с дисков и пересобрать софтрейд на коленке, пока новый контроллер доставляют? Я понимаю, что можно держать запас на складе, но это не дешевое железо, часто просто ещё одного контроллера нет.

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

5 лет не срок для серверного железа, обычно отыскать аналогичную железку с целью временно одолжить не так сложно. Обычно достаточно поддерживать хорошие рабочие контакты с поставщиками железа, коллегами по профессии и подмена на время найдётся. В лично моих деловых отношениях на взаимопомощи много чего держится.

Аккум к BBU вообще должен рассматриваться как расходник с плановой заменой раз в два года, поскольку без него карета превращается в тыкву. Юзанные аккумы выкидывать не обязательно, я их отдаю прикормленным умельцам из сервиса, они в них банки меняют и я их обратно в оборот пускаю. Выходит дешевле чем за полную стоимость+накрутки покупать у поставщика.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)

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

Davyd ★★
()
Ответ на: комментарий от targitaj

рассказывай

Дано: /dev/sda, на нем /boot (/dev/sda1), и LVM-группа volumegroup (/dev/sda2), в ней /, /home и swap (примерно такое разбиение по умолчанию в центоси); /dev/sdb того же размера, что и /devsda, только что вынутый из упаковки и подключенный к хосту. Требуется: сделать raid1 из /dev/sda и /dev/sdb.

Решение:
*) проверяем, что все регулярно делаемые резервные копии, которые у нас, как у взрослых людей, делаются на носители, отличные от /dev/sda и /dev/sdb, сделались и лежат там, где должны
*) fdisk /dev/sdb и создаем на нем primary-раздел во весь диск типа fd (linux raid)
*) mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing
*) sfdisk -d /dev/sda | sfdisk /dev/md0 либо fdisk /dev/md0 и создаем разделы под новый /boot и LVM PV
*) pvcreate /dev/md0p2
*) vgextend volumegroup /dev/md0p2
*) for lv in /dev/volumegroup/* ; do pvmove --atomic ${lv} /dev/sda2 /dev/md0p2 ; done
*) vgreduce volumegroup /dev/sda2
*) mkfs.ext4 /dev/md0p1 && mkdir /tmp/1 && mount /dev/md0p1 /tmp/1 && rsync -av /boot/* /tmp/1 && umount /boot /tmp/1 && mount /dev/md0p1 /boot
*) wipefs -a /dev/sda
*) sfdisk -d /dev/sdb | sfdisk /dev/sda
*) mdadm --manage /dev/md0 --add /dev/sda1
*) grub2-install --no-floppy --recheck /dev/sdb (или grub-install, или какой там у вас загрузчик);
*) меняем параметры командной строки ядра в конфигурации загрузчика в соотвествии с выводом dracut --print-cmdline
*) проверяем актуальность /etc/fstab
*) echo 'DEVICE partitions' > /etc/mdadm.conf && mdadm --detail --scan >> /etc/mdadm.conf && дописываем /etc/mdadm.conf по вкусу
*) пересобираем initrd — dracut -f -v
Если LVM-группы нет, то вместо pvcreate/vgextend/pvmove будут mkfs, mount во временный каталог, chroot и reboot перед добавлением к массиву /dev/sda; изменение конфигов загрузчика и новый initrd делаем изнутри chroot. Вроде бы ничего не забыл, но гарантий не даю и рекламаций не приму.

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

fdisk /dev/sdb и создаем на нем primary-раздел во весь диск типа fd (linux raid)
Это который не умеет элементарных вещей типа создать зеркало не похерив данные и без ребута?
не похерив данные

на диске УЖЕ есть данные, какие в жопу fdisk

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

на диске УЖЕ есть данные

Да, поэтому (и потому, что из одного диска ты отказоустойчивое зеркало один хрен не сделаешь) мы первым делом вынимаем из упаковки и подключаем к хосту новый диск. Еще один, помимо того, на котором данные. И делаем на нем fdisk и mdadm --create.

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

А теперь я расскажу как это делается в нормальных серверах. Вставил диск в корзину - создал рейд/добавил в массив. Всё.

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Вставил диск в корзину - создал рейд

А данные со старого диска на этот рейд астральным способом перенеслись, так?

/добавил в массив

Как? Спрашиваю, чтобы было что сравнить с mdadm --manage --add.

dexpl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.