Upload
impacta-eventos
View
887
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
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.
......
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 (LPIC1 / LPIC2)● 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
Prof. M.Sc. Jansen Sena – Copyleft (2012)
Vamos começar?
# /etc/init.d/palestra start
Prof. M.Sc. Jansen Sena – Copyleft (2012)
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!
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
Prof. M.Sc. Jansen Sena – Copyleft (2012)
E agora?
LVM: Partições mais “flexíveis”
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
Prof. M.Sc. Jansen Sena – Copyleft (2012)
LVM
● Logical Volume Manager
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
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
Prof. M.Sc. Jansen Sena – Copyleft (2012)
E agora?
Placas de Rede em Alta Disponibilidade
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 comportemse 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.
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
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)
Prof. M.Sc. Jansen Sena – Copyleft (2012)
HandsOn
● Como configurar o network bonding?● Instalar pacote ifenslave...
# apt-get install ifenslave-2.6● …e editar o arquivo /etc/network/interfaces
Prof. M.Sc. Jansen Sena – Copyleft (2012)
HandsOn
● Está funcionando?
Prof. M.Sc. Jansen Sena – Copyleft (2012)
E agora?
Firewalls e Alta Disponibilidade
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
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”.
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.
Prof. M.Sc. Jansen Sena – Copyleft (2012)
keepalived.conf do MASTER
Scripts customizados Recurso a ser mantido em HA
Rotas adicionadas
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
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.
Prof. M.Sc. Jansen Sena – Copyleft (2012)
E agora?
● /var/log/syslog (MASTER)
Prof. M.Sc. Jansen Sena – Copyleft (2012)
E agora?
● /var/log/syslog (SLAVE)
Prof. M.Sc. Jansen Sena – Copyleft (2012)
IPs virtuais no firewall MASTER
● Comando “ip addr show” apresenta os IPs virtuais configurados no firewall MASTER
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
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.
Prof. M.Sc. Jansen Sena – Copyleft (2012)
E agora?
Clusters de alta disponibilidade
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
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
Prof. M.Sc. Jansen Sena – Copyleft (2012)
Hora de terminar...
# /etc/init.d/palestra stop
Prof. M.Sc. Jansen Sena – Copyleft (2012)
Email: [email protected]: http://www.jsena.infoTwitter: @jansensena
Obrigado!!!