The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"DRBD: manual split brain recovery"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Файловые системы, диски)
Изначальное сообщение [ Отслеживать ]

"DRBD: manual split brain recovery"  +/
Сообщение от metallic (ok) on 07-Июн-13, 15:27 
Гоняю на стенде XEN поверх DRBD и рулится это все pacemaker'ом. Система Debian 7.0
Специально спровоцировал split brain, теперь не получается разрешить его вручную, вот что имею на текущий момент:

Первая нода

# cat /proc/drbd
version: 8.3.11 (api:88/proto:86-96)
srcversion: 41C52C8CD882E47FB5AF767

2: cs:StandAlone ro:Secondary/Unknown ds:Consistent/DUnknown   r-----
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

Вторая нода

# cat /proc/drbd
version: 8.3.11 (api:88/proto:86-96)
srcversion: 41C52C8CD882E47FB5AF767

2: cs:StandAlone ro:Primary/Unknown ds:UpToDate/Outdated   r-----
    ns:0 nr:0 dw:0 dr:1328 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:10528

Хочу реплицировать изменения на ноду 1, т.е. считать ее жертвой и потерять на ней данные.

Перевожу вторую ноду в режим ожидания подключения командой: drbdadm connect Win2012

node2:/var/log# cat /proc/drbd
version: 8.3.11 (api:88/proto:86-96)
srcversion: 41C52C8CD882E47FB5AF767

2: cs:WFConnection ro:Primary/Unknown ds:UpToDate/Outdated C r-----
    ns:0 nr:0 dw:0 dr:1660 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:10528
3: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----

На первой ноде даю команду тоже подключиться и потерять свои изменения: drbdadm -- --discard-my-data connect Win2012
Только ничего не получается, обе ноды все равно возвращаются в StandAlone, а влогах вот что:

Jun  7 19:14:53 node1 kernel: [ 1834.472901] block drbd2: conn( StandAlone -> Unconnected ).
Jun  7 19:14:53 node1 kernel: [ 1834.472924] block drbd2: Starting receiver thread (from drbd2_worker [4805])
Jun  7 19:14:53 node1 kernel: [ 1834.474016] block drbd2: receiver (re)started
Jun  7 19:14:53 node1 kernel: [ 1834.474025] block drbd2: conn( Unconnected -> WFConnection ).
Jun  7 19:14:54 node1 kernel: [ 1835.072865] block drbd2: Handshake successful: Agreed network protocol version 96
Jun  7 19:14:54 node1 kernel: [ 1835.072875] block drbd2: conn( WFConnection -> WFReportParams ).
Jun  7 19:14:54 node1 kernel: [ 1835.072909] block drbd2: Starting asender thread (from drbd2_receiver [6480])
Jun  7 19:14:54 node1 kernel: [ 1835.073132] block drbd2: conn( WFReportParams -> Disconnecting ).
Jun  7 19:14:54 node1 kernel: [ 1835.073191] block drbd2: asender terminated
Jun  7 19:14:54 node1 kernel: [ 1835.073194] block drbd2: Terminating drbd2_asender
Jun  7 19:14:54 node1 kernel: [ 1835.073237] block drbd2: Connection closed
Jun  7 19:14:54 node1 kernel: [ 1835.073242] block drbd2: conn( Disconnecting -> StandAlone ).
Jun  7 19:14:54 node1 kernel: [ 1835.073295] block drbd2: receiver terminated
Jun  7 19:14:54 node1 kernel: [ 1835.073297] block drbd2: Terminating drbd2_receiver

Что я не так делаю?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "DRBD: manual split brain recovery"  +/
Сообщение от metallic (ok) on 07-Июн-13, 15:30 
Забыл про конфиг ресурса

resource Win2012 {

  handlers {
      fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
      after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
   }

  disk {
    fencing resource-only;
  }

  syncer {
    verify-alg md5;
  }

  net {
    allow-two-primaries;

    after-sb-0pri discard-younger-primary;
    after-sb-1pri discard-secondary;
    after-sb-2pri disconnect;

  }

  device    /dev/drbd2;
  disk      /dev/virtuals/win2012;
  meta-disk internal;

  on node1 {
    address   10.0.0.91:7789;
  }

  on node2 {
    address   10.0.0.92:7789;
  }

  startup {
    become-primary-on both;
  }
}


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "DRBD: manual split brain recovery"  +/
Сообщение от Andrey Mitrofanov on 07-Июн-13, 15:39 
> Хочу реплицировать изменения на ноду 1, т.е. считать ее жертвой и потерять
> на ней данные.
> Перевожу вторую ноду в режим ожидания подключения командой: drbdadm connect Win2012
> На первой ноде даю команду тоже подключиться и потерять свои изменения: drbdadm
> -- --discard-my-data connect Win2012
> Только ничего не получается, обе ноды все равно возвращаются в StandAlone, а
> влогах вот что:

На http://www.drbd.org/users-guide-8.3/s-resolve-split-brain.html _порядок_ выполенения комвнд обратный, вроде.
Сначала на жертве, потом на источнике.

И команд в мануале три, а не две.
Сначала _две_ на жертве, потом _одна_ на источнике.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "DRBD: manual split brain recovery"  +/
Сообщение от metallic (ok) on 07-Июн-13, 15:47 
> На http://www.drbd.org/users-guide-8.3/s-resolve-split-brain.html _порядок_ выполенения
> комвнд обратный, вроде.
> Сначала на жертве, потом на источнике.
> И команд в мануале три, а не две.
> Сначала _две_ на жертве, потом _одна_ на источнике.

Это не имеет значения. Первая команда на жертве - перевод в секондари режим, но она и так в нем. И порядок выполнения тоже не критичен, какая разница кто первый переходит в режим ожидания подключения, жертва или источник репликации? Главное жертве указать, что она жертва.

П.С. пробовал строго по мануалу - результат такой же.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "DRBD: manual split brain recovery"  +/
Сообщение от Andrey Mitrofanov on 07-Июн-13, 16:02 
>> Сначала _две_ на жертве, потом _одна_ на источнике.
> Это не имеет значения.
> П.С. пробовал строго по мануалу - результат такой же.

Не заклялось, значит. В интернетах нашёл ещё заклинание -- сделать
drbdadm disconnect <resourse>
перед "--discard-my-data connect".

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "DRBD: manual split brain recovery"  +/
Сообщение от metallic (ok) on 07-Июн-13, 16:05 
>>> Сначала _две_ на жертве, потом _одна_ на источнике.
>> Это не имеет значения.
>> П.С. пробовал строго по мануалу - результат такой же.
> Не заклялось, значит. В интернетах нашёл ещё заклинание -- сделать
> drbdadm disconnect <resourse>
> перед "--discard-my-data connect".

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

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру