Differences

This shows you the differences between two versions of the page.

Link to this comparison view

drbd_ocfs2_debian_squeeze_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== DRBD + OCFS2 + Debian Squeeze ======
  
 + Aqui vou Abordar a instalação e configuração do DRBD + OCFS2, aonde vamos montar um raid1 via rede e trabalhar com escrita master/​master,​ ou seja caso um dos nodos caia ainda vamos continuar escrevendo no nodo que estiver ativo e quando o nodo que caiu voltar o drbd vai sincronizar os dados para ele ;)
 +
 +
 +  *  **Nome Nodo1:** debian25
 +  *  **Ip Nodo1:** 10.101.0.25
 +  *  **Partição utilizada Nodo1:** /dev/sdb1 dispositivo com 8 GB
 +  *  **Nome Nodo2:** debian26
 +  *  **Ip Nodo2:** 10.101.0.26
 +  *  **Partição utilizada Nodo2:** /dev/sdb1 dispositivo com 8 GB
 +
 +Prepare o seu sistema com o seguinte script http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialsqueeze_en para que não falte nenhum pacote ou configuração.
 +
 +
 +Vamos atualizar e fazer um upgrade do sistema nas duas maquinas
 +
 +<sxh bash>
 +
 +aptitude update && aptitude dist-upgrade -y
 +</​sxh>​
 +
 +Vamos acertar o /etc/hosts deixe como abaixo nos dois nodos.
 +
 +<sxh bash>
 +
 +vim /etc/hosts
 +127.0.0.1 ​      ​localhost
 +10.101.0.25 ​      ​debian25.douglasqsantos.com.br ​   debian25
 +10.101.0.26 ​      ​debian26.douglasqsantos.com.br ​   debian26
 +</​sxh>​
 +
 +Agora vamos instalar o drbd e o ocfs2 faça isso nos dois nodos
 +<sxh bash>
 +
 +aptitude install drbd8-utils ​ ocfs2-tools ocfs2-tools-dev -y
 +</​sxh>​
 +
 +Agora vamos carregar os módulos faça isso nos dois nodos
 +<sxh bash>
 +modprobe cn
 +modprobe drbd
 +depmod -a
 +</​sxh>​
 +
 +
 +====== Vamos configurar o DRBD ======
 +
 +
 +Deixe o arquivo como abaixo nos dois nodos
 +<sxh bash>
 +
 +vim /​etc/​drbd.conf
 +include "​drbd.d/​global_common.conf";​
 +#include "​drbd.d/​*.res";​
 +</​sxh>​
 +
 +Execute nas duas maquinas a parte abaixo.
 +
 +Vamos fazer backup do arquivo de configuração original
 +<sxh bash>
 +
 +cp /​etc/​drbd.d/​global_common.conf{,​.bkp}
 +</​sxh>​
 +
 +Deixe o arquivo como abaixo
 +<sxh bash>
 +
 +vim /​etc/​drbd.d/​global_common.conf
 +#/​etc/​drbd.conf
 +# Opções Globais
 +# Geralmente no início do arquivo. Poucas opções são definidas nesta seção.
 +#
 +global {
 + ​usage-count yes; # Gerar status da atualização do sistema de DRBD.
 +}
 +#
 +# Opções comuns a mais de um recurso, quando houver. No caso de existir opções
 +# definidas internamente ao recurso, elas irão sobrepor as opções comuns.
 +common {
 + ​protocol C; # Método de replicação. Neste caso, replicação síncrona.
 +}
 +###  ocfs2 usando 02 primários
 +resource r1 {
 + net {
 + # Permitir/​habilitar dois servidores primários.
 + ​allow-two-primaries;​ #Permite habilitar dois servidores primários
 + #​Descarta o último disco que se tornar primário em caso da quebra de 
 + #​consistência,​ quando os dois discos estiverem como secundários
 + ​after-sb-0pri discard-younger-primary;​
 + #​Entrar em consenso para descartar um disco após quebra de consistência
 + #​quando houver um disco primário. Geralmente é resolvido na opção anterior,
 + #Caso contrário, irá desconectar os dois discos
 + ​after-sb-1pri consensus;
 + #​Desconectar em caso de quebra de consistência quando houver dois discos primários
 + ​after-sb-2pri disconnect;
 +}
 + ​startup {
 + # Iniciar os dois servidores como primários, por padrão.
 + ​become-primary-on both;
 + # Espera 20 segundos pelo segundo nodo caso ele não suba podemos subir somente 1.
 + ​wfc-timeout 20;
 + }
 + ​syncer {
 + rate 600M; #Para placas de rede de 10/100 utilizar 10M
 + }
 +
 + on debian25 {
 + ​device ​    /​dev/​drbd1;​ # Nome do dispositivo de DRBD
 + ​disk ​      /​dev/​sdb1;​ # Dispositivo de baixo nível utilizado a partição
 + ​address ​   10.101.0.25:​7789; ​ # IP:porta de conexão
 + ​meta-disk internal; # Armazenamento das informações de dados é feito
 + # dentro do dispositivo de baixo nível.
 + }
 + on debian26 {
 + ​device ​  /​dev/​drbd1;​
 + ​disk ​     /dev/sdb1;
 + ​address ​  ​10.101.0.26:​7789;​
 + ​meta-disk internal;
 + }
 +}
 +</​sxh>​
 +
 +Agora vamos preparar o disco, faça isso nos dois nodos
 +<sxh bash>
 +
 +fdisk /dev/sdb
 +O dispositivo não contém nem uma tabela de partições DOS válida nem um rótulo de disco Sun, OSF ou SGI
 +Building a new DOS disklabel with disk identifier 0x6aadf3ff.
 +Changes will remain in memory only, until you decide to write them.
 +After that, of course, the previous content won't be recoverable.
 +
 +Aviso: a opção inválida 0x0000 da tabela de partições 4 será corrigida por gravação (w)
 +
 +WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
 + ​switch off the mode (command '​c'​) and change display units to
 + ​sectors (command '​u'​).
 +
 +Comando (m para ajuda): p
 +
 +Disk /dev/sdb: 8589 MB, 8589934592 bytes
 +255 heads, 63 sectors/​track,​ 1044 cylinders
 +Units = cilindros of 16065 * 512 = 8225280 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +Disk identifier: 0x6aadf3ff
 +
 +Dispositivo Boot      Start         ​End ​     Blocks ​  ​Id ​ System
 +
 +Comando (m para ajuda): n
 +Comando - ação
 + ​e ​  ​estendida
 + ​p ​  ​partição primária (1-4)
 +p
 +Número da partição (1-4): 1
 +Primeiro cilindro (1-1044, default 1): ENTER
 +Using default value 1
 +Last cilindro, +cilindros or +size{K,​M,​G} (1-1044, default 1044): ENTER
 +Using default value 1044
 +
 +Comando (m para ajuda): w
 +A tabela de partições foi alterada!
 +
 +Chamando ioctl() para reler tabela de partições.
 +Sincronizando discos.
 +</​sxh>​
 +
 +Agora vamos zerar as partições tem que ser executado nos dois nodos
 +<sxh bash>
 +
 +dd if=/​dev/​zero of=/​dev/​sdb1 bs=1M count=128
 +</​sxh>​
 +
 +Execute este comando nos dois nodos antes de passar para o próximo comando.
 +<sxh bash>
 +
 +drbdadm -- --discard-my-data connect r1
 + ​--===== ​ Thank you for participating in the global usage survey ​ =====--
 +The server'​s response is:
 +
 +you are the 6260th user to install this version
 +</​sxh>​
 +
 +Onde r1 é o nome do nosso dispositivo,​ que no arquivo de configuração do drbd está como resource r1.
 +
 +Execute este comando nos dois nodos antes de passar para o próximo comando.
 +<sxh bash>
 +
 +drbdadm create-md r1
 +Writing meta data...
 +initializing activity log
 +NOT initialized bitmap
 +New drbd meta data block successfully created.
 +success
 +</​sxh>​
 +
 +Execute este comando nos dois nodos antes de passar para o próximo comando.
 +<sxh bash>
 +
 +drbdadm attach r1
 +</​sxh>​
 +
 +Execute este comando nos dois nodos antes de passar para o próximo comando.
 +<sxh bash>
 +
 +drbdadm connect r1
 +</​sxh>​
 +
 +Pronto, agora podemos iniciar o drbd, inicie-o nos dois nodos com o seguinte comando:
 +<sxh bash>
 +
 + /​etc/​init.d/​drbd start
 +Starting DRBD resources:[ s(r1) ]1: State change failed: (-2) Refusing to be Primary without at least one UpToDate disk
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Refusing to be Primary without at least one UpToDate disk
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Refusing to be Primary without at least one UpToDate disk
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Refusing to be Primary without at least one UpToDate disk
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Refusing to be Primary without at least one UpToDate disk
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +</​sxh>​
 +
 +Podemos observar como está a situação do nosso dispositivo drbd com o seguinte comando.
 +<sxh bash>
 +
 +cat /proc/drbd
 +version: 8.3.7 (api:​88/​proto:​86-91)
 +srcversion: EE47D8BF18AC166BE219757
 +
 + 1: cs:​Connected ro:​Secondary/​Secondary ds:​Inconsistent/​Inconsistent C r----
 + ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:8385604
 +</​sxh>​
 +
 +Se em "​Connected st" estiver como !Primary/​Primary,​ está tudo ok, porém se estiver como !Secondary/​Secondary temos que forçar os dispositivos a passarem para primary e temos mais uma situação quanto ao dispositivo Unknown,
 +normalmente é quando um dos servidores não está operante por problemas de rede ou de configuração do arquivo do drbd. Então muita atenção a esses detalhes.
 +
 +Vamos levar em consideração que só estamos com o problema que os dois servidores estão como secondary, resolvemos com o seguinte comando. Este comando tem que ser rodado nos dois servidores.
 +
 +<sxh bash>
 +
 +drbdadm -- --overwrite-data-of-peer primary r1
 +</​sxh>​
 +
 +Agora vamos monitorar novamente.
 +<sxh bash>
 +
 +cat /proc/drbd
 +version: 8.3.7 (api:​88/​proto:​86-91)
 +srcversion: EE47D8BF18AC166BE219757
 +
 + 1: cs:​SyncTarget ro:​Primary/​Primary ds:​Inconsistent/​UpToDate C r----
 + ns:0 nr:1368684 dw:1368672 dr:12 al:0 bm:83 lo:1 pe:10097 ua:0 ap:1 ep:1 wo:b oos:7016932
 + ​[=====>​.................] sync'​ed:​ 16.4% (6852/​8188)M
 + ​finish:​ 0:01:04 speed: 109,344 (97,760) K/sec
 +</​sxh>​
 +
 +Agora é só esperar eles sincronizarem os dados, isso depende da placa de rede, da velocidade do disco e do tamanho do disco, fora os processos do drbd, se você notar muita lentidão em algum desses fatores, veja se não é bom fazer algum upgrade.
 +
 +Para acompanhar a sincronização pode utilizar o seguinte comando:
 +<sxh bash>
 +
 +watch cat /proc/drbd
 +Every 2,0s: cat /​proc/​drbd ​                             Mon May  7 11:20:16 2012
 +
 +version: 8.3.7 (api:​88/​proto:​86-91)
 +srcversion: EE47D8BF18AC166BE219757
 +
 + 1: cs:​SyncTarget ro:​Primary/​Primary ds:​Inconsistent/​UpToDate C r----
 +    ns:0 nr:4177692 dw:4176928 dr:80 al:0 bm:254 lo:24 pe:16500 ua:23 ap:1 ep:1
 +wo:b oos:4208676
 +        [====================>​...........] sync'​ed:​ 49.9% (4108/​8188)M
 +        finish: 0:00:47 speed: 89,128 (90,800) K/sec
 +</​sxh>​
 +
 +Agora depois de sincronizados
 +<sxh bash>
 +
 +cat /proc/drbd
 +version: 8.3.7 (api:​88/​proto:​86-91)
 +srcversion: EE47D8BF18AC166BE219757
 +
 + 1: cs:​Connected ro:​Primary/​Primary ds:​UpToDate/​UpToDate C r----
 + ​ns:​8385660 nr:0 dw:0 dr:8385860 al:0 bm:512 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
 +</​sxh>​
 +
 +====== Agora vamos configurar o OCFS2 ======
 +
 +
 +Vamos configurar o cluster para o ocfs2. Tem que ser configurado nos dois nodos.
 +<sxh bash>
 +vim /​etc/​ocfs2/​cluster.conf
 +node:
 + ​ip_port = 7777
 + ​ip_address = 10.101.0.25
 + ​number = 0
 + name = debian25
 + ​cluster = ocfs2
 +
 +node:
 + ​ip_port = 7777
 + ​ip_address = 10.101.0.26
 + ​number = 1
 + name = debian26
 + ​cluster = ocfs2
 +
 +cluster:
 + ​node_count = 2
 + name = ocfs2
 +</​sxh>​
 +
 +Agora vamos configurar o o2cb tem que ser configurado nos dois nodos.
 +<sxh bash>
 +sed -i '​s/​O2CB_ENABLED=false/​O2CB_ENABLED=true/​g'​ /​etc/​default/​o2cb
 +</​sxh>​
 +
 +Agora é so restartar o serviço nos dois nodos.
 +<sxh bash>
 +/​etc/​init.d/​o2cb restart && /​etc/​init.d/​ocfs2 restart
 +</​sxh>​
 +
 +Agora é so criar o sistema de arquivos ocfs2 no drbd, precimos fazer isso somente em um dos dois nodos
 +
 +**Opções:​** -C (indicado acima de 128K para grandes arquivos) -b (indicado 4K) -N qtd de nodos -L label para o a partição
 +<sxh bash>
 +
 +mkfs.ocfs2 -b 4K -C 128K -N 2 -L ocfs2 /dev/drbd1
 +mkfs.ocfs2 1.4.4
 +Cluster stack: classic o2cb
 +Label:
 +Features: sparse backup-super unwritten inline-data strict-journal-super
 +Block size: 4096 (12 bits)
 +Cluster size: 4096 (12 bits)
 +Volume size: 8586858496 (2096401 clusters) (2096401 blocks)
 +Cluster groups: 65 (tail covers 32017 clusters, rest cover 32256 clusters)
 +Extent allocator size: 4194304 (1 groups)
 +Journal size: 67108864
 +Node slots: 4
 +Creating bitmaps: done
 +Initializing superblock: done
 +Writing system files:
 +done
 +Writing superblock: done
 +Writing backup superblock: 2 block(s)
 +Formatting Journals: done
 +Growing extent allocator: done
 +Formatting slot map: done
 +Writing lost+found: done
 +mkfs.ocfs2 successful
 +</​sxh>​
 +
 +Agora é so montar a partição
 +
 +Vamos criar um diretório para o OCFS2 nos dois nodos e vamos montar.
 +<sxh bash>
 +
 +mkdir /ocfs2
 +mount.ocfs2 /dev/drbd1 /ocfs2/
 +</​sxh>​
 +
 +Vamos agora verificar as nossas partições
 +<sxh bash>
 +
 +df -Th
 +Sist. Arq.    Tipo    Size  Used Avail Use% Montado em
 +/​dev/​sda1 ​    ​ext3 ​   323M  147M  160M  48% /
 +tmpfs        tmpfs    249M     ​0 ​ 249M   0% /​lib/​init/​rw
 +udev         ​tmpfs ​   244M  168K  244M   1% /dev
 +tmpfs        tmpfs    249M     ​0 ​ 249M   0% /dev/shm
 +/​dev/​sda9 ​    ​ext3 ​   2,8G   ​69M ​ 2,6G   3% /home
 +/​dev/​sda8 ​    ​ext3 ​   234M  6,1M  216M   3% /tmp
 +/​dev/​sda5 ​    ​ext3 ​   2,8G  639M  2,0G  24% /usr
 +/​dev/​sda6 ​    ​ext3 ​   1,4G  273M  1,1G  21% /var
 +/​dev/​drbd1 ​  ​ocfs2 ​   8,0G  279M  7,8G   4% /ocfs2
 +</​sxh>​
 +
 +Como podemos ver temos a nossa partição montada com ocfs2
 +
 +Agora podemos deixar isso na inicialização do sistema nos dois nodos
 +<sxh bash>
 +echo "/​dev/​drbd1 /ocfs2 ocfs2 _netdev,​defaults 0 0" >> /etc/fstab
 +</​sxh>​
 +
 +Agora vamos ajustar a ordem de inicialização dos serviços no dois servidores
 +
 +Agora temos que acertar o o2cb nos dois nodos, o cabeçalho tem que ficar como abaixo, por que nas ultimas versões o drbd não ta funcionando corretamente no runlevel **S**
 +<sxh bash>
 +vim /​etc/​init.d/​o2cb
 +#!/bin/bash
 +# init fragment for O2CB.
 +#
 +# chkconfig: 2345 24 20
 +# description:​ Load O2CB cluster services at system boot.
 +#
 +### BEGIN INIT INFO
 +# Provides: o2cb
 +# Required-Start:​ $local_fs $network $syslog drbd
 +# Required-Stop: ​ $local_fs $network $syslog drbd
 +# Should-Start:​
 +# Required-Stop:​
 +# Default-Start:​ 2 3 4 5
 +# Default-Stop:​ 0 1 6
 +# Short-Description:​ Load O2CB cluster services at system boot.
 +# Description:​ Load O2CB cluster services at system boot.
 +### END INIT INFO
 +</​sxh>​
 +
 +Agora temos que acertar o ocfs2 nos dois nodos, o cabeçalho tem que ficar como abaixo, por que nas ultimas versões o drbd não ta funcionando corretamente no runlevel **S**
 +<sxh bash>
 +vim /​etc/​init.d/​ocfs2
 +#! /bin/bash
 +# Copyright (c) 2005 Oracle
 +# All rights reserved.
 +#
 +# chkconfig: 2345 25 19
 +# description:​ Mount OCFS2 volumes at boot.
 +#
 +### BEGIN INIT INFO
 +# Provides: ocfs2
 +# Required-Start:​ $local_fs $network $syslog o2cb
 +# Required-Stop:​ $local_fs $network $syslog o2cb
 +# X-UnitedLinux-Should-Start:​
 +# X-UnitedLinux-Should-Stop:​
 +# Default-Start:​ 2 3 4 5
 +# Default-Stop:​ 0 1 6
 +# Short-Description:​ Mount OCFS2 volumes at boot.
 +# Description: ​ Mount OCFS2 volumes at boot.
 +### END INIT INFO
 +</​sxh>​
 +
 +Agora temos que recarregar as configuração de inicialização dos serviços
 +
 +Vamos tirar os serviços da inicialização primeiro
 +<sxh bash>
 +insserv -r -v ocfs2
 +insserv -r -v o2cb
 +insserv -r -v drbd
 +</​sxh>​
 +
 +Agora vamos colocar eles na inicialização novamente
 +<sxh bash>
 +insserv -f -v drbd
 +insserv -f -v o2cb
 +insserv -f -v ocfs2
 +</​sxh>​
 +
 +Agora vamos reiniciar os dois nodos para testarmos se vai ser montado o drbd na inicialização
 +<sxh bash>
 +init 6
 +</​sxh>​
 +
 +Depois da inicialização nodo1
 +<sxh bash>
 +
 +uptime
 + ​15:​22:​11 up 0 min,  1 user,  load average: 0.26, 0.07, 0.02
 +df -Th
 +Sist. Arq.    Tipo    Size  Used Avail Use% Montado em
 +/​dev/​sda1 ​    ​ext3 ​   323M  147M  160M  48% /
 +tmpfs        tmpfs    249M     ​0 ​ 249M   0% /​lib/​init/​rw
 +udev         ​tmpfs ​   244M  168K  244M   1% /dev
 +tmpfs        tmpfs    249M     ​0 ​ 249M   0% /dev/shm
 +/​dev/​sda9 ​    ​ext3 ​   2,8G   ​69M ​ 2,6G   3% /home
 +/​dev/​sda8 ​    ​ext3 ​   234M  6,1M  216M   3% /tmp
 +/​dev/​sda5 ​    ​ext3 ​   2,8G  639M  2,0G  24% /usr
 +/​dev/​sda6 ​    ​ext3 ​   1,4G  273M  1,1G  21% /var
 +/​dev/​drbd1 ​  ​ocfs2 ​   8,0G  151M  7,9G   2% /ocfs2
 +</​sxh>​
 +
 +Depois da inicialização nodo2
 +<sxh bash>
 +
 +uptime
 +15:22:13 up 0 min,  1 user,  load average: 0.21, 0.12, 0.04
 +df -Th
 +Sist. Arq.    Tipo    Size  Used Avail Use% Montado em
 +/​dev/​sda1 ​    ​ext3 ​   323M  147M  160M  48% /
 +tmpfs        tmpfs    249M     ​0 ​ 249M   0% /​lib/​init/​rw
 +udev         ​tmpfs ​   244M  168K  244M   1% /dev
 +tmpfs        tmpfs    249M     ​0 ​ 249M   0% /dev/shm
 +/​dev/​sda9 ​    ​ext3 ​   2,8G   ​69M ​ 2,6G   3% /home
 +/​dev/​sda8 ​    ​ext3 ​   234M  6,1M  216M   3% /tmp
 +/​dev/​sda5 ​    ​ext3 ​   2,8G  639M  2,0G  24% /usr
 +/​dev/​sda6 ​    ​ext3 ​   1,4G  273M  1,1G  21% /var
 +/​dev/​drbd1 ​  ​ocfs2 ​   8,0G  151M  7,9G   2% /ocfs2
 +</​sxh>​
 +
 +
 +Caso de algum problema na inicialização como um dos dois nodos não ficar como primary temos podemos resolver da seguinte maneira
 +
 +Primeiro vamos mandar desmontar as partições montadas com o ocfs2 nos dois nodos
 +<sxh bash>
 +
 +umount /ocfs2
 +</​sxh>​
 +
 +Agora vamos mandar reiniciar o drbd nos dois nodos
 +<sxh bash>
 +
 +/​etc/​init.d/​drbd restart
 +</​sxh>​
 +
 +Agora vamos forçar a utilização dos dois nodos
 +<sxh bash>
 +
 +drbdadm -- --overwrite-data-of-peer primary r1
 +</​sxh>​
 +
 +Agora é so remontar as partições novamente nos dois nodos
 +<sxh bash>
 +
 +mount.ocfs2 /dev/drbd1 /ocfs2/
 +</​sxh>​
 +
 +====== ​ Erros de sincronismo ======
 + 
 +
 +Exemplo de erro de sincronismo dos discos, aonde perdemos a consistencia dos dados, com isso vamos precisar acertar este erro.
 +<sxh bash>
 +
 +cat /proc/drbd
 +version: 8.3.7 (api:​88/​proto:​86-91)
 +srcversion: EE47D8BF18AC166BE219757
 +
 + 1: cs:​StandAlone ro:​Secondary/​Unknown ds:​Outdated/​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:b oos:258100
 +
 +</​sxh>​
 +
 +No nodo2 vamos mandar ele desconsiderar os dados que ele já tem e resincronizar com o nodo1
 +<sxh bash>
 +
 +drbdadm -- --discard-my-data connect r1
 +</​sxh>​
 +
 +Agora vamos verificar a sincronismo.
 +<sxh bash>
 +
 +cat /proc/drbd
 +version: 8.3.7 (api:​88/​proto:​86-91)
 +srcversion: EE47D8BF18AC166BE219757
 +
 + 1: cs:​SyncTarget ro:​Secondary/​Primary ds:​Inconsistent/​UpToDate C r----
 +    ns:0 nr:293128 dw:287336 dr:0 al:0 bm:19 lo:1448 pe:35179 ua:1448 ap:0 ep:1 wo:b oos:​207647312
 +  [>​....................] sync'​ed: ​ 0.2% (202780/​203060)M
 +  finish: 1:00:10 speed: 57,464 (57,464) K/sec
 +
 +</​sxh>​
 +
 +Assim que terminar este processo precisamos somente forçar os dois como primary da seguinte forma
 +<sxh bash>
 +
 +drbdadm -- --overwrite-data-of-peer primary r1
 +</​sxh>​
 +
 +O discos ainda sincronizando e forçados como primary.
 +<sxh bash>
 +
 +cat /proc/drbd
 +version: 8.3.7 (api:​88/​proto:​86-91)
 +srcversion: EE47D8BF18AC166BE219757
 +
 + 1: cs:​SyncSource ro:​Primary/​Primary ds:​UpToDate/​Inconsistent C r----
 +    ns:22204456 nr:0 dw:0 dr:22211888 al:0 bm:1356 lo:40 pe:1833 ua:1797 ap:0 ep:1 wo:b oos:​185737536
 +  [=>​..................] sync'​ed:​ 10.7% (181384/​203060)M
 +  finish: 0:55:40 speed: 55,560 (47,940) K/sec
 +
 +</​sxh>​
 +
 +Agora precisamos mandar reiniciar o o2cb e o ocfs2
 +<sxh bash>
 +/​etc/​init.d/​o2cb restart && /​etc/​init.d/​ocfs2 restart
 +</​sxh>​
 +====== Referências ======
 +
 +  - http://​www.drbd.org/​
 +  - http://​www.drbd.org/​docs/​about/​
 +  - http://​www.drbd.org/​docs/​install/​
 +  - http://​www.drbd.org/​docs/​applications/​
 +  - http://​oss.oracle.com/​projects/​ocfs/​
 +  - http://​oss.oracle.com/​projects/​ocfs/​documentation/​
 +  - http://​www.drbd.org/​users-guide-emb/​s-configure-split-brain-behavior.html
 +  - http://​www.drbd.org/​users-guide-emb/​re-drbdconf.html
 +  - http://​www.drbd.org/​users-guide-emb/​ch-troubleshooting.html