Differences

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

Link to this comparison view

bonding_para_heartbeat_mais_bonding_para_drbd_e_ocfs2_no_debian_wheezy_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Wheezy ======
  
 +
 +E ai galera, aqui eu vou abordar a configuração de bonding para termos a redundância de interfaces físicas para para o serviço de HA, pois o Heartbeat vai trabalhar no bond0 e o drbd + ocfs2 vai trabalhar no bond1, aqui eu estou utilizando o algoritmo round-robin que faz o balanceamento dos dados, porém temos outros algoritmos que podemos utilizar para o mesmo fim.
 +
 +Eu quero aqui ganhar disponibilidade do servidor e aumentar a performance de acesso a rede, aonde temos as vezes gargalos como no serviço do DRBD que é um raid1 via rede.
 +
 +Como vai funcionar, aqui vamos agrupar 2 interfaces para montar um bond para o Heartbeat e agrupar as outras 2 interfaces para montar o bond para o DRBD, caso caia alguma das interfaces por causa de algum problema de hardware o servidor vai continuar funcionando pois temos uma interface de "​**Backup**"​ trabalhando,​ caso as duas estejam funcionando vamos fazer o balanceamento de carga entre elas com isso melhorando a performance.
 +
 +
 +
 +Prepare o seu sistema com o seguinte script http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialwheezy_en para que não falte nenhum pacote ou configuração.
 +
 +**O que vou utilizar:**
 +
 +  - **Nome Nodo1:** nodo1
 +   - **Ip DMZ:** 192.168.25.40/​24 -> **VLAN DMZ**
 +   - **Ip DMZ HA:** 192.168.25.42/​24 -> **VLAN DMZ**
 +   - **Ip Dados:** 172.20.0.40/​24 -> **VLAN Dados**
 +   - **Interfaces de rede:** eth0, eth1, eth2, eth3
 +   - **Partição utilizada Nodo1:** /dev/sdb1 dispositivo com 8 GB
 +
 +  - **Nome Nodo2:** nodo2
 +   - **Ip DMZ:** 192.168.25.41/​24 -> **VLAN DMZ**
 +   - **Ip DMZ HA:** 192.168.25.42/​24 -> **VLAN DMZ**
 +   - **Ip Dados:** 172.20.0.41/​24 -> **VLAN Dados**
 +   - **Interfaces de rede:** eth0, eth1, eth2, eth3
 +   - **Partição utilizada Nodo2:** /dev/sdb1 dispositivo com 8 GB
 +
 +
 +====== Instalação e configuração do Bond ======
 +
 +Agora vamos mandar atualizar os repositórios e instalar os pacotes para o bond no servidor nodo1
 +
 +
 +<sxh bash>
 +
 +aptitude update && aptitude install ifenslave ethtool -y
 +</​sxh>​
 +
 +Agora acertar a configuração dos módulos do kernel
 +<sxh bash>
 +
 +echo "​options bonding mode=0 miimon=100" ​ >> /​etc/​modprobe.d/​bonding.conf
 +</​sxh>​
 +
 +Vamos verificar se todas as interfaces estão com link
 +<sxh bash>
 +
 +mii-tool ​
 +eth0: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +eth1: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +eth2: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +eth3: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +</​sxh>​
 +
 +Agora vamos acertar a configuração de rede para o bonding
 +<sxh bash>
 +
 +vim /​etc/​network/​interfaces
 +#Interface de loopback
 +auto lo
 +iface lo inet loopback
 +
 +#Interface de bonding para DMZ
 +auto bond0
 +  iface bond0 inet static
 +  address 192.168.25.40
 +  netmask 255.255.255.0
 +  network 192.168.25.0
 +  gateway 192.168.25.1
 +  bond-slaves eth0 eth1
 +
 +#Interface de bonding para Dados
 +auto bond1
 +  iface bond1 inet static
 +  address 172.20.0.40
 +  netmask 255.255.255.0
 +  network 172.20.0.0
 +  bond-slaves eth2 eth3
 +</​sxh>​
 +
 +Agora precisamos reiniciar o servidor
 +<sxh bash>
 +
 +reboot
 +</​sxh>​
 +
 +Agora vamos listar as nossas interfaces para verificar se subiu o bond e os endereços ips
 +<sxh bash>
 +
 +ifconfig
 +bond0     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​3f:​b0:​b8  ​
 +          inet end.: 192.168.25.40 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe3f:​b0b8/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​12604 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:265 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​1088563 (1.0 MiB)  TX bytes:42992 (41.9 KiB)
 +
 +bond1     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ff:​cd:​7c  ​
 +          inet end.: 172.20.0.40 ​ Bcast:​172.20.0.4155 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​feff:​cd7c/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​12260 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​1050542 (1.0 MiB)  TX bytes:440 (440.0 B)
 +
 +eth0      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​3f:​b0:​b8  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​6478 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​563560 (550.3 KiB)  TX bytes:22857 (22.3 KiB)
 +
 +eth1      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​3f:​b0:​b8  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​6126 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:133 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​525003 (512.6 KiB)  TX bytes:20135 (19.6 KiB)
 +
 +eth2      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ff:​cd:​7c  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​6134 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​525539 (513.2 KiB)  TX bytes:278 (278.0 B)
 +
 +eth3      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ff:​cd:​7c  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​6126 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​525003 (512.6 KiB)  TX bytes:162 (162.0 B)
 +
 +lo        Link encap:​Loopback Local  ​
 +          inet end.: 127.0.0.1 ​ Masc:​255.0.0.0
 +          endereço inet6: ::1/128 Escopo:​Máquina
 +          UP LOOPBACKRUNNING ​ MTU:​16436 ​ Métrica:1
 +          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:168 (168.0 B)  TX bytes:168 (168.0 B)
 +</​sxh>​
 +
 +O bonding para o nodo1 já está ok agora vamos configurar o nodo2
 +
 +Agora vamos mandar atualizar os repositórios e instalar os pacotes para o bond no servidor nodo2
 +<sxh bash>
 +
 +aptitude update && aptitude install ifenslave ethtool -y
 +</​sxh>​
 +
 +Agora acertar a configuração dos módulos do kernel
 +<sxh bash>
 +
 +echo "​options bonding mode=0 miimon=100" ​ >> /​etc/​modprobe.d/​bonding.conf
 +</​sxh>​
 +
 +Vamos verificar se todas as interfaces estão com link
 +<sxh bash>
 +
 +mii-tool ​
 +eth0: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +eth1: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +eth2: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +eth3: no autonegotiation,​ 1000baseT-FD flow-control,​ link ok
 +</​sxh>​
 +
 +Agora vamos acertar a configuração de rede para o bonding
 +<sxh bash>
 +
 +vim /​etc/​network/​interfaces
 +#Interface de loopback
 +auto lo
 +iface lo inet loopback
 +
 +#Interface de bonding para DMZ
 +auto bond0
 +  iface bond0 inet static
 +  address 192.168.25.41
 +  netmask 255.255.255.0
 +  network 192.168.25.0
 +  gateway 192.168.25.1
 +  bond-slaves eth0 eth1
 +
 +#Interface de bonding para Dados
 +auto bond1
 +  iface bond1 inet static
 +  address 172.20.0.41
 +  netmask 255.255.255.0
 +  network 172.20.0.0
 +  bond-slaves eth2 eth3
 +</​sxh>​
 +
 +Agora precisamos reiniciar o servidor
 +<sxh bash>
 +
 +reboot
 +</​sxh>​
 +
 +Agora vamos listar as nossas interfaces para verificar se subiu o bond e os endereços ips
 +<sxh bash>
 +
 +ifconfig
 +bond0     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​e4:​58:​4b  ​
 +          inet end.: 192.168.25.41 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fee4:​584b/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​1204 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:75 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​105536 (103.0 KiB)  TX bytes:9338 (9.1 KiB)
 +
 +bond1     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​d2:​4e:​60  ​
 +          inet end.: 172.20.0.41 ​ Bcast:​172.20.0.4155 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fed2:​4e60/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​1109 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:92286 (90.1 KiB)  TX bytes:258 (258.0 B)
 +
 +eth0      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​e4:​58:​4b  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:649 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:59308 (57.9 KiB)  TX bytes:3903 (3.8 KiB)
 +
 +eth1      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​e4:​58:​4b  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:555 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:46228 (45.1 KiB)  TX bytes:5435 (5.3 KiB)
 +
 +eth2      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​d2:​4e:​60  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:555 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:46182 (45.0 KiB)  TX bytes:180 (180.0 B)
 +
 +eth3      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​d2:​4e:​60  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:554 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:46104 (45.0 KiB)  TX bytes:78 (78.0 B)
 +
 +lo        Link encap:​Loopback Local  ​
 +          inet end.: 127.0.0.1 ​ Masc:​255.0.0.0
 +          endereço inet6: ::1/128 Escopo:​Máquina
 +          UP LOOPBACKRUNNING ​ MTU:​16436 ​ Métrica:1
 +          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 +</​sxh>​
 +
 +Vamos testar agora a conectividade entre os dois
 +
 +Vamos mandar pingar do nodo1 para o nodo2
 +<sxh bash>
 +
 +ping -c 3 192.168.25.41
 +PING 192.168.25.41 (192.168.25.41) 56(84) bytes of data.
 +64 bytes from 192.168.25.41:​ icmp_req=1 ttl=64 time=1.85 ms
 +64 bytes from 192.168.25.41:​ icmp_req=2 ttl=64 time=0.528 ms
 +64 bytes from 192.168.25.41:​ icmp_req=3 ttl=64 time=0.867 ms
 +
 +--- 192.168.25.41 ping statistics ---
 +3 packets transmitted,​ 3 received, 0% packet loss, time 2000ms
 +rtt min/​avg/​max/​mdev = 0.528/​1.083/​1.855/​0.563 ms
 +</​sxh>​
 +
 +Agora vamos mandar pingar do nodo2 para o srv1
 +<sxh bash>
 +
 +ping -c 3 172.20.0.40
 +PING 172.20.0.40 (172.20.0.40) 56(84) bytes of data.
 +64 bytes from 172.20.0.40:​ icmp_req=1 ttl=64 time=4.31 ms
 +64 bytes from 172.20.0.40:​ icmp_req=2 ttl=64 time=0.590 ms
 +64 bytes from 172.20.0.40:​ icmp_req=3 ttl=64 time=0.425 ms
 +
 +--- 172.20.0.40 ping statistics ---
 +3 packets transmitted,​ 3 received, 0% packet loss, time 2000ms
 +rtt min/​avg/​max/​mdev = 0.425/​1.777/​4.318/​1.798 ms
 +</​sxh>​
 +
 +Agora que o bond está pronto vamos configurar o Heartbeat para garantirmos um ip virtual compartilhado entre os servidores que é o que o cliente vai utilizar para acessar os serviços, este ip sempre vai estar o servidor que for definido como master e caso ele caia por algum motivo o servidor slave vai assumir este ip e o cliente nem vai notar que esta trabalhando em outro servidor.
 +
 +Vamos acertar o arquivo de hosts, deixe o arquivo como o abaixo nos dois servidores.
 +<sxh bash>
 +vim /etc/hosts
 +127.0.0.1 ​    ​localhost
 +192.168.25.40 ​  ​nodo1.douglasqsantos.com.br ​  nodo1
 +192.168.25.41 ​  ​nodo2.douglasqsantos.com.br ​  nodo2
 +
 +# The following lines are desirable for IPv6 capable hosts
 +::1     ​ip6-localhost ip6-loopback
 +fe00::0 ip6-localnet
 +ff00::0 ip6-mcastprefix
 +ff02::1 ip6-allnodes
 +ff02::2 ip6-allrouters
 +</​sxh>​
 +
 +====== Instalação e configuração do Heartbeat ======
 +
 +Agora vamos instalar o heartbeat no nodo2
 +<sxh bash>
 +aptitude update && aptitude dist-upgrade -y && ​ apt-get install heartbeat heartbeat-dev -y
 +</​sxh>​
 +
 +Agora vamos acertar a configuração do heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​ha.cf
 +#informe os nomes dos computadores que formam a replicação(deve ser igual a saída do comando "uname -n
 +node nodo1
 +node nodo2
 +
 +#qual a interface vai ser usada para comunicação
 +mcast bond0 225.0.0.1 694 1 0
 +
 +#Fazer com que a máquina principal receba seus serviços quando retornar a ativa
 +auto_failback on
 +
 +#arquivos de log
 +debugfile /​var/​log/​ha-debug
 +logfile /​var/​log/​ha-log
 +
 +#​freqüência,​ em segundos, da verificação das máquinas
 +keepalive 1
 +
 +#tempo mínimo para declarar a outra máquina como morta
 +deadtime 5
 +</​sxh>​
 +
 +Agora vamos acertar a configurção do nosso ip compartilhado pelo heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​haresources
 +nodo1 IPaddr::​192.168.25.42/​24/​bond0/​192.168.25.255
 +</​sxh>​
 +Explicando o arquivo acima
 +  - **nodo1**: nome do servidor master
 +  - **IPaddr::​192.168.25.42/​24**:​ ip que vai ser compartilhado pelo Heartbeat
 +  - **bond0**: Interface que vai receber o ip compartilhado pelo Heartbeat
 +  - **192.168.25.40**:​ Endereço de broadcast
 +
 +Agora vamos acertar o arquivo com a senha de autenticação entre os heartbeats
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​authkeys
 +auth 3
 +3 md5 h34rt64t
 +</​sxh>​
 +
 +Agora vamos acertar as permissões do arquivo de senha
 +<sxh bash>
 +
 +chmod 600 /​etc/​ha.d/​authkeys
 +</​sxh>​
 +
 +Agora vamos instalar o heartbeat no nodo2
 +<sxh bash>
 +aptitude update && aptitude dist-upgrade -y && ​ apt-get install heartbeat heartbeat-dev -y
 +</​sxh>​
 +
 +Agora vamos acertar a configuração do heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​ha.cf
 +#informe os nomes dos computadores que formam a replicação(deve ser igual a saída do comando "uname -n
 +node nodo1
 +node nodo2
 +
 +#qual a interface vai ser usada para comunicação
 +mcast bond0 225.0.0.1 694 1 0
 +
 +#Fazer com que a máquina principal receba seus serviços quando retornar a ativa
 +auto_failback on
 +
 +#arquivos de log
 +debugfile /​var/​log/​ha-debug
 +logfile /​var/​log/​ha-log
 +
 +#​freqüência,​ em segundos, da verificação das máquinas
 +keepalive 1
 +
 +#tempo mínimo para declarar a outra máquina como morta
 +deadtime 5
 +</​sxh>​
 +
 +Agora vamos acertar a configurção do nosso ip compartilhado pelo heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​haresources
 +nodo1 IPaddr::​192.168.25.42/​24/​bond0/​192.168.25.255
 +</​sxh>​
 +
 +Agora vamos acertar o arquivo com a senha de autenticação entre os heartbeats
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​authkeys
 +auth 3
 +3 md5 h34rt64t
 +</​sxh>​
 +
 +Agora vamos acertar as permissões do arquivo de senha
 +<sxh bash>
 +
 +chmod 600 /​etc/​ha.d/​authkeys
 +</​sxh>​
 +
 +Agora vamos reiniciar o heartbeat nos dois servidores
 +<sxh bash>
 +
 +/​etc/​init.d/​heartbeat restart
 +</​sxh>​
 +
 +Agora no servidor master o nodo1 vamos consultar os endereços ips
 +<sxh bash>
 +ifconfig
 +bond0     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          inet end.: 192.168.25.40 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe01:​188b/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​1752 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​5212 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​158015 (154.3 KiB)  TX bytes:​570257 (556.8 KiB)
 +
 +bond0:​0 ​  Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          inet end.: 192.168.25.42 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +
 +bond1     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ee:​57:​19  ​
 +          inet end.: 172.20.0.40 ​ Bcast:​172.20.0.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​feee:​5719/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​7460 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​10690103 (10.1 MiB)  TX bytes:1166 (1.1 KiB)
 +
 +eth0      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​1609 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​2608 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​133736 (130.6 KiB)  TX bytes:​297866 (290.8 KiB)
 +
 +eth1      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:143 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​2604 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:24279 (23.7 KiB)  TX bytes:​272391 (266.0 KiB)
 +
 +eth2      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ee:​57:​19  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​7301 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​10662206 (10.1 MiB)  TX bytes:676 (676.0 B)
 +
 +eth3      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ee:​57:​19  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:159 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:27897 (27.2 KiB)  TX bytes:490 (490.0 B)
 +
 +lo        Link encap:​Loopback Local  ​
 +          inet end.: 127.0.0.1 ​ Masc:​255.0.0.0
 +          endereço inet6: ::1/128 Escopo:​Máquina
 +          UP LOOPBACKRUNNING ​ MTU:​16436 ​ Métrica:1
 +          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 +</​sxh>​
 +
 +Agora no servidor slave o nodo2 vamos consultar os endereços ips
 +<sxh bash>
 +ifconfig
 +bond0     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​66:​da:​85  ​
 +          inet end.: 192.168.25.41 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe66:​da85/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​8980 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​5054 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​10828183 (10.3 MiB)  TX bytes:​522381 (510.1 KiB)
 +
 +bond1     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​88:​e4:​3e  ​
 +          inet end.: 172.20.0.41 ​ Bcast:​172.20.0.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe88:​e43e/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​1145 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​181901 (177.6 KiB)  TX bytes:1208 (1.1 KiB)
 +
 +eth0      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​66:​da:​85  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​8451 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​2528 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​10745822 (10.2 MiB)  TX bytes:​269228 (262.9 KiB)
 +
 +eth1      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​66:​da:​85  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:529 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​2526 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:82361 (80.4 KiB)  TX bytes:​253153 (247.2 KiB)
 +
 +eth2      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​88:​e4:​3e  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:602 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:96508 (94.2 KiB)  TX bytes:532 (532.0 B)
 +
 +eth3      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​88:​e4:​3e  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:543 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:85393 (83.3 KiB)  TX bytes:676 (676.0 B)
 +
 +lo        Link encap:​Loopback Local  ​
 +          inet end.: 127.0.0.1 ​ Masc:​255.0.0.0
 +          endereço inet6: ::1/128 Escopo:​Máquina
 +          UP LOOPBACKRUNNING ​ MTU:​16436 ​ Métrica:1
 +          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 +</​sxh>​
 +
 +Como pode ser notado temos o ip 192.168.25.42/​24 no servidor nodo1 que é o master, agora vamos fazer um teste vamos deslitar o servidor nodo1
 +<sxh bash>
 +telinit 0
 +</​sxh>​
 +
 +Agora no servidor nodo2 vamos consultar os endereços ips
 +<sxh bash>
 +ifconfig
 +bond0     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​66:​da:​85  ​
 +          inet end.: 192.168.25.41 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe66:​da85/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​9428 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​5219 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​10917368 (10.4 MiB)  TX bytes:​557322 (544.2 KiB)
 +
 +bond0:​0 ​  Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​66:​da:​85  ​
 +          inet end.: 192.168.25.42 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +
 +bond1     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​88:​e4:​3e  ​
 +          inet end.: 172.20.0.41 ​ Bcast:​172.20.0.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe88:​e43e/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​1697 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​297655 (290.6 KiB)  TX bytes:1208 (1.1 KiB)
 +
 +eth0      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​66:​da:​85  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​8690 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​2611 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​10791189 (10.2 MiB)  TX bytes:​287254 (280.5 KiB)
 +
 +eth1      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​66:​da:​85  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:738 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​2608 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​126179 (123.2 KiB)  TX bytes:​270068 (263.7 KiB)
 +
 +eth2      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​88:​e4:​3e  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:878 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​154385 (150.7 KiB)  TX bytes:532 (532.0 B)
 +
 +eth3      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​88:​e4:​3e  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:819 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​143270 (139.9 KiB)  TX bytes:676 (676.0 B)
 +
 +lo        Link encap:​Loopback Local  ​
 +          inet end.: 127.0.0.1 ​ Masc:​255.0.0.0
 +          endereço inet6: ::1/128 Escopo:​Máquina
 +          UP LOOPBACKRUNNING ​ MTU:​16436 ​ Métrica:1
 +          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 +</​sxh>​
 +
 +Note que o endereço ip 192.168.25.42/​24 já foi atribuido ao servidor nodo2 pois ele é o slave, então caso o cliente esteja conectado em algum serviço ele não vai notar quando trocar de servidor.
 +
 +Agora vamos ligar novamente o servidor nodo1
 +<sxh bash>
 +ifconfig
 +bond0     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          inet end.: 192.168.25.40 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe01:​188b/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:215 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:162 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:32945 (32.1 KiB)  TX bytes:21158 (20.6 KiB)
 +
 +bond0:​0 ​  Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          inet end.: 192.168.25.42 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +
 +bond1     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ee:​57:​19  ​
 +          inet end.: 172.20.0.40 ​ Bcast:​172.20.0.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​feee:​5719/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:159 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:30302 (29.5 KiB)  TX bytes:368 (368.0 B)
 +
 +eth0      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:162 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:82 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:22260 (21.7 KiB)  TX bytes:9839 (9.6 KiB)
 +
 +eth1      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​01:​18:​8b  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:10685 (10.4 KiB)  TX bytes:11319 (11.0 KiB)
 +
 +eth2      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ee:​57:​19  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:15112 (14.7 KiB)  TX bytes:168 (168.0 B)
 +
 +eth3      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ee:​57:​19  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:80 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:15190 (14.8 KiB)  TX bytes:200 (200.0 B)
 +
 +lo        Link encap:​Loopback Local  ​
 +          inet end.: 127.0.0.1 ​ Masc:​255.0.0.0
 +          endereço inet6: ::1/128 Escopo:​Máquina
 +          UP LOOPBACKRUNNING ​ MTU:​16436 ​ Métrica:1
 +          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 +</​sxh>​
 +
 +Note que o ip compartilhado voltou para o servidor nodo1 pois definimos ele como master, a primeira parte já esta ok que era garantir um ip compartilhado que vai ser utilizado pelo cliente.
 +
 +Pense que no servidor nodo1 temos um site rodando e este site está tambem no servidor nodo2, com isso o cliente vai acessar o http://​192.168.25.42 e vai para o servidor master disponível que em nosso caso vai ser o nodo1, caso o master caia o cliente vai acessar as páginas que estão no servidor nodo2 e nem vai sentir que ele está acessando outro servidor ;)
 +
 +Mas note que ainda temos um problema, os dados tem que ser sincronizados manualmente entre os servidores por isso que vamos utilizar agora o DRBD + OCFS2 que vai trabalhar como um raid1 via rede espelhando os dados em tempo real, então caso seja alterado um arquivo qualquer na partição do drbd o outro servidor já vai ter acesso a essas novas informações,​ aqui vou utilizar o ocfs2 que é um sistema de arquivos distribuido aonde podemos trabalhar com os nodos sendo !master/​master ou seja qualquer um dos servidores podem alterar qualquer arquivo e esse arquivo vai aparecer alterado para a outra ponta.
 +====== Instalação e configuração do DRBD + OCFS2 ======
 +
 +Agora vamos instalar o drbd e o ocfs2 faça isso nas duas máquinas.
 +
 +<sxh bash>
 +
 +aptitude install drbd8-utils ​ ocfs2-tools ocfs2-tools-dev -y
 +</​sxh>​
 +
 +Agora vamos carregar os módulos faça isso nas duas máquinas.
 +
 +
 +<sxh bash>
 +modprobe cn
 +modprobe drbd
 +depmod -a
 +</​sxh>​
 +
 +
 +Vamos configurar o DRBD 
 +
 +Deixe o arquivo como abaixo nas duas máquinas.
 +
 +
 +<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 nodo1 {
 + ​device ​    /​dev/​drbd1;​ # Nome do dispositivo de DRBD
 + ​disk ​      /​dev/​sdb1;​ # Dispositivo de baixo nível utilizado a partição
 + ​address ​   172.20.0.40:​7789; ​ # IP:porta de conexão
 + ​meta-disk internal; # Armazenamento das informações de dados é feito
 + # dentro do dispositivo de baixo nível.
 + }
 + on nodo2 {
 + ​device ​  /​dev/​drbd1;​
 + ​disk ​     /dev/sdb1;
 + ​address ​  ​172.20.0.41:​7789;​
 + ​meta-disk internal;
 + }
 +}
 +</​sxh>​
 +
 +Agora vamos preparar o disco, faça isso nos dois servidores.
 +
 +
 +<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 servidores.
 +
 +
 +<sxh bash>
 +
 +dd if=/​dev/​zero of=/​dev/​sdb1 bs=1M count=128
 +</​sxh>​
 +
 +Execute este comando nos dois servidores 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 156th 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 servidores 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 servidores antes de passar para o próximo comando.
 +
 +
 +<sxh bash>
 +drbdadm attach r1
 +</​sxh>​
 +
 +Execute este comando nos dois servidores antes de passar para o próximo comando.
 +
 +
 +<sxh bash>
 +
 +drbdadm connect r1
 +</​sxh>​
 +
 +Pronto, agora podemos iniciar o drbd, inicie-o nos dois servidores com o seguinte comando:
 +
 +
 +<sxh bash>
 +drbdadm connect r1
 +root@nodo1 /etc/drbd.d # /​etc/​init.d/​drbd start
 +[....] Starting DRBD resources:[ s(r1) ]1: State change failed: (-2) Need access to UpToDate data
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Need access to UpToDate data
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Need access to UpToDate data
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Need access to UpToDate data
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +1: State change failed: (-2) Need access to UpToDate data
 +Command '/​sbin/​drbdsetup 1 primary'​ terminated with exit code 17
 +. ok
 +</​sxh>​
 +
 +Podemos observar como está a situação do nosso dispositivo drbd com o seguinte comando.
 +
 +
 +<sxh bash>
 +cat /proc/drbd
 +version: 8.3.11 (api:​88/​proto:​86-96)
 +srcversion: F937DCB2E5D83C6CCE4A6C9 ​
 +
 + 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:f oos:8387292
 +</​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.11 (api:​88/​proto:​86-96)
 +srcversion: F937DCB2E5D83C6CCE4A6C9 ​
 +
 + 1: cs:​SyncTarget ro:​Primary/​Primary ds:​Inconsistent/​UpToDate C r-----
 +    ns:0 nr:1037696 dw:1037696 dr:0 al:0 bm:63 lo:1 pe:7510 ua:0 ap:1 ep:1 wo:f oos:7349596
 +  [=>​..................] sync'​ed:​ 12.5% (7176/​8188)Mfinish:​ 0:03:34 speed: 34,252 (35,780) want: 614,400 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>
 +cat /proc/drbd
 +</​sxh>​
 +
 +Agora depois de sincronizados
 +
 +
 +<sxh bash>
 +cat /proc/drbd
 +version: 8.3.11 (api:​88/​proto:​86-96)
 +srcversion: F937DCB2E5D83C6CCE4A6C9 ​
 +
 + 1: cs:​Connected ro:​Primary/​Primary ds:​UpToDate/​UpToDate C r-----
 +    ns:8387316 nr:0 dw:0 dr:8387980 al:0 bm:512 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
 +</​sxh>​
 +
 +
 +Agora vamos configurar o OCFS2
 +
 +Vamos configurar o cluster para o ocfs2. Tem que ser configurado nos dois servidores.
 +
 +<sxh bash>
 +vim /​etc/​ocfs2/​cluster.conf
 +node:
 + ​ip_port = 7777
 + ​ip_address = 172.20.0.40
 + ​number = 0
 + name = nodo1
 + ​cluster = ocfs2
 + 
 +node:
 + ​ip_port = 7777
 + ​ip_address = 172.20.0.41
 + ​number = 1
 + name = nodo2
 + ​cluster = ocfs2
 + 
 +cluster:
 + ​node_count = 2
 + name = ocfs2
 +</​sxh>​
 +
 +Agora vamos configurar o o2cb para ser habilitado tem que ser configurado nos dois servidores.
 +
 +<sxh bash>
 +sed -i '​s/​O2CB_ENABLED=false/​O2CB_ENABLED=true/​g'​ /​etc/​default/​o2cb
 +</​sxh>​
 +
 +
 +
 +Agora é so restartar o serviço nos dois servidores.
 +
 +
 +Vamos reiniciar o o2cb
 +<sxh bash>
 +/​etc/​init.d/​o2cb restart
 +ls: cannot access /config: No such file or directory
 +Loading filesystem "​configfs":​ OK
 +Mounting configfs filesystem at /​sys/​kernel/​config:​ OK
 +Loading stack plugin "​o2cb":​ OK
 +Loading filesystem "​ocfs2_dlmfs":​ OK
 +Creating directory '/​dlm':​ OK
 +Mounting ocfs2_dlmfs filesystem at /dlm: OK
 +Setting cluster stack "​o2cb":​ OK
 +Starting O2CB cluster ocfs2: OK
 +</​sxh>​
 +
 +Agora vamos reiniciar o ocfs2
 +<sxh bash>
 +/​etc/​init.d/​ocfs2 restart
 +Stopping Oracle Cluster File System (OCFS2) OK
 +</​sxh>​
 +
 +Agora é so criar o sistema de arquivos ocfs2 no drbd, precimos fazer isso somente em um dos dois servidores
 +
 +**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 servidores 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 ​      ​Tam ​ Usad Dispon. Uso% Montado em
 +rootfs ​                                                ​rootfs ​   323M  212M     ​94M ​ 70% /
 +udev                                                   ​devtmpfs ​  ​10M ​    ​0 ​    ​10M ​  0% /dev
 +tmpfs                                                  tmpfs      38M  420K     ​37M ​  2% /run
 +/​dev/​disk/​by-uuid/​86265303-3a06-49db-aa1b-49088580a1cb ext4      323M  212M     ​94M ​ 70% /
 +tmpfs                                                  tmpfs     ​5,​0M ​ 4,0K    5,0M   1% /run/lock
 +tmpfs                                                  tmpfs     ​167M ​    ​0 ​   167M   0% /run/shm
 +/​dev/​sda9 ​                                             ext4      2,8G   ​69M ​   2,6G   3% /home
 +/​dev/​sda8 ​                                             ext4      234M  6,1M    216M   3% /tmp
 +/​dev/​sda5 ​                                             ext4      2,8G  1,1G    1,6G  40% /usr
 +/​dev/​sda6 ​                                             ext4      1,4G  339M    971M  26% /var
 +/​dev/​drbd1 ​                                            ​ocfs2 ​    ​8,​0G ​ 151M    7,9G   2% /ocfs2
 +</​sxh>​
 +
 +Como podemos ver temos a nossa partição montada com ocfs2
 +
 +Agora podemos deixar isso na inicialização do sistema
 +
 +
 +<sxh bash>
 +vim /etc/fstab
 +[...]
 +/dev/drbd1 /ocfs2 ocfs2 _netdev,​defaults,​noatime 0 0
 +</​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:​ $network $syslog drbd
 +# Should-Start:​
 +# Required-Stop:​ $network $syslog drbd
 +# 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 o2cb
 +# Required-Stop:​ $local_fs $network o2cb
 +# X-UnitedLinux-Should-Start:​
 +# X-UnitedLinux-Should-Stop:​
 +# X-Stop-After:​ sendsigs
 +# 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 servidores para testarmos se vai ser montado o drbd na inicialização
 +
 +
 +<sxh bash>
 +
 +init 6
 +</​sxh>​
 +
 +Depois da inicialização nodo1
 +
 +Vamos ver o uptime do servidor
 +<sxh bash>
 +uptime
 + ​14:​46:​21 up 0 min,  1 user,  load average: 0,12, 0,03, 0,01
 +</​sxh>​
 +
 +Agora vamos listar as partições
 +<sxh bash>
 +df -Th
 +Sist. Arq.                                             ​Tipo ​      ​Tam ​ Usad Dispon. Uso% Montado em
 +rootfs ​                                                ​rootfs ​   323M  212M     ​94M ​ 70% /
 +udev                                                   ​devtmpfs ​  ​10M ​    ​0 ​    ​10M ​  0% /dev
 +tmpfs                                                  tmpfs      38M  360K     ​37M ​  1% /run
 +/​dev/​disk/​by-uuid/​86265303-3a06-49db-aa1b-49088580a1cb ext4      323M  212M     ​94M ​ 70% /
 +tmpfs                                                  tmpfs     ​5,​0M ​ 4,0K    5,0M   1% /run/lock
 +tmpfs                                                  tmpfs     ​167M ​    ​0 ​   167M   0% /run/shm
 +/​dev/​sda9 ​                                             ext4      2,8G   ​69M ​   2,6G   3% /home
 +/​dev/​sda8 ​                                             ext4      234M  6,1M    216M   3% /tmp
 +/​dev/​sda5 ​                                             ext4      2,8G  1,1G    1,6G  40% /usr
 +/​dev/​sda6 ​                                             ext4      1,4G  340M    970M  26% /var
 +/​dev/​drbd1 ​                                            ​ocfs2 ​    ​8,​0G ​ 151M    7,9G   2% /ocfs2
 +</​sxh>​
 +
 +Depois da inicialização nodo2
 +
 +Vamos ver o uptime do servidor
 +
 +<sxh bash>
 +uptime
 + ​14:​47:​31 up 1 min,  1 user,  load average: 0,10, 0,06, 0,03
 +</​sxh>​
 +
 +Agora vamos verificar as partições
 +<sxh bash>
 +df -Th
 +Sist. Arq.                                             ​Tipo ​      ​Tam ​ Usad Dispon. Uso% Montado em
 +rootfs ​                                                ​rootfs ​   323M  212M     ​94M ​ 70% /
 +udev                                                   ​devtmpfs ​  ​10M ​    ​0 ​    ​10M ​  0% /dev
 +tmpfs                                                  tmpfs      38M  344K     ​37M ​  1% /run
 +/​dev/​disk/​by-uuid/​86265303-3a06-49db-aa1b-49088580a1cb ext4      323M  212M     ​94M ​ 70% /
 +tmpfs                                                  tmpfs     ​5,​0M ​ 4,0K    5,0M   1% /run/lock
 +tmpfs                                                  tmpfs     ​167M ​    ​0 ​   167M   0% /run/shm
 +/​dev/​sda9 ​                                             ext4      2,8G   ​69M ​   2,6G   3% /home
 +/​dev/​sda8 ​                                             ext4      234M  6,1M    216M   3% /tmp
 +/​dev/​sda5 ​                                             ext4      2,8G  1,1G    1,6G  40% /usr
 +/​dev/​sda6 ​                                             ext4      1,4G  341M    969M  27% /var
 +/​dev/​drbd1 ​                                            ​ocfs2 ​    ​8,​0G ​ 151M    7,9G   2% /ocfs2
 +</​sxh>​
 +
 +
 +Caso de algum problema na inicialização como um dos dois servidores não ficar como primary temos podemos resolver da seguinte maneira
 +
 +Primeiro vamos mandar desmontar as partições montadas com o ocfs2 nos dois servidores
 +
 +
 +<sxh bash>
 +umount /ocfs2
 +</​sxh>​
 +
 +Agora vamos mandar reiniciar o drbd nos dois servidores
 +
 +
 +<sxh bash>
 +
 +/​etc/​init.d/​drbd restart
 +</​sxh>​
 +
 +Agora vamos forçar a utilização dos dois nodos primary
 +
 +
 +<sxh bash>
 +
 +drbdadm -- --overwrite-data-of-peer primary r1
 +</​sxh>​
 +
 +
 +Agora é so remontar as partições novamente nos dois servidores
 +
 +
 +<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>​
 +
 +====== PLUS ======
 +
 +Pense que você precisa fazer o HA de um servidor de FW por exemplo, o que tem de diferente poderia me perguntar. Pense nas interfaces de rede temos no mínimo 2 interfaces uma WAN e uma LAN neste caso precisariamos configurar o heartbeat para atribuir endereços virtuais para as duas interfaces. ​
 +
 +Vamos a um exemplo, vou utilizar as interfaces de bond mesmo
 +
 +Agora vamos instalar o heartbeat no nodo2
 +<sxh bash>
 +aptitude update && aptitude dist-upgrade -y && ​ apt-get install heartbeat heartbeat-dev -y
 +</​sxh>​
 +
 +Agora vamos acertar a configuração do heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​ha.cf
 +#informe os nomes dos computadores que formam a replicação(deve ser igual a saída do comando "uname -n
 +node nodo1
 +node nodo2
 +
 +#qual a interface vai ser usada para comunicação
 +mcast bond0 225.0.0.1 694 1 0
 +mcast bond1 225.0.0.1 694 1 0
 +
 +#Fazer com que a máquina principal receba seus serviços quando retornar a ativa
 +auto_failback on
 +
 +#arquivos de log
 +debugfile /​var/​log/​ha-debug
 +logfile /​var/​log/​ha-log
 +
 +#​freqüência,​ em segundos, da verificação das máquinas
 +keepalive 1
 +
 +#tempo mínimo para declarar a outra máquina como morta
 +deadtime 5
 +</​sxh>​
 +
 +Agora vamos acertar a configurção do nosso ip compartilhado pelo heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​haresources
 +nodo1 IPaddr::​192.168.25.42/​24/​bond0/​192.168.25.255
 +nodo1 IPaddr::​172.20.0.27/​24/​bond1/​172.20.0.405
 +</​sxh>​
 +
 +Explicando o arquivo acima
 +  - **nodo1**: nome do servidor master
 +  - **IPaddr::​192.168.25.42/​24**:​ ip que vai ser compartilhado pelo Heartbeat
 +  - **bond0**: Interface que vai receber o ip compartilhado pelo Heartbeat
 +  - **192.168.25.40**:​ Endereço de broadcast
 +
 +Agora vamos acertar o arquivo com a senha de autenticação entre os heartbeats
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​authkeys
 +auth 3
 +3 md5 h34rt64t
 +</​sxh>​
 +
 +Agora vamos acertar as permissões do arquivo de senha
 +<sxh bash>
 +
 +chmod 600 /​etc/​ha.d/​authkeys
 +</​sxh>​
 +
 +Agora vamos instalar o heartbeat no nodo2
 +<sxh bash>
 +aptitude update && aptitude dist-upgrade -y && ​ apt-get install heartbeat heartbeat-dev -y
 +</​sxh>​
 +
 +Agora vamos acertar a configuração do heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​ha.cf
 +#informe os nomes dos computadores que formam a replicação(deve ser igual a saída do comando "uname -n
 +node nodo1
 +node nodo2
 +
 +#qual a interface vai ser usada para comunicação
 +mcast bond0 225.0.0.1 694 1 0
 +mcast bond1 225.0.0.1 694 1 0
 +
 +#Fazer com que a máquina principal receba seus serviços quando retornar a ativa
 +auto_failback on
 +
 +#arquivos de log
 +debugfile /​var/​log/​ha-debug
 +logfile /​var/​log/​ha-log
 +
 +#​freqüência,​ em segundos, da verificação das máquinas
 +keepalive 1
 +
 +#tempo mínimo para declarar a outra máquina como morta
 +deadtime 5
 +</​sxh>​
 +
 +Agora vamos acertar a configurção do nosso ip compartilhado pelo heartbeat
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​haresources
 +nodo1 IPaddr::​192.168.25.42/​24/​bond0/​192.168.25.255
 +nodo1 IPaddr::​172.20.0.27/​24/​bond0/​172.20.0.405
 +</​sxh>​
 +
 +Agora vamos acertar o arquivo com a senha de autenticação entre os heartbeats
 +<sxh bash>
 +
 +vim /​etc/​ha.d/​authkeys
 +auth 3
 +3 md5 h34rt64t
 +</​sxh>​
 +
 +Agora vamos acertar as permissões do arquivo de senha
 +<sxh bash>
 +
 +chmod 600 /​etc/​ha.d/​authkeys
 +</​sxh>​
 +
 +Agora vamos reiniciar o heartbeat nos dois servidores
 +<sxh bash>
 +
 +/​etc/​init.d/​heartbeat restart
 +</​sxh>​
 +
 +Agora vamos consultar as interfaces no servidor nodo1.
 +<sxh bash>
 +
 +ifconfig
 +bond0     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​3f:​b0:​b8  ​
 +          inet end.: 192.168.25.40 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​fe3f:​b0b8/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​28239 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​1356 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​2576871 (2.4 MiB)  TX bytes:​464634 (453.7 KiB)
 +
 +bond0:​0 ​  Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​3f:​b0:​b8  ​
 +          inet end.: 192.168.25.42 ​ Bcast:​192.168.25.255 ​ Masc:​255.255.255.0
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +
 +bond1     Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ff:​cd:​7c  ​
 +          inet end.: 172.20.0.40 ​ Bcast:​172.20.0.405 ​ Masc:​255.255.255.0
 +          endereço inet6: fe80::​a00:​27ff:​feff:​cd7c/​64 Escopo:Link
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​204376 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​36125 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:​230398360 (219.7 MiB)  TX bytes:​9571891 (9.1 MiB)
 +
 +bond1:​0 ​  Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ff:​cd:​7c  ​
 +          inet end.: 172.20.0.27 ​ Bcast:​172.20.0.405 ​ Masc:​255.255.255.0
 +          UP BROADCASTRUNNING MASTER MULTICAST ​ MTU:​1500 ​ Métrica:1
 +
 +eth0      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​3f:​b0:​b8  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​14227 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:684 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​1300809 (1.2 MiB)  TX bytes:​246914 (241.1 KiB)
 +
 +eth1      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​3f:​b0:​b8  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​14012 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:672 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​1276062 (1.2 MiB)  TX bytes:​217720 (212.6 KiB)
 +
 +eth2      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ff:​cd:​7c  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​190049 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​18077 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​229048128 (218.4 MiB)  TX bytes:​4820003 (4.5 MiB)
 +
 +eth3      Link encap:​Ethernet ​ Endereço de HW 08:​00:​27:​ff:​cd:​7c  ​
 +          UP BROADCASTRUNNING SLAVE MULTICAST ​ MTU:​1500 ​ Métrica:1
 +          RX packets:​14327 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:​18048 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​1000 ​
 +          RX bytes:​1350232 (1.2 MiB)  TX bytes:​4751888 (4.5 MiB)
 +
 +lo        Link encap:​Loopback Local  ​
 +          inet end.: 127.0.0.1 ​ Masc:​255.0.0.0
 +          endereço inet6: ::1/128 Escopo:​Máquina
 +          UP LOOPBACKRUNNING ​ MTU:​16436 ​ Métrica:1
 +          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 +          colisões:0 txqueuelen:​0 ​
 +          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 +</​sxh>​
 +
 +Aqui o que é preciso mudar são as interfaces caso não trabalhe com o bond e os endereços ips ;)
 +
 +====== Referências ======
 +
 +  - http://​www.linux-ha.org/​wiki/​Heartbeat
 +  - http://​linux.die.net/​man/​8/​ifenslave
 +  - http://​www.kernel.org/​doc/​Documentation/​networking/​bonding.txt ​
 +  - 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/​