Semana de Estudos em Cloud Computing Outubro de 2011 Oficina para a Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Prof. Dr. José Luís Zem [email protected] http://www.unimep.br/~jlzem Semana de Estudos em Cloud Computing – Outubro de 2011 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Alguns Exemplos de Clusters Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Tianhe-1A Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Jaguar Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Outras Plataformas Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Watson Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Watson Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web K Computer Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web K Computer Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web K Computer Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Tupã Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Tupã Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Galileu Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Galileu Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Computação Distribuída Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Computação Distribuída Single System Image - Usuários desconhecem a multiplicidade de máquinas e o acesso aos recursos remotos é realizado da mesma maneira que se faz o acesso aos recursos locais. Migração de Dados Transferência de dados movendo-se todo o arquivo, ou então transferindo somente a porção do arquivo que será necessária à tarefa a ser executada. Migração da Computação Transferência da computação ao invés dos dados através do sistema de computação. Migração de Processos Executa todo um processo ou suas partes em diferentes sites. Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Computação em Nuvem Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Computação em Nuvem Google Microsoft Amazon EMC Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Computação em Grade GRID GRID GRID GRID Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Computação em Grade Representação lógica. Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Cluster de Computadores Funções lógicas dos nós. Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Cluster de Computadores Cluster de Alto Desempenho. NC 01 NC 02 NC 03 NC 04 NC 05 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Cluster de Computadores Cluster de Alta Disponibilidade. Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Cluster de Computadores Cluster de Alta Confiabilidade. Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Cluster de Computadores Cluster de Balanceamento de Carga. NC01 NC02 NC03 NC04 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web A Plataforma Computacional Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Uma requisição http padrão Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Topologia do cluster de uso geral Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Solicitação de um recurso Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Escolhendo o nó de atendimento Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Encaminhando a solicitação Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Buscando o arquivo Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Retorno do arquivo solicitado Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Processamento do requisição Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Retorno do resultado Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Decidindo pelo destinatário Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web O resultado é entregue Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Construindo o Cluster Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Etapas O Cluster de Computadores. Clonar disco da máquina virtual. Criar a máquina virtual NP01. Configurar o nó NP01. Criar a máquina virtual NA01. Configurar o nó NA01. Criar a máquina virtual NC01. Configurar o nó NC01. Criar a máquina virtual NC02. Configurar o nó NC02. Testes. Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web O Cluster de Computadores Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Clonar disco da máquina virtual Posicionar-se na unidade e diretório onde o VirtualBox foi instalado. vboxmanage clonehd “\caminho\disco_destino.vdi” “\caminho\disco_base.vdi” Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Nó Principal - NP01 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Criar a máquina virtual NP01 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NP01 Inserir no final do arquivo /etc/hosts 192.168.5.1 192.168.5.2 192.168.5.3 192.168.5.4 np01 na01 nc01 nc02 Inserir no final do arquivo /etc/resolv.conf search unimep.br nameserver 200.18.243.36 nameserver 200.18.243.45 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NP01 Inserir no final do arquivo /etc/rc.d/rc.local hostname np01 loadkeys br-abnt2.map.gz iptables -F ifconfig ethx down ifconfig ethx up ifconfig ethx 192.168.5.1 broadcast 192.168.5.255 netmask 255.255.255.0 echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o ethy -j MASQUERADE Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NP01 Inserir no final do arquivo /etc/rc.d/rc.local (ainda) ipvsadm -A -t $servidor:80 -s rr ipvsadm -a -t $servidor:80 -r nc01:80 -m ipvsadm -a -t $servidor:80 -r nc02:80 -m ipvsadm -A -t $servidor:22 -s rr ipvsadm -a -t $servidor:22 -r nc01:22 -m ipvsadm -a -t $servidor:22 -r nc02:22 -m Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Nó de Armazenamento - NA01 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Criar a máquina virtual NA01 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NA01 Inserir no final do arquivo /etc/hosts 192.168.5.1 192.168.5.2 192.168.5.3 192.168.5.4 np01 na01 nc01 nc02 Inserir no final do arquivo /etc/resolv.conf search unimep.br nameserver 200.18.243.36 nameserver 200.18.243.45 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NA01 Inserir no final do arquivo /etc/rc.d/rc.local hostname na01 loadkeys br-abnt2.map.gz iptables -F ifconfig ethx down ifconfig ethx up ifconfig ethx 192.168.5.2 broadcast 192.168.5.255 netmask 255.255.255.0 route add default gw 192.168.5.1 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NA01 Inserir no final do arquivo /etc/exports /mnt/hdb1/area_web 192.168.5.3(rw,no_root_squash,fsid=0,async,no_subtree_chec k) /mnt/hdb1/area_web 192.168.5.4(rw,no_root_squash,fsid=1,async,no_subtree_chec k) Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Nó de Computação - NC01 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Criar a máquina virtual NC01 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NC01 Inserir no final do arquivo /etc/hosts 192.168.5.1 192.168.5.2 192.168.5.3 192.168.5.4 np01 na01 nc01 nc02 Inserir no final do arquivo /etc/resolv.conf search unimep.br nameserver 200.18.243.36 nameserver 200.18.243.45 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NC01 Inserir no final do arquivo /etc/rc.d/rc.local hostname nc01 loadkeys br-abnt2.map.gz iptables -F ifconfig ethx down ifconfig ethx up ifconfig ethx 192.168.5.3 broadcast 192.168.5.255 netmask 255.255.255.0 route add default gw 192.168.5.1 rpc.portmap mount na01:/mnt/hdb1/area_web /var/www Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Nó de Computação - NC02 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Criar a máquina virtual NC02 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NC02 Inserir no final do arquivo /etc/hosts 192.168.5.1 192.168.5.2 192.168.5.3 192.168.5.4 np01 na01 nc01 nc02 Inserir no final do arquivo /etc/resolv.conf search unimep.br nameserver 200.18.243.36 nameserver 200.18.243.45 Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Configurar o nó NC02 Inserir no final do arquivo /etc/rc.d/rc.local hostname nc02 loadkeys br-abnt2.map.gz iptables -F ifconfig ethx down ifconfig ethx up ifconfig ethx 192.168.5.4 broadcast 192.168.5.255 netmask 255.255.255.0 route add default gw 192.168.5.1 rpc.portmap mount na01:/mnt/hdb1/area_web /var/www Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Testes Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Congratulações Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Semana de Estudos em Cloud Computing Outubro de 2011 Oficina para a Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Prof. Dr. José Luís Zem [email protected] http://www.unimep.br/~jlzem Anexo – Criando o disco base Logar como Carregar o mapeamento do teclado usuario: root senha: toor loadkeys br-abnt2.map.gz Desabilitar as regras do firewall iptables -F Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Anexo – Criando o disco base 1. Passo: Preparar o disco virtual fdisk /dev/hda => carregar o software particionador n => criar nova partição p => partição primária 1 => primeira partição enter => usar o cilindro sugerido pelo particionador enter => usar o cilindro sugerido pelo particionador p => exibir a tabela de partições a => ativar partição para ser de boot 1 => número da partição a ser usada para o boot p => exibir a tabela de partições t => mudar o tipo da partição 6 => numero correspondente ao tipo FAT16 p => exibir a tabela de partições w => gravar a tabela de partição e sair do particionador Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Anexo – Criando o disco base 2. Passo: Criar um sistema de arquivos no disco virtual mkdosfs FAT16 /dev/hda1 => formatar a partição com o sistema 3. Passo: Copiar aquivos do CDROM para o disco virtual mkdir /mnt/hda1 => criar o ponto de montagem mount -t vfat /dev/hda1 /mnt/hda1 => montar a partição para ser usada cp -R /mnt/live/mnt/hdc/* /mnt/hda1 => copiar o conteúdo do cdrom para o disco virtual Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Anexo – Criando o disco base 4. Passo: Gerar o boot cd /mnt/hda1/boot => posicionar-se no diretório do programa instalador do boot ./bootinst.sh => programa que instala o boot no disco virtual 5. Passo: Reinicializar reboot => reinicializa o sistema operacional Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Anexo – Criando o disco base 6. Passo: Configurar o rc.local vi /etc/rc.d/rc.local i inserção loadkeys br-abnt2.map.gz iptables -F <ESC> :wq => entrar no modo de => voltar ao modo comando => gravar e sair Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web Anexo – Criando o disco base 7. Passo: Redefinir o menu de entrada cd /mnt/hda1/boot => posicionar no diretório do arquivo de menu vi slax.cfg => editar o arquivo de menu => remover as linhas do Label xconf até a anterioro ao Label slax <ESC> => voltar ao modo comando :wq => gravar e sair 8. Passo: Reinicializar reboot => reinicializa o sistema operacional Construção de um Cluster de Computadores de Balanceamento de Carga para Servidor Web