alta disponibilidade - linux day impacta

34
Prof. M.Sc. Jansen Sena – Copyleft (2012) Linux Day Impacta Linux Day Impacta Implementando Alta Disponibilidade em Servidores Linux Administração de Sistemas e Alta Disponibilidade Jansen Sena Setembro, 2012. São Paulo, SP. ... ...

Upload: impacta-eventos

Post on 12-Nov-2014

889 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Linux Day ImpactaLinux Day Impacta

Implementando Alta Disponibilidade em Servidores Linux

Administração de Sistemas e Alta Disponibilidade

Jansen Sena

Setembro, 2012.São Paulo, SP.

......

Page 2: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Sobre o palestrante

● Formação acadêmica e técnica● Mestrado pelo Instituto de Computação da Unicamp/SP

– Segurança de redes– Administração de sistemas Unix/Linux

● LPI Certified Professional (LPIC­1 / LPIC­2)● ITIL Foundations Certified

● Atividades atuais● Atech Tecnologias Críticas (www.atech.com.br)● Consultor de TI, sw livre e segurança

● http://www.jsena.info

Page 3: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Vamos começar?

# /etc/init.d/palestra start

Page 4: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Page 5: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

O básico...

● Fontes de alimentação redundantes em circuitos elétricos distintos● Cenário nem sempre é possível em hardwares mais simples

● Discos rígidos● Utilização de RAID 1, RAID 5, RAID 5 + 0, RAID 6 e outras 

combinações são fundamentais● Solução a ser utilizada depende de cada cenário

● Particionamento● Partições separadas para sistemas de arquivos mais relevantes

– Não há regra geral para todos os ambientes... – Decisões, novamente, dependem de cada situação!

Page 6: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

O básico...

● Particionamento (cont.)● Uso do LVM (Logical Volume Manager) é importante para 

evitar problemas de realocação de espaço.● Controle restrito sobre os repositórios adicionados ao 

gerenciador de pacotes;● Imagens do sistema operacional são “truques” 

interessantes... e salvadores! :­)● Clonezilla pode ser uma simples e interessante opção

– Alternativa em software livre ao Norton Ghost● http://www.clonezilla.org

Page 7: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E agora?

LVM: Partições mais “flexíveis”

Page 8: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

LVM

● Logical Volume Manager● Recurso presente na grande maioria das distribuições Linux● Maneira versártil e eficiente de trabalhar com “partições”● Operações em tempo real (hot swap)

– Tamanho das partições– Capacidade do VG

● Backups através do mecanismo de snapshots● Interface de comando simples e bem documentada

Page 9: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

LVM

● Logical Volume Manager

Page 10: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

LVM

● Logical Volume Manager

HD1 ...HD1 HD2 HDn

LV1 LV2 LV3 LV4 LV5 LV6 LV7 LV8

PV1 PV2 PV3 PVn...

/ /home /tmp /var /usr /d01 /d02 swap

fdisk

pvcreate

vgcreate

lvcreate

mkfs

Page 11: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

LVM

● Colocando as mãos na massa no “feijão com arroz”● Cria um Physical Volume com a partição /dev/sda3 

– Tipo da partição pelo fdisk: 8e

# pvcreate /dev/sda3● Cria um Volume Group (VG) usando o PV anterior

# vgcreate VG01 /dev/sda3● Cria Logical Volumes (LV) dentro do VG criado anteriormente

# lvcreate ­L 35G ­n lvol_dados01 VG01# lvcreate ­L 12G ­n lvol_tmp VG01

● Formata LV# mkfs.ext4 /dev/VG01/lvol_dados01

Page 12: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E agora?

Placas de Rede em Alta Disponibilidade

Page 13: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Network bonding

● Network bonding● Recurso presente no kernel do GNU/Linux● Faz com que várias interfaces de rede comportem­se como 

uma única placa de rede “virtual”– Falhas físicas nas conexões de rede são transparentes para 

aplicações e para os usuários do sistema operacional● Do ponto de vista das aplicações e dos usuários, a interface 

virtual é como qualquer outra– Exemplo: iptables cria regras considerando a interface de rede virtual 

(e.g. “bond0”)● Recurso muito pouco documentado e difundido entre 

adminstradores de sistemas GNU/Linux.

Page 14: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

O antes e o depois...

eth0 (192.168.10.1)

eth1 (192.168.20.1)

eth2 (192.168.30.1)

eth3 (192.168.40.1)

eth0

eth1

eth2

eth3

bond0 (192.168.10.1)

Servidor padrão sem Network Bonding

Servidor padrão com Network Bonding

Page 15: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Um cenário real

eth0eth1eth2eth3

