29 мая 2013 г., 23:17 пользователь "Артём Н." <artio...@yandex.ru> написал:

> 28.05.2013 23:06, Aleksandr Sytar пишет:
> >
> > 28 мая 2013 г., 21:02 пользователь "Артём Н." <artio...@yandex.ru
> > <mailto:artio...@yandex.ru>> написал:
> >
> >     Мало того, для DRBD надо создавать метаданные.
> >     Есть ли вариант без этого?
> >     Т.е., если один диск упадёт, его было возможно легко заменить
> (просто выключив
> >     сервер, вынув испорченный диск и вставив новый)?
> >     И, если одна машина упадёт, всё работало бы и на одной второй?
> >
> >
> > Только если упавший диск будет в момент падения слейвом.
> >
> С этим ясно. В принципе, переключение может сделать и Pacemaker.
>
> > Метаданные можно хранить внутри раздела, но это, как понимаете, чревато
> боком
> >
> Сейчас метаданные и хранятся внутри раздела.
> Проблема в том, что при замене диска, придётся создавать метаданные.
> Это нереально.
> Сегодня я перезагрузил один, он не поднялся, видимо из-за того, что
> репозиторий
> на DRBD я прописал в fstab, забыл про модуль и ещё таймаут оставил нулевым
> (и
> ещё где-то напортачил, скорее всего).
> Позвонил, чтобы посмотрели, почему не загружается. Дежурный инженер этот
> сервер
> даже в консольке не смог найти. Завтра надо ехать.
> Так что, про ручное пересоздание кем-то, каких-то метаданных DRBD,
> говорить не
> приходится.
>

А почему вы не хотите переложить управление статусом DRBD на Pacemaker?


>
> Единственный вариант, если что-то сдохнет: выключить, перебросить дохлый
> диск на
> живой и снова включить.
>
> Остаётся только RAID-0 поверх двух RAID-1 и объединение в общее хранилище
> каким-либо образом по сети или использование двух независимых хранилищ?
>
> При падении ОС, вариант - показать какую строчку набрать, на какую кнопку
> нажать.
> Как сделать так, чтобы было реально восстановить, при этом не сохраняя
> полный
> терабайтный образ?
>
>
Посмотрите в сторону хендлеров состояний DRBD:

handlers {
pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh;
/usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ;
reboot -f";
 pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh;
/usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ;
reboot -f";
 local-io-error "/usr/lib/drbd/notify-io-error.sh;
/usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ;
halt -f";
fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
 split-brain "/usr/lib/drbd/notify-split-brain.sh root";
out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
 before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 --
-c 16k";
after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
 }

Ответить