Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Вылетают диски из программного RAID10  (Прочитано 2557 раз)

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

Оффлайн CityAceE

  • Автор темы
  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Сейчас занимаюсь тем, что оптимизирую сервера в своём офисе. Удалось заменить три сервера, на которых крутился Windows Server 2003 одним сервером с Ubuntu Server 10.04.4. Чтобы всё было быстро и надёжно я установил в сервер 4 жёстких диска и организовал два программных RAID массива 10-го и 1-го уровней вот так:

sda (320 Gb): sda1 (md0 RAID10 636 Gb) sda2 (SWAP 2 Gb)
sdb (320 Gb): sdb1 (md0 RAID10 636 Gb) sdb2 (SWAP 2 Gb)
sdc (750 Gb): sdc1 (md0 RAID10 636 Gb) sdc2 (md1 RAID1 432 Gb)
sdd (750 Gb): sdd1 (md0 RAID10 636 Gb) sdd2 (md1 RAID1 432 Gb)

На md0 у меня располагается система и всё остальные сервисы, а на md1 просто файловое хранилище, предназначенное для чтения/записи пользователями локальной сети.

Система настроена и работала безотказно до вчерашнего дня. Вчера я начал заполнять файлами по сети массив md1. По началу всё было хорошо, но потом при записи файла сервер внезапно перестал отзываться. Я пошёл смотреть что с ним не так и с ужасом увидел, что система встала колом и в терминал сыпятся ошибки о невозможности записывать на md0. Перезагрузить сервер штатными средствами не удалось и я нажал на RESET. Но загрузиться сервер уже не смог! Загрузившись с LiveCD я попытался собрать RAID массивы, но получил ошибку о том, что md0 собран лишь из двух дисков и не может быть запущен. Живыми оказались части RAID'a расположенные на sda и sdb. Изрядно поплясав вокруг сервера, мне удалось таки запустить его, собрав md0 принудительно с помощью ключа --force. mdadm ругнулся, что два диска имеют некорректные superblock'и спросил моего подтверждения на принудительную сборку. После подтверждения RAID собрался, а сервер смог с него загрзуиться. При первой загрузке система обнаружила логические ошибки на md0 и исправила их. После этого сервер продолжил работу как ни в чём не бывало. Я даже ещё что-то заливал на md1 и всё было хорошо. Но сегодня я снова начал заполнять md1 файлами и ситуация повторилась! При этом люди, которые находились в тот момент возле сервера, сказали, что он пикнул спикером как при запуске. Я, конечно, снова запустил RAID тем же способом, но спокойствие окончательно покинуло меня! Я же умышленно ставил на сервер RAID, и не просто RAID, в RAID10, чтобы мои данные были в целости и сохранности. Ну и как теперь можно доверять этой системе?

Почему-то убиваются части RAID10, которые находятся на тех же физических дисках, на которых расположен RAID1, на который в свою очередь идёт активная запись. Ещё из подробностей: оба раза крах происходил во время записи объёмных файлов (первый раз это был 7z-архив объёмом в несколько гигабайт, а второй раз фильм AVI объёмом 1,4 Гб). Можно было бы предположить какие-то аппаратные проблемы, но на этом же самом железе несколько лет подряд сутки напролёт без единого сбоя крутился Windows Server 2003. Я склонен считать, что это всё таки программная проблема.

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

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Вылетают диски из программного RAID10
« Ответ #1 : 23 Март 2012, 07:41:12 »
Цитировать
sda (320 Gb): sda1 (md0 RAID10 636 Gb) sda2 (SWAP 2 Gb)
sdb (320 Gb): sdb1 (md0 RAID10 636 Gb) sdb2 (SWAP 2 Gb)
sdc (750 Gb): sdc1 (md0 RAID10 636 Gb) sdc2 (md1 RAID1 432 Gb)
sdd (750 Gb): sdd1 (md0 RAID10 636 Gb) sdd2 (md1 RAID1 432 Gb)
Ты сам писать или терминал вывод какая команд? :o
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн CityAceE

  • Автор темы
  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Вылетают диски из программного RAID10
« Ответ #2 : 23 Март 2012, 07:51:09 »
Сам так написал для удобства восприятия.
С уважением, Станислав.

Оффлайн Vened

  • Участник
  • *
  • Сообщений: 163
    • Просмотр профиля
