Академический Документы
Профессиональный Документы
Культура Документы
3
2.Objetivos.........................................................................................................................3
3.Justificativas...................................................................................................................3
4.Reviso Temtica............................................................................................................3
4.1.Definio de Clusters...............................................................................................3
4.2.Tipos.........................................................................................................................3
4.2.1.Cluster de Alta Performance.............................................................................3
4.2.2.Cluster de Alta Disponibilidade........................................................................3
4.3.Aplicaes................................................................................................................3
5.Implantao....................................................................................................................3
5.1.Pr-requisitos...........................................................................................................3
5.2.Equipamento disponvel...........................................................................................4
5.3.Ambiente..................................................................................................................4
6.Instalao........................................................................................................................4
6.1.Instalao do N Master..........................................................................................4
6.1.1.Sistema Operacional..........................................................................................4
6.1.2.Network Time Protocol.....................................................................................6
6.1.3.Servidor NFS ....................................................................................................7
6.1.4.Servidor NIS .....................................................................................................8
6.1.5.Servidor DHCP...............................................................................................10
6.1.6.SSH..................................................................................................................11
6.1.7.Ambiente PXE.................................................................................................11
6.1.8.Segurana bsica.............................................................................................13
6.1.8.1.Firewall.....................................................................................................13
6.1.8.2.SELinux....................................................................................................14
6.1.8.3.TCP Wrappers...........................................................................................15
6.1.8.4.Sudo..........................................................................................................15
6.1.9.Cluster Softwares............................................................................................16
6.1.9.1.Alto desempenho......................................................................................16
6.1.9.1.1.OpenMPI............................................................................................16
6.1.9.1.2.PVM...................................................................................................16
6.1.9.1.3.Parallel Python...................................................................................16
6.1.9.2.Alta disponibilidade..................................................................................17
6.1.9.2.1.Red Hat Piranha.................................................................................17
6.1.10.Bibliotecas.....................................................................................................17
6.1.10.1.GEOS/PROJ4.........................................................................................17
6.1.10.2.GeoTiff....................................................................................................17
LISTA DE ABREVIAES
NTP
NFS
NIS
DHCP
SSH
PHP
PXE
GEOS
PROJ4
GDAL/OGR
GRASS
1. Introduo
2. Objetivos
3. Justificativas
4. Reviso Temtica
4.1.
Definio de Clusters
4.2.
Tipos
4.2.1.
4.2.2.
4.3.
Aplicaes
5. Implantao
5.1.
Pr-requisitos
5.2.
Equipamento disponvel
5.3.
Ambiente
6. Instalao
6.1.
Instalao do N Master
6.1.1.
Sistema Operacional
6.1.2.
O Network Time Protocol (NTP) um protocolo para sincronizao dos relgios dos
computadores atravs do protocolo UDP (porta 123), ou seja, ele define um jeito para
um grupo de computadores conversarem entre si e acertar seus relgios, baseados em
alguma fonte confivel de tempo. Com o NTP fcil manter o relgio do computador
sempre com a hora certa, com exatido por vezes melhor que alguns milsimos de
segundo.
de grande importncia que os ns do cluster possuam a mesma hora de sistema. Para
isso necessrio determinar um servidor NTP para que os ns do Cluster sincronizem a
data e hora entre si. Seria muito esquisito se, dentro de uma transferncia de dados, um
arquivo fosse transferido de um n e chegassem 5 segundos adiantados em outro n.
Segundo Pitanga (2008), a sincronizao de relgios til para determinao de
desempenho, auditoria, ordenao de eventos, escalonamento de tarefas, dentre outros.
Nesta seo ser mostrado como foi configurado o servio NTP, considerando que o
pacote foi instalado junto com o sistema operacional, caso contrrio, no repositrio
principal do Scientific Linux consta o pacote ntp e ntpdate, que pode ser instalado pelo
YUM. Abaixo segue os passos executados:
Instalar o NTP Server e habilitar a inicializao automtica junto com o
sistema
[root@masternode ~]# chkconfig ntpd on
Editar o arquivo /etc/ntp.conf para habilitar os ns do cluster acessem o
servidor NTP, para a sincronizao de hora e data, sem permisses de
modificao.
Ainda em modo de edio, substituir os servidores NTP padro da
distribuio por servidores localizados no Brasil (NTP Pool Project,
2011).
(http://www.pool.ntp.org/zone/br).
[root@masternode ~]# vim /etc/ntp.conf
# Hosts on local network are less restricted.
restrict 192.168.20.0 mask 255.255.255.0 nomodify notrap
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html)
# http://www.ntp.br/NTP/MenuNTPLinuxBSD
server 0.br.pool.ntp.org
server 1.br.pool.ntp.org
server 0.south-america.pool.ntp.org
Sincronizar o relgio com o servidor NTP pblico, caso necessrio.
[root@masternode ~]# ntpdate pool.ntp.org
Sincronizar o relgio do sistema operacional com o relgio do hardware
(BIOS).
[root@masternode ~]# hwclock --systohc --localtime
Iniciar o servio ntpd.
[root@masternode ~]# service ntpd start
6.1.3.
Servidor NFS
Servidor NIS
6.1.5.
Servidor DHCP
SSH
Ambiente PXE
http://linux.die.net/man/5/dhcp-options
http://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xml
Pacotes a serem utilizados: xinetd tftp-server syslinux httpd
Instalar o tftp-server
Editar o arquivo /etc/xinetd.d/tftp, e habilit-lo
[root@masternode ~]# vim /etc/xinetd.d/tftp
disable = no
Adicionar xinetd para carregar com o sistema e iniciar o servio
[root@masternode ~]# chkconfig xinetd on
[root@masternode ~]# service xinetd start
Criar os seguintes diretrios
[root@masternode ~]# mkdir p /tftpboot/images/scientific/x86_64/6.1
[root@masternode ~]# mkdir /tftpboot/pxelinux.cfg
Copiar os seguintes arquivos
# Syslinux
[root@masternode ~]# cp /usr/share/syslinux/menu.c32 /tftpboot
[root@masternode ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot
# Boot pela rede (arquivos do DVD do SL 6.1)
[root@masternode ~]# mount t iso9660 /dev/scd0 /mnt
[root@masternode ~]# cp /mnt/images/pxeboot/initrd.img
/tftpboot/images/scientific/x86_64/6.1
[root@masternode ~]# cp /mnt/images/pxeboot/vmlinuz
/tftpboot/images/scientific/x86_64/6.1
Copiar o DVD do Scientific Linux para o diretrio web
[root@masternode ~]# mkdir p
/var/www/html/install/scientific/x86_64/6.1/
[root@masternode ~]# cp R /mnt/* /var/www/html/install/scientific/x86_64/6.1/
Criar arquivo /tftpboot/pxelinux.cfg/default com o seguinte contedo
default scientific
label scientific
kernel images/scientific/x86_64/6.1/vmlinuz
append initrd=images/scientific/x86_64/6.1/initrd.img ramdisk_size=15000
method=http://192.168.20.1/install/scientific/x86_64/6.1/
ks=http://192.168.20.1/install/scientific/x86_64/6.1/ks.cfg pxe selinux=0
Configurar DHCP para permitir conexes de boot remoto. Dentro do
/etc/dhcp/dhcpd.conf, foi inserido as seguintes diretivas.
allow bootp;
option option-128 code 128 = string;
option option-129 code 129 = text;
next-server 192.168.20.1;
filename /tftpboot/pxelinux.0;
6.1.8.
Segurana bsica
6.1.8.1. Firewall
A partir das configuraes-padro do iptables
Desabilitar o ip6tables
Apache httpd
Submeter as regras para o iptables
iptables -I INPUT 5 -p tcp --dport 80 -j ACCEPT
NAT
Hablitar redirecionamento de IP (IP forwarding) no Kernel do Linux.
[root@masternode ~]# sysctl w net.ipv4.ip_forward=1
Submeter as regras para o iptables
[root@masternode ~]# iptables -t nat -A POSTROUTING -s
192.168.20.0/255.255.255.0 d 192.168.20.1 -o eth0 -j MASQUERADE
[root@masternode ~]# iptables -I FORWARD 1 -s 192.168.20.0/255.255.255.0 -d
192.168.20.1 -i eth1 -j ACCEPT
Portas RPC (NFS e NIS): rpcinfo p
Submeter as regras para o iptables
iptables -I INPUT 6 -s 192.168.20.0/24 -d 192.168.20.1 -i eth1 -j ACCEPT
iptables -I INPUT 6 -s 192.168.20.0/24 d 192.168.20.1 i eth1 -m multiport -p tcp
--dport 111,662,875,892,2049,32803 -j ACCEPT
iptables -I INPUT 7 -s 192.168.20.0/24 d 192.168.20.1 i eth1 -m multiport -p udp
--dport 111,662,875,892,2049,32769 -j ACCEPT
Salvar e reiniciar o Firewall
service iptables save
service iptables restart
6.1.8.2. SELinux
Dever ser configurado o acesso remoto a diretrios NFS, atribuindo valores s
configuraes do SELinux, ao invs de defin-lo como permissivo, ou at mesmo
desabilitado. Para isso basta executar um dos comandos abaixo, de acordo com as
necessidades:
http://linux.die.net/man/8/nfs_selinux
[root@masternode ~]# setsebool -P nfs_export_all_rw 1 # Exportar NFS para leitura e
escrita
[root@masternode ~]# setsebool -P nfs_export_all_ro 1 # Exportar NFS para somente
leitura
setsebool -P use_nfs_home_dirs 1 # Exportar diretrio /home
NIS Server http://linux.die.net/man/8/ypbind_selinux
[root@masternode ~]# setsebool P allow_ypbind 1
6.1.8.3. TCP Wrappers
Os TCP Wrappers permitem um maior controle para que computadores acessem certos
servios/daemons. O sistema ir analisar, nesta ordem, os arquivos /etc/hosts.allow e
/etc/hosts.deny. O primeiro arquivo ser usado para liberar o acesso ao servio pela rede
e o segundo, para restringir o acesso. Se no houver correspondncia em nenhum destes
arquivos, o acesso ao servio ser permitido.
Deve-se adicionar uma regra com um nome de sub-rede ou de domnio apropriado para
o seu ambiente para restringir o acesso permitido. A sub-rede tambm pode ser
especificada como 192.168.20., se desejado ao invs de incluir a mscara de rede.
Configurao de /etc/hosts.allow
vim /etc/hosts.allow
ALL: localhost
mountd: 192.168.20.0/255.255.255.0
Configurao de /etc/hosts.deny
vim /etc/hosts.deny
rpcbind:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
6.1.8.4. Sudo
O Scientific Linux, quando instalado no modo Server, possui um usurio ativado por
padro: root. Este usurio possui todos os privilgios administrativos dentro do sistema,
o que representaria uma operao de risco.
O comando sudo serve para executar tarefas que so referidas ao super-usurio root. O
usurio executa um comando precedido de sudo e o sistema pede confirmao de senha
antes de faz-lo. Esta uma maneira de se aumentar um pouco a segurana a fim de
evitar que se faa alguma bobagem sem nenhuma confirmao, esconder o usurio root
de acesso direto e atribuir tarefas administrativas a alguns usurios, chamados de
sudoers. Uma prtica utilizada atribuir ao grupo wheel a funo de ser o grupo de
sudoers pois, por definio, este grupo representaria os usurios com permisses
administrativas.
O objetivo de o N Master possuir usurio(s) com permisses administrativas. O
super-usurio root estar bloqueado para login no cluster e com isso aprimorar a
segurana contra execues indevidas de programas. A atribuio de um grupo restrito
de usurios para realizar tarefas administrativas atravs do sudo relativamente simples.
Os passos a serem realizados so os enumerados abaixo.
Habilitar o grupo wheel como grupo de usurios sudoers, atravs do
comando visudo
[root@masternode ~]# visudo
## Allows members of the users group to run all commands
%wheel
ALL=(ALL)
ALL
Adicionar os usurios que tero permisses administrativas ao grupo
wheel. Executar o comando abaixo para cada usurio.
[root@masternode ~]# usermod a -G wheel nome_usuario
Bloquear login no sistema com o usurio root
[root@masternode ~]# passwd l root # Bloqueia
[root@masternode ~]# passwd u root # Desbloqueia
6.1.9.
Cluster Softwares
Bibliotecas
6.1.10.1.
GEOS/PROJ4
Estas bibliotecas so utilizadas pela grande maioria dos softwares GIS disponveis do
GeoTiff
6.1.10.3.
SQLite e extenses espaciais
O SQLite um sistema de banco de dados leve, robusto e fcil de manipular. Assim
como os arquivos MDB do Microsoft Access, ele apenas um arquivo que pode ser
copiado, comprimido, compartilhado sem nenhum tipo de complicao. Ou seja, o
SQLite simples, portvel e multiplataforma. O SQLite pode ser considerado uma
opo OpenSource interessante com relao aos famigerados "Personal/File
Geodatabase" da ESRI.
O SpatiaLite a extenso espacial do SQLite, assim como o PostGIS est para o
PostgreSQL, ambos implementam as mesmas bibliotecas GEOS e PROJ.4 para
manipulao dos objetos espaciais e seguem as especificaes da OGC. O RasterLite a
biblioteca que permite a insero e manipulao de dados Raster dentro do SpatiaLite.
Diversas ferramentas OpenSource, como o Quantum GIS, manipulam diretamente os
arquivos SQLite. Existe, disponvel no site do desenvolvedor, ferramentas teis como o
spatialite-gui e spatialite-gis para a manipulao de bases de dados SQLite.
6.1.10.4.
GDAL
6.1.10.5.
GRASS
6.1.10.6.
Mapserver
6.1.11.
6.2.
6.1.11.1.
Webmin
6.1.11.2.
Munin Monitor
6.2.1.
Kickstart File
6.2.2.
7. Administrao do Cluster
8. Referencias