bond0 (200.10.20.30)

REDE EXTERNAREDE MGMT

eth4eth5eth6eth7

bond1 (192.168.20.1)

eth8

eth9

eth10

eth11

REDE STORAGE

bond2(192.168.10.1)

Page 16: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Hands­On

● Como configurar o network bonding?● Instalar pacote ifenslave...

# apt-get install ifenslave-2.6● …e editar o arquivo /etc/network/interfaces

Page 17: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Hands­On

● Está funcionando?

Page 18: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E agora?

Firewalls e Alta Disponibilidade

Page 19: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E a redundância entre firewalls?

ethX

ethY

192.168.10.X 192.168.20.X

bond1 (192.168.20.1)

bond1 (192.168.20.2)

bond0 (192.168.10.1)

bond0 (192.168.10.2)

192.168.10.254(IP VIRTUAL)

192.168.20.254(IP VIRTUAL)

GATEWAY

GATEWAY

GATEWAY

GATEWAY

Page 20: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Qual é a nossa solução?

● KeepAlived● http://www.keepalived.org;● GNU General Public License;● Presente nos repositórios da maioria das distribuições;

– Debian GNU/Linux, Ubuntu Linux, Fedora, …● Implementação livre do protocolo VRRPv2;

– Virtual Router Redundancy Protocol;● Daemon do KeepAlived deve ser executado em todas as 

máquinas que fazem parte do “cluster”.

Page 21: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Configurando o KeepAlived

● Como sempre, o primeiro passo é instalar!# apt-get install keepalived

● Configurações do KeepAlived ficam no arquivo /etc/keepalived/keepalived.conf● São declarados grupos de recursos que precisam estar em alta 

disponibilidade;● Scripts customizados podem ser configurados para serem 

executados em mudanças...– Transformação de um node em MASTER;– Transformação de um node em SLAVE;– Ocorrências de falhas.

Page 22: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

keepalived.conf do MASTER

Scripts customizados Recurso a ser mantido em HA

Rotas adicionadas

Page 23: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

keepalived.conf do SLAVE

No caso do SLAVE, o valor do campo priority deve ser menor que o valor inserido no MASTER

Page 24: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E agora?

● Iniciando o KeepAlived em seus firewalls.../etc/init.d/keepalived start

● Assim que os daemons são inicializados, os firewalls já assumem a posição de MASTER e/ou SLAVE.

Page 25: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E agora?

● /var/log/syslog (MASTER)

Page 26: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E agora?

● /var/log/syslog (SLAVE)

Page 27: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

IPs virtuais no firewall MASTER

● Comando “ip addr show” apresenta os IPs virtuais configurados no firewall MASTER

Page 28: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Alguns comentários...

● Scripts de regras entre ambos os firewalls precisam ser exatamente iguais...● Caso contrário, chaveamento entre firewalls MASTER e SLAVE 

podem provocar problemas.● Regras voltadas para as máquinas clientes devem 

sempre considerar os IPs virtuais;● Isso torna o chaveamento entre MASTER e SLAVE 

transparente para todos os clientes da rede;● IPs “diretos” devem ser utilizados apenas para regras 

referentes aos acessos dos próprios fw's

Page 29: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Alguns comentários...

● Atualizações devem ser “síncronas” entre ambos os firewalls!!! ● Caso contrário, um pode estar “menos seguro” que o outro! 

Esse é um risco silencioso!● Existem boas alternativas para resolver...

● Cenário apresentado considera a utilização de regras convencionais; ● Sem o uso do recurso do iptables para gerar regras com base 

nos estados das conexões TCP;● Se esse for o caso, é necessário acrescentar outro 

componente na estrutura: conntrackd.

Page 30: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

E agora?

Clusters de alta disponibilidade

Page 31: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Clusters para aplicações

● Existem diversas soluções e combinações possíveis● Pode ser utilizada mesmo em ambientes com restrições 

de recursos● É capaz de manter as aplicações operacionais mesmo 

diante de falhas de hardware e software● Efeitos de “bugs” podem ser minimizados para usuários 

até que uma solução definitiva seja adotada● Permite testes de novas configurações com menor risco

Page 32: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Estrutura básica de cluster de HA

Storage

REDE PRIVADA

node01 node02

REDE EXTERNA

STORAGE

Dados compartilhados

Número escalável de servidores

Page 33: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Hora de terminar...

# /etc/init.d/palestra stop

Page 34: Alta disponibilidade - Linux Day Impacta

Prof. M.Sc. Jansen Sena – Copyleft (2012)

Email: [email protected]: http://www.jsena.infoTwitter: @jansensena

Obrigado!!!