Re: Вылетают диски из программного RAID10
« Ответ #3 : 23 Март 2012, 12:18:10 »
Извиняюсь, что немного не в тему...
Вы экономите очень некислые деньги отказываясь от MS. Неужели нельзя все-таки разориться на аппаратный RAID и отказаться от головной боли хотя бы в этом опросе? Тем более, что это еще и повысит надежность системы, и снизит финансовые риски.

Оффлайн CityAceE

  • Автор темы
  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Вылетают диски из программного RAID10
« Ответ #4 : 23 Март 2012, 13:44:07 »
Прежде чем ставить программный RAID я поизучал вопрос. Пишут, что это быстрее и даже надёжнее, чем аппаратные решения. Некоторые админы и вовсе ставят программные RAID'ы не смотря на наличие в системе соотвествующей железяки. Собственно поэтому я изначально остановился на таком решении. До этого с софтовыми RAID'ами дел не имел. Более того, для начала я сделал тестовый сервер и экcперементировал на нём - результат меня вполне удовлетворил. Но кто же знал, что оно всё так получится на боевом железе. И, кстати, на материнке есть какой-то RAID.
С уважением, Станислав.

Оффлайн Vened

  • Участник
  • *
  • Сообщений: 163
    • Просмотр профиля
Re: Вылетают диски из программного RAID10
« Ответ #5 : 23 Март 2012, 15:13:49 »
Если честно?!
Бред!!!
Ибо, если б программный RAID был такой надежней, какой-нить адаптек (читай: Intel, Promise и т.д.) давно б разорились.
Мой (скромный) опыт говорит в пользу аппаратных решений в данном вопросе.

Оффлайн Красноглазый

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: Вылетают диски из программного RAID10
« Ответ #6 : 23 Март 2012, 15:35:02 »
RAID 10 на софте - действительно опрометчиво.

На материнке скорее всего sata-raid, который обычно поддерживает только зеркалирование и реже raid5. В принципе я именно им бы и пользовался.

По опыту софтовых райдов/зеркал под виндовым сервером при наличии проблем хотя бы на одном диске скорость обращения к массиву падала порядка на два. Фактически приходилось останавливать сервер (поскольку все равно все висело), менять диск, запускаться с целой части и собирать зеркало/райд заново. Железка же работает практически как не бывало, только при наличии монитора предупреждает о необходимости принять меры для сохранения данных и замене носителя.

P.S. Кстати, систему и свап в любом случае лучше ставить без резервирования на отдельные физические разделы. Есть шанс, что систему клинит в процессе сохранения в свап на этом же райде при нехватке оперативки.
« Последнее редактирование: 23 Март 2012, 15:39:18 от Красноглазый »

Оффлайн Vened

  • Участник
  • *
  • Сообщений: 163
    • Просмотр профиля
Re: Вылетают диски из программного RAID10
« Ответ #7 : 23 Март 2012, 15:39:55 »
.. raid5 и в аппарате еще тот геморрой

Оффлайн CityAceE

  • Автор темы
  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Вылетают диски из программного RAID10
« Ответ #8 : 23 Март 2012, 15:44:39 »
Да я понимаю, что если аппаратные RAID-контролеры производятся, да ещё и стоят хороших, то это о чём-то говорит. Просто когда я изучал вопрос, сделал для себя вывод, что программный RAID это тоже весьма неплохо, а если неплохо, то зачем платить больше? Ну и в защиту программного RAID'а могу сказать, что на своих 4-х дисках я разместил два разнотипных массива, а, на сколько я знаю, аппаратное решение мне бы такой возможности не дало. Хотя, конечно, я подозреваю, что именно размещение на одних и тех же дисках частей разнотипных массивов и играет со мной злую шутку.
С уважением, Станислав.

Оффлайн Красноглазый

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: Вылетают диски из программного RAID10
« Ответ #9 : 23 Март 2012, 15:45:03 »
В данном случае диски разные, так что там только два зеркала получится...

Оффлайн CityAceE

  • Автор темы
  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Вылетают диски из программного RAID10
« Ответ #10 : 23 Март 2012, 15:46:59 »
Есть шанс, что систему клинит в процессе сохранения в свап на этом же райде при нехватке оперативки.
В моём случае это практически исключено, так как расход физической памяти ни разу ещё не поднимался выше 50%.

Пользователь решил продолжить мысль 24 Март 2012, 15:18:10:
В общем, что сделано, то сделано. Есть условия, которые описаны в первом сообщении и надо как-то спасать ситуацию исходя их того, что имеем. Я подумал-подумал и вот что придумал.

1. Оба раза сбой происходил, когда я записывал на md1 объёмные файлы.
2. Во время сбоя выходила из строя та часть md0, которая находилась на тех же физических дисках, что и md1, при этом md1 не страдал.

Из этих фактов я строю предположение, что во время записи на md1 (sdc2, sdd2), диски были на столько сильно заняты этим процессом, что массив md0 не смог вовремя получать доступ к sdc1 и sdd1, то есть той части массива, которая расположена на тех же физических дисках, что и md1. А раз система не могла получить доступ, то она посчитала, что эта часть RAID вышла из строя. Но беда в том, что мой RAID10 был создан следующей командой:

mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

А это значит, что было создано два зеркальных массива RAID1 A (sda1, sdb1) и RAID1 B (sdc1, sdd1), потом из двух RAID1 был создан последовательный RAID0, он же RAID10. В случае одновременного отказа двух дисков, RAID10 будет оставаться работоспособных, если эти два диска не будут принадлежать одному и тому же зеркалу. В моём же случае отказывали два диска, как раз принадлежащие одного и тому же зеркалу RAID1 B. А раз вылетел целый RAID1, то погибал и весь RAID10.

Получается, что нужно сделать так, чтобы первый RAID1 располагался на  дисках sda1 и sdc1, в второй RADI1 на дисках sdb1 и sdd1. Но части sda1 и sdd1 уже и так располагаются там, где нужно, поэтому нужно поменять местами лишь части sdb1 и sdc1. Сделать это можно так:

sudo mdadm /dev/md0 –f /dev/sdb1 #Помечаем раздел sdb1 как сбойный
sudo mdadm /dev/md0 -r /dev/sdb1 #Удаляем раздел sdb1 из массива
sudo mdadm --zero-superblock /dev/sdb1 #Удаляем информацию с раздела sdb1 о принадлежности к RAID

sudo mdadm /dev/md0 –f /dev/sdc1 #Помечаем раздел sdc1 как сбойный
sudo mdadm /dev/md0 -r /dev/sdc1 #Удаляем раздел sdс1 из массива
sudo mdadm --zero-superblock /dev/sdc1 ##Удаляем информацию с раздела sdc1 о принадлежности к RAID

sudo mdadm --add /dev/md0 /dev/sdc1 #Добавляем в RAID вначале раздел sdc1,
sudo mdadm --add /dev/md0 /dev/sdb1 #а потом sdb1

После того как прошёл resync, диски выстроились в нужной последовательности. Естественно, прежде чем производить данную процедуру, нужно сделать backup, а то мало ли что.
« Последнее редактирование: 24 Март 2012, 15:18:10 от CityAceE »
С уважением, Станислав.

Оффлайн CityAceE

  • Автор темы
  • Активист
  • *
  • Сообщений: 483
  • Ubuntu 18.04 amd64
    • Просмотр профиля
    • Speccy - наш выбор!
Re: Вылетают диски из программного RAID10
« Ответ #11 : 26 Март 2012, 15:09:43 »
После внесённых изменений отважился и скопировал по сети на md1 50 с лишним гигабайт образов дисков по 4-8 Гб каждый, то есть создал условия, при которых дважды присходил крах RAID'а. Уж не знаю, стечение ли это обстоятельств или действительно переделка пошла на пользу, но процесс прошёл гладко и без ошибок.
С уважением, Станислав.

Оффлайн Красноглазый

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: Вылетают диски из программного RAID10
« Ответ #12 : 26 Март 2012, 16:18:31 »
Изменение порядка дисков в райде может пойти на пользу, если в результате зеркала созданы из дисков, подключенных к разным контроллерам для лучшего распределения нагрузки. В противном случае подобные перемещения - мина замедленного действия, поскольку очень вероятно, что диски "сыпятся" и рано или поздно данные вы все равно потеряете.
« Последнее редактирование: 26 Март 2012, 16:21:55 от Красноглазый »

 

Страница сгенерирована за 0.121 секунд. Запросов: 24.