Universidade Estadual de Santa Cruz – UESC



Universidade Estadual de Santa Cruz – UESC

Departamento de Ciências Exatas e Tecnológicas – DCET

Laboratório de Bioinformática - LABBI

Grupo administraCluster

Instalação do Cluster

(Passo a passo)

Orientadora: Martha Ximena

Índice

1. Pré-requisitos 3

2. Particionamento 4

3. Isos 4

4. Instalação do debian (CD 1) 5

5. Compilação do Kernel 5

6. Lm-sensors 6

7. Configuração da Rede 8

8. NFS (Network file System) 8

9. NIS (Network Information System) 9

10. Automonter 10

11. ssh-keygen 10

12. Acesso a rede Externa (No servidor) 10

13. MPICH 11

14. Vi 12

15. Apt-get 12

16. Processo de Inicialização 13

17. FSTAB 15

1. Etapas de Instalação

1. Gravar Isos no servidor externo

Servidor

2. Verificar Bios

1. Lm-sensors(Tempertatura, Velocidade Cooler)

3. Instalação do Debian (CD 1)

4. Firewall

1. copiar Script

5. Instalação de Pacotes

1. SSH (já vem na instalação do básica debian)

2. nfs-kernel-server

3. nis

1. domain: bister

4. x-window-system (X, configuração)

1. Tentar autodetectar vídeo? [Sim]

2. framebuffer? [xfree86]

3. opções de teclado

4. onde será conectado? [/dev/psaux]

5. mouse: [ImpS2]

6. monitor LCD? [Não]

7. Resolução e taxas de atualização do Monitor: [1024x768@75Hz]

8. Sitema de cores: [24 bits]

9. Resolução Impressora: [600]

5. gcc (o mais atual: gcc-3.3]

6. g++(o mais atual: g++ 3.3]

7. make

8. automake

9. mc

10. ncurses-dev

11. apache

1. suExec: [não]

12. lm-sensors

13. APCUPSD

6. Configurar Hosts

1. copiar script de hosts da rede e acrescentar

#

# Cluster

#

192.168.0.85 mpb.labbi.uesc.br mpb

10.0.0.1 cluster.labbi.uesc.br servercluster

10.0.0.101 no1.cluster.labbi.uesc.br no1

10.0.0.102 no2.cluster.labbi.uesc.br no2

10.0.0.103 no3.cluster.labbi.uesc.br no3

10.0.0.104 no4.cluster.labbi.uesc.br no4

7. Configurar Serviços

1. Colocar as Isos no servidor

Mount –t nfs 192.168.0.3:/user/cparalela

Scp –r @192.168.0.4:/usr/local/apache2/htdocs/debian/cdX

2. nfs

3. nis

4. automounter

5. apcupsd

6. lm-sensors

Clientes (nos)

8. Verificar Bios

1. Lm-sensors(Tempertatura, Velocidade Cooler)

2. Desabilitar placa de rede ethernet

9. Instalação do Debian (CD 1)

10. Instalação de Pacotes

1. ssh (já vem na instalação básica do debian)

2. nfs-common

3. nis

4. gcc (o mais atual: gcc-3.3]

5. g++(o mais atual: g++ 3.3]

6. make

7. automake

8. mc

9. lm-sensors

10. APCUPSD

11. Configurar Hosts

1. copiar script de hosts da rede e acrescentar

#

# Cluster

#

192.168.0.85 mpb.labbi.uesc.br mpb

10.0.0.1 cluster.labbi.uesc.br servercluster

10.0.0.101 no1.cluster.labbi.uesc.br no1

10.0.0.102 no2.cluster.labbi.uesc.br no2

10.0.0.103 no3.cluster.labbi.uesc.br no3

10.0.0.104 no4.cluster.labbi.uesc.br no4

12. Configurar Serviços

1. nfs

2. nis

3. automounter

4. APCUPSD

5. lm-sensors

2. Pré-requisitos

Hardware e Rede

Antes de começar a instalação é bom saber alguns requisitos do Hardware e da Rede. Abaixo temos uma lista de alguns dos requisitos utilizados Se alguma sigla, ou algum nome for desconhecido ou não for família é necessário pesquisar.

Especificações de Hardware:

1. Qual a placa mãe?

1. Qual o processador?

2. Quanto de Memória RAM?

3. Qual a Controladora do Hard Disk (SCSI, IDE, RLL, MFM...)?

4. Qual o tamanho do HD (espaço total em disco)?

5. Qual o monitor e qual a sua frequencia horizontal e vertical? *

6. Qual a placa de video? *

7. Qual o tipo de mouse (PS/2...)? Quantos botões?

8. Qual o tipo de teclado (ABNT, ABNT2...)?

9. Qual a placa de Rede?

10. Qual a impressora? **

11. Qual o modem? **

12. Qual o drive de Fita? **

* Não é necessário saber para a instalação do Debian Sarge.

** Não será utilizado para a construção do nosso cluster

Especificação de Rede:

1. IP (Internet Protocol, “endereço” do computador): 192.168.0.112

2. Mascara (como a rede está dividida): 255.255.255.0

3. Gateway (“saida” da rede): 192.168.0.1

4. Nome do domínio: cluster

Outros:

1. Nome do sistema

2. Senha da conta de root

3. Esquema de particionamento do disco

Referência:

Running Linux, 1ªEdição, pag. 29 à 34

IDE:

SCSI:

IDE X SCSI:

3. Particionamento

HD: 160 GB

FileSystem Server

|Partição |Tipo |Tamanho | |

|/boot |Local |200 MB |Primária |

|/ |local |2 GB |Primária |

|/swap |local |2 GB |Primária |

|/var |local |2 GB |Lógica |

|/usr/local |NFS |12 GB |Lógica |

|/home |local |141,8 GB |Lógica |

FileSystem Nodes

|Partição |Tipo |Tamanho | |

|/boot |local |200 MB |Primária |

|/ |local |2 GB |Primária |

|/swap |local |2 GB |Primária |

|/var |local |2 GB |Lógica |

|/data1 |local |133,8 GB |Lógica |

|/data2 |PVFS |20 GB |Lógica |

4. Isos

1- Retirada do conteúdo de dentro das isos

- Para instalação, é necessário que o contéudo das isos seja

exposto, ou seja, esteja contido em pastas. Para tanto, os seguintes

comandos foram necessários (Lembrando que as isos foram copiadas para

a máquina 'mila', ip 192.168.0.3, pasta /usr/cparalela/debian. Os

comandos foram inseridos nesta máquina):

cd /usr/cparalela/debian

mkdir temp

mount -t iso9660 debian-iso-X.iso temp/ -o loop

mkdir cdX

cd temp/

cp -rvf * ../cdX

rm debian-iso-X.iso

- Estes comandos foram repetidos para cada iso. O X representa o

número atual da iso. Pasta temp/ deletada ao final.

2 - Para instalação via rede, é necessário a presença de um servidor

web na máquina fonte (localização das isos). Como a máquina 'mila' não

possui um servidor web, outra máquina da rede do labbi foi utilizada,

ip 192.168.0.4. A pasta das isos ('mila') foram então montadas via nfs

no diretório padrão do apache, servidor web, pasta debian.

/usr/local/apache2/httpd/htdocs/debian (...se não me engano)

Obs.: O servidor web apache responde pela porta 8080 nesta máquina, ip

192.168.0.4

5. Instalação do debian (CD 1)

Servidor

Verificar A Bios (Temperatura, Velocidade do Cooler)

1. Ajustar a bios para dar boot pelo cd e colocar o cd1 do debian no drive.

2. Digite linux26 e press enter para usar o kernel 2.6 ou somente press enter para usar o kernel padrão da instalação (2.4).

3. Escolher a linguagem do sistema (choose language). [Portuguese (Brazil)]

4. Selecione um layout de teclado. [abnt2]

5. Escolha a interface de rede primaria.

1. eth1: primária

2. eth0: secundária

6. Escolha um método de configurar a rede. [DHCP automaticamente]

1. Nome da máquina. [servercluster]

2. Nome do dominio. [labbi.uesc.br]

3. Entrar em outro terminar e dar ifconfig eth1 192.168.0.85

7. Particionar o disco. [editar manualmente]

8. Para aopção editar manualmente:

1. Particionar o disco e escolher o tipo de arquivo. [ext3]

2. Gravar as alterações.

9. Instalar o gerenciador de inicialização grub no hda0.

1. [voltar]

2. [lilo]

10. Finalizar a intalação.

11. 10.Retirar o cd e Reinicializar o sistema.

12. 11.Configuração do sistema básico.

1. O relógio está configurado para GMT? [sim]

2. Fuso horário? [Leste]

3. Definir senha de root

4. Definir novo usuario e senha.

13. Editar manualmente o /etc/apt/source.list

deb [X] stable main

14. Sem ambiente

15. Exim 4: sem configuração no momento

Cliente

1. 1.Ajustar a bios para dar boot pelo cd e colocar o cd1 do debian no drive.

2. 2.Digite linux26 e press enter para usar o kernel 2.6 ou somente press enter para usar o kernel padrão da instalação (2.4).

3. 3.Escolher a linguagem do sistema (choose language). [Portuguese (Brazil)]

4. 4.Selecione um layout de teclado. [abnt2.]

5. 5.Escolha a interface de rede primaria. [eth0:Intel Corporation ....]

6. 6.Escolha um metodo de configurar a rede. [configurar a rede manualmente]

Para a opção configurar manualmente:

1. 1. Definir o IP da maquina na rede. [10.0.0.101] [10.0.0.102] ... [10.0.0.105]

2. 2. Máscara de rede. [255.05.0.0 ]

3. 3. Servidor da rede (Gatway). [10.0.0.1]

4. 4. Endereço dos servidores de nome. [200.223.201.33 200.223.201.34]

5. 5. Nome da máquina. [no1] [no2] [no3] [no4] [no5]

6. Nome do dominio. [cluster.labbi.uesc.br]

7. Particionar o disco. [editar manualmente]

Para aopção editar manualmente:

1. Particionar o disco e escolher o tipo de arquivo. [ext3]

2. Gravar as alterações.

8. Instalar o gerenciador de inicialização grub no hda0. [sim]

9. Finalizar a intalação.

10.Retirar o cd e Reinicializar o sistema.

11.Configuração do sistema básico.

1.O relógio está configurado para GMT? [sim]

2.Fuso horário? [Leste]

3. Definir senha de root

4.Definir novo usuario e senha.

16. Editar manualmente o /etc/apt/source.list

deb [X] stable main

17. Sem ambiente

18. Exim 4: sem configuração no momento

Antigo

Configuração atual necessária para o arquivo /etc/apt/sources.list

- Para realizar a instalação, o arquivo /etc/apt/sources.list , deve estar da seguinte forma:

deb stable main

deb stable main

deb stable main

...

deb stable main

deb stable main

Referência:

6. Compilação do Kernel

Quanto maior a quantidade de módulos, maior o tempo.

Necessário:

-ncurses

-kernel ()

-path (opcional)

Etapa 1: Descompactação

[root@host] # mv linux-2.6.4.tar.bz2 /usr/src

[root@host] # cd /usr/src

[root@host] # tar -jxvf linux-2.6.4.tar.bz2

Etapa 2: Link simbolico

[root@host] # rm -R /usr/src/linux (para o caso de já existir)

[root@host] # mkdir /usr/src/linux

[root@host] # ln -s /usr/src/linux-2.6.4 /usr/src/linux

***Path (opcional)

[root@host] # cp patch-2.6.4-ck1 /usr/src

descompacte-o

[root@host] # bunzip2 patch-2.6.4-ck1.bz2

e aplique o patch no source do seu kernel

[root@host] # cd /usr/src/linux

[root@host] # patch -p1 < ../patch-2.6.4-ck1

Etapa 3: Configuração:

[root@host] # cd /usr/src/linux

[root@host] # make mrproper (para limpar as configurações e depois)

[root@host] # make menuconfig

[root@host] # make bzImage (Criar a imagem 'bootável' do kernel:)

[root@host] # make modules (Compilar modulos)

[root@host] # make modules_install (Instalar modulos criados)

Copiar os arquivos de imagem, configuração e o System.map para /boot

[root@host] # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.4

[root@host] # cp /usr/src/linux/.config /boot/config-2.6.4

[root@host] # cp /usr/src/linux/System.map /boot/System.map-2.6.4

Importante: Manter versão antiga do kernel intocada para caso de erros

Etapa 4: Gerenciador de Boot

*LILO

[root@host] # vi /etc/lilo.conf

image /boot/vmlinuz-2.6.4

#hdax, onde x é a partição onde o kernel está instalado

root=/dev/hda2

label=Linux-2.6.4

read-only

[root@host] # /sbin/lilo

*GRUB

[root@host] # vi /boot/grub/grub.conf

ou

[root@host] # vi /boot/grub/menu.lst

title Linux-2.6.4

# (hdx,y), onde x é a interface IDE e o y é o numero da partição

root (hd0,1)

kernel /boot/vmlinuz-2.6.4 root=/dev/hda2 ro

***Compilar o kernel com gcc (opcional)

[root@host] # make CC=/usr/bin/gcc-2.95 bzImage

[root@host] # make CC=/usr/bin/gcc-2.95 modules

[root@host] # make CC=/usr/bin/gcc-2.95 modules_install

Referência:



7. Lm-sensors

Instalação e configuração do lm_sensors para kernel2.6

1- Necessario:

*lm_sensors-2.9.1.tar.gz

*libsensors

Ps.: não será necessário o i2c-x.x.x pois ele já vem no kernel

2- Programas de visualização Grafica

xsensors

wmsensors (faz um pequeno grafico atualizadado a cada segundo)

ksensors (pode ficar na barra de tarefas)

3- Etapas

Etapa 1: baixar os pacotes necessários

or



[host@debian]# apt-get install lib_sensors*

[host@debian]# vi /etc/ld.so.conf

acrescentar a linha:

/etc/local/lib

[host@debian]# /sbin/ldconfig

[host@debian]# rm /usr/lib/libsensors.so*

Etapa 2: Copiar os arquivos autoconf.h e config.h para nao ter

problema na hora de utilizar o make. Se necessário, criar os diretorios onde

serão ficarão os arquivos. Caso os arquivos não estejam no caminho

indicado, fazer uma procura utilizando o comando [host@debian]# find /usr

-name "nome_arquivo" -print e copia-lo para o local indicado

[host@debian]# cp /usr/include/linux/autoconf.h

/usr/src/linux/include/linux/.

[host@debian]# cp /usr/include/linux/config.h

/usr/src/linux/include/linux/.

Etapa 3: descompactação e compilação (no diretorio do lm_sensors)

[host@debian]# cd /usr/src/linux

[host@debian]# tar -zxvf lm_sensors-2.9.1.tar.gz

[host@debian]# cd lm_sensors-2.9.1

[host@debian]# make user

[host@debian]# make user_install

Etapa 4: Instalação e Modulos (ver quais foram os modulos utilizados

depois do sensors detect para utiliza-lo. Minimo 3: modulo kernel (i2c),

modulo do sensors ie (w83627hf, lm78...) e o modulo do chipset).

[host@debian]# sensors-detect

...

*Yes na ultima opcao, sobre criar um arquivo config. Senão carregar os

modulos todas as vezes que for usar

[host@debian]# modprobe i2c_i801

[host@debian]# modprobe i2c_isa

[host@debian]# modprobe eeprom

[host@debian]# modprobe w83627hf

Etapa 5: Carregar Configurações e testar

[host@debian]# sensors -s

[host@debian]# sensors

Dica: para ficar rodando o lmsensors constatemente usar o comando watch

-n 1 "sensors"

Checar na BIOS se os valores estão corretos, senão estiverem será

necessário calibrar.

4- Explicação dos campos

Vcore 1: tensão usada pelo processador

Vcore 2: Tensão utilizada pela memória

+-3.3v, +-5v, +-12v: tensões da placa mãe

Stdby: tensão mínima necessária para que o funcione os

hardwares básicos quando o computador estiver em modo

de Standby

Vbat: tensão da bateria

FAN1: CPU FAN (para o cooler do Processador)

FAN2 e FAN3: Chassis FAN (cooler frontal) e Power FAN

(cooler da fonte)

M/B Temp: Temperatura da Placa-mãe

sensor = thermistor

CPU Temp: Temperatura da CPU

***Temp3: Temperatura do processador

sensor = diode

5- Fonte







6- Atualmente, a versão mais nova do Debian Sarge permite que se possa utilizar o apt-get tendo feito a instalação do Debian como kernel 2.6.

#apt-get install lmsensors

8. Configuração da Rede

1- Servidor

# ifconfig eth1 down

# ifconfig eth1 up 10.0.0.1

# /etc/init.d/networking restart

2- Cliente

# ifconfig eth0 down

# ifconfig eth0 up 10.0.0.5

# route add default gw 10.0.0.1 netmask 255.255.255.0

# /etc/init.d/networking restart

9. NFS (Network file System)

1- Servidor

Pacotes: nfs-kernel-server

# apt-get install nfs-kernel-server

Configuração:

# vi /etc/exports

/home *(rw, async, root_squash)

/usr/local *(rw, async, root_squash)

# /etc/init.d/nfs-kernel-server restart

Em /etc/fstab acrescentar

Tierra:/home /tierra nfs rw,defaults 0 0

2- Cliente

Pacotes: nfs-kernel-server

# apt-get install nfs-kernel-server

Configuração:

#mkdir /tierra

# vi /etc/fstab

tierra:/home /tierra nfs rw, async 0 0

servercluster:/home /home nfs rw, async 0 0

servercluster:/usr/local /usr/local nfs rw, async 0 0

Ps.: Caso não esteja montado o diretório, utilizar o comando:

#mount /home

10. NIS (Network Information System)

1- Servidor

Pacotes: nis

# apt-get install nis

Configuração:

1) /etc/nsswitch.conf

passwd compat nis

group compat nis

shadow compat nis

2) /etc/yp.conf

ypserver 10.0.0.1

3) /etc/init.d

Ypserv

4) /var/yp/makefile

MINUID=500

MINGID=500

5) Criar conta

adduser –uid 534 arliton

adduser –uid 550 leandro

adduser –uid 549 dfreitas

adduser –uid 514 charles

adduser –uid 503 mxtd

adduser –uid 510 diegoc

adduser –uid 525 evalero

6) Modificar a GID quando for diferente da UID

/etc/group

charles:x:514:518

mxtd:x:503:507

diegoc:x:510:514

7) Criar grupo

ddgroup cparalela

/etc/group

cparalela:x:1502: arliton,leandro,dfreitas,charles,mxtd,diegoc,evalero

8) Acrescentar no /etc/passwd a linha

+::::::

8) Alterações de Arquivos

- /etc/adduser.conf

# nisdomainname bister

# vi /etc/defaultdomain

cluster

# /etc/init.d/portmap start

# rpcinfo -u localhost portmap

programa 100000 pronto versao 2 pronto e aguardando

# ypserv

# rpcinfo -u localhost ypserv

programa 100004 pronto versao 1 pronto e aguardando

programa 100004 pronto versao 2 pronto e aguardando

# /usr/lib/yp/ypinit -m

(crtl+d para parar)

(s confirmar)

/var/yp/make

Ps.1: Arquivo de configuração /etc/ypserv.conf previamente configurado.

Ps.2: Toda vez que criar um novo usuário é necessário refazer os mapas. (/usr/lib/yp/ypinit -m)

2- Cliente

Pacotes: nis

# apt-get install nis

Configuração:

# vi /etc/yp.conf

Ypserver servercluster

# nisdomainname cluster

# vi /etc/defaultdomain

cluster

# /etc/init.d/pormap start

# rpcinfo -u localhost portmap

programa 100000 pronto versao 2 pronto e aguardando

# vi /etc/yp.conf

ypserver 10.0.0.1

# vi /etc/nsswitch.conf

passwd: files nis

group: files nis

shadow: files nis

# /etc/passwd

+::::::

# ypbind

# /etc/init.d/nis restart

# rpcinfo -u localhost ypbind

programa 100007 pronto versao 1 pronto e aguardando

programa 100007 pronto versao 2 pronto e aguardando

Alterações de Arquivos

- /etc/adduser.conf

- /var/yp/Makefile (arquivo de criação de mapas do NIS)

- /etc/ssh/sshd_config (máquinas clientes)

11. Automonter

1. baixar o pacote autofs

2. editar o arquivo auto.misc em /etc

diegoc -rw 192.168.0.2:/home/diegoc

servidor o q vai pegar no servidor

onde ta -rw, no manual original era -ro, mas ficou rw

3. editar o arquivo auto.master

/home /etc/auto.misc -ro

onde vai montar o arquivo q vai pegar

4. editar o arquivo /etc/fstab

comentar a linha em que se importa as homes

#192.168.0.2:/home ........

5. desmontar o /home

umount /home

6. /etc/init.d/autofs reload

12. ssh-keygen

#ssh-keygen -dsa -t

# cp /.ssh/identity.pub /.ssh/authorized_keys

# chmod 777 /.ssh/authorized_keys

# scp /.ssh/authorized_keys root@10.0.0.5:/root/.ssh/

Referência:



13. Acesso a rede Externa (No servidor)

Habilitar POSTROUTING e MASQUERADE em clusterserver e deste modo permitir clintecluster

acessar uma rede externa à sua.

Passo 1: (POSTROUTING - MASQUERADE)

- criação em /etc/init.d/ do arquivo firewall.sh contendo as seguintes linhas:

ifconfig eth0 10.0.0.1 up

ifconfig eth1 192l.168.0.85 up

echo "Iniciando IPTABLES..."

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0. -o eth1 -j MASQUERADE

echo "OK!"

- setando permissão de execução para o script

chmod +x /etc/init.d/firewall.sh

- criação de um link simbólico dentro de /etc/rc2.d/ (2 = runlevel de execução) apontando para /etc/init.d/firewall.sh com o objetivo de fazer com que as regras sejam inseridas durante a inicialização do sistema.

ln -sf /etc/init.d/firewall /etc/rc2.d/S15firewall

/etc/network/interface

Passo 3:

- Testes de comunicação

Resultado: OK

- Montagem do /home de Tierra em clientcluster via NFS.

Resultado: OK

14. MPICH

Pacotes

mpich-1.2.7.tar.gz



Etapas:

# cd /usr/local

# tar -zxvf mpich.tar.gz

# cd mpich-XXX

#./configure -prefix=/usr/local/mpich-1.2.7p1

# make >& make.log

Configurar as máquinas que serão clientes:

# vi /usr/local/mpich-1.2.7p1/util/machines/machines.LINUX

10.0.0.5

10.0.0.5

Fazer o teste:

/usr/local/mpich-1.2.7p1/bin/tstmachines

Testando programa exemplo:

cd examples/basic

make cpi

../../bin/mpirun -np 4 cpi

Referências:







Linux Clustering, Building and Maintaining Linux Cluster; Charles Bookman pág. 166-168

15. Vi

1- Comandos Básicos

|Comando |Função |

|:/ |Pesquisa o nome em para baixo do texto |

|:/ :? |Pesquisa o nome em para cima do texto |

|:w |Salva arquivo |

|:q |Saia do arquivo |

|:wq ou :x |Salva e sai do arquivo |

|:q! |Força a saída do arquivo sem salvar |

|ctrl+g |Vai para o final do arquivo |

|: |vai para a linha desejada |

2- Comandos Avançados

| | |

|vi -o file1 file2 ... |Abrir dois arquivos simultâneos (split in horizontal mode) |

|vi -O file1 file2 ... |Abrir dois arquivos simultâneos (split in vertical mode) |

|ctrl+w |muda de janela |

|ctrl+w+n |quebra janela horizontalmente |

|ctrl+w+v |quebra janela vetcialmente |

|:n |Vai para o próximo arquivo |

|:N |Vai para o arquivo anterior |

|:wn or :wN |for writing and moving in one command |

|:2n | |

|:e |Abrir arquivo |

|:E |Abrir arquivo (mostra o arquivos utilizando menu) |

16. Apt-get

#apt-get install

#apt-get remove

#apt-get –u upgrade (atualiza pacotes)

#apt-get –u dist-upgrade (atualiza distribuição)

Usando o d-select

Uma vez no dselect você verá uma tela como esta:

Debian `dselect' package handling frontend.

0. [A]ccess Choose the access method to use.

1. [U]pdate Update list of available packages, if possible.

2. [S]elect Request which packages you want on your system.

3. [I]nstall Install and upgrade wanted packages.

4. [C]onfig Configure any packages that are unconfigured.

5. [R]emove Remove unwanted software.

6. [Q]uit Quit dselect.

Depois de feitas as seleções adequadas no dselect, use:

# apt-get -u dselect-upgrade

Referências:



Como usar o apt-get



Manual D-select para iniciantes

(em html)



17. Processo de Inicialização

1- O programa init

Como todos os Unices, o Debian inicia executando o programa init. O arquivo de configuração para o init (que é /etc/inittab) especifica que o primeiro script a ser executado deve ser o /etc/init.d/rcS. Esse script executa todos os scripts em /etc/rcS.d/ através do source ou fork de subprocessos, dependendo de sua extensão de arquivo, para executar a inicialização como a checagem e a montagem de sistemas de arquivos, carregamento de módulos, início de serviços de rede, configuração do relógio, etc. Então, por compatibilidade, ele também executa os arquivos (exceto aqueles com um `.' em seu nome) em /etc/rc.boot . Quaisquer scripts no diretório posterior são normalmente reservados para o uso do administrador do sistema e usá-los em pacotes é obsoleto. Veja Inicialização do sistema, Seção 9.1 e Níveis de execução de Sistema e scripts init.d no Manual de Políticas Debian para maiores informações.

2- Níveis de execução

Depois de completar o processo de inicialização, o init executa todos os scripts de inicialização em um diretório especificado pelo nível de execução padrão (este nível de execução é dado pela entrada para o id em /etc/inittab. Como a maioria dos Unices compatíveis com System V, o Linux possui 7 níveis de execução :

0 (parar o sistema),

1 (modo de usuário único),

2 through 5 (vários modos multiusuário), e

6 (reinicia o sistema).

Sistemas Debian vêm com o valor id=2, o que indica que o nível de execução padrão será 2 quando o estado multiusuário for iniciado e que os scripts em /etc/rc2.d/ serão executados.

De fato, os scripts em quaisquer dos diretórios em /etc/rcN.d/ são apenas ligações simbólicas que apontam para scripts em /etc/init.d/. Porém, os nomes dos arquivos em cada um dos diretórios /etc/rcN.d/ são selecionados para indicar a maneira que os scripts em /etc/init.d/ serão executados. Especificamente, antes de entrar em qualquer nível de execução, todos os scripts iniciados com `K' são executados; esses scripts matam (param) serviços. Então todos os scripts iniciados com `S' são executados; esses scripts iniciam serviços. O número de dois dígitos seguido de `K' ou `S' indica a ordem na qual o script é executado. Scripts de menor valor numérico são executados primeiro.

Esse método funciona porque todos os scripts em /etc/init.d/ aceitam um argumento que pode ser "start" (iniciar), "stop" (parar), "reload" (recarregar), "restart" (reiniciar) ou "force-reload" (forçar-recarregar) e irão portanto cumprir a tarefa indicada pelo argumento. Esses scripts podem ser usados mesmo depois que um sistema tenha sido iniciado para controlar vários processos.

Por exemplo, com o argumento "reload" o comando

# /etc/init.d/exim4 reload

envia ao daemon exim4 um sinal para que o mesmo releia seu arquivo de configuração.

3- Personalizando o processo de inicialização

O Debian não utiliza o diretório rc.local no estilo BSD para personalizar o processo de inicialização; ao invés disso ele fornece o seguinte mecanismo de personalização.

Suponha que um sistema precisa executar o script foo na inicialização da máquina ou ao entrar em um nível de execução (System V) em especifíco. O administrador do sistema deverá então :

Colocar o script foo dentro do diretório /etc/init.d/.

Executar o comando Debian update-rc.d com os argumentos apropriados para criar as ligações entre os diretórios (especificados na linha de comando) rc?.d e /etc/init.d/foo. Aqui, ? é um número de 0 a 6 que corresponde a um dos níveis de execução System V.

Reiniciar o sistema.

O comando update-rc.d criará as ligações entre os arquivos nos diretórios rc?.d e o script em /etc/init.d/. Cada ligação iniciará com um `S' ou um `K', seguido por um número, seguido pelo nome do script. Quando o sistema entra em um nível de execução N, scripts que iniciam com `K' em /etc/rcN.d/ são executados com stop como seu argumento, seguido por aqueles começando com `S' em /etc/rcN.d com start como seu argumento.

Alguém poderia, por exemplo, fazer com que o script foo seja executado na inicialização do sistema colocando-o em /etc/init.d/ e instalando as ligações com o comando update-rc.d foo defaults 19. O argumento defaults se refere aos níveis de execução padrões, que são do nível 2 até o nível 5. O argumento 19 assegura que foo seja chamado antes de quaisquer scripts contendo números 20 ou superiores.

Referência:











18. FSTAB

Referência:



19. No-break

O servidor é responsável por mandar o sinal de desligar para todas as maquinas, quando ele estiver se desligando. Já os nós responsáveis pelo gerenciamento do nobreak, quando perceber a necessidade de desligar, ele se desliga pelo controlador UPS e manda um sinal de shutdown para o Server.

1º Passo: baixar o apcupsd do debian nas maquinas que vão gerenciar os nobreaks.

2º Passo: editar o arquivo /etc/apcupsd/ apcupsd.conf

No servidor:

# Nome do UPS na maquina

UPSNAME servercluster

UPSCABLE usb

UPSTYPE usb

# Quando esta utilizando a porta usb, não é necessário especificar o DIVICE

DEVICE

# path para o dispositivo “olhar” o arquivo

LOOKFILE /var/lock

# Tempo (em segundos) antes de desligar a bateria

ONBATTERYDELAY 6

# Porcetagem mínima da bateria antes de iniciar o shutdown

ONBATTERYLEVEL 5

# Tempo (em minutos) de funcionamento sem a bateria. Depois desse tempo o

# computador é desligado

MINUTES 3

# Tempo de funcionamento restante do UPS depois de estar utilizando o no-break

# 0 desabilita essa opção.

TIMEOUT 0

ANNOY 300

ANNOYDELAY 60

# Determina quando usuários são previnidos de logar durante a queda de energia

NOLOGON disable

# APC continuará funcionando durante o tempo especificado.

KILLDELAY 6

NETSERVER off

NISIP 0.0.0.0

NISPORT 3551

# avaliar os eventos da rede

EVENTSFILE /var/log/açcujpsd.conf

EVENTSFILEMAX 10

#NETTIME 100

# configuração das instruções para controloar o sistema de log

# Intervalo de tempo em segundos entre a escrita no STATUS file. 0 desabilita

STATTIME 0

DATATIME 0

LOGSTAT on

DATATIME 0

# nome do UPS na EPROM

UPSNAME server

BATTDATE 05/06/06

# sensibilidade quanto a qualidade da voltagem

SENSOTIVY H

# tempo de espera para quando voltar a energia

WAKEUP 60

# tempo que a bateria continuará ativa depois que enviado o sinal para se desligar

# como esta relacionado com o switch, esse nobreak é o ulitmo a ser desligado,

# para que as outras maquinas possam receber o sinal de desligamento

SLEEP 600

# Porcentagem da bateria para voltar restaurar a energia

RETURNCHANGE 90

# Alarme de espera. T = queda de energia + 30 sec

BEEPSTAT T

Nos nós gerenciadores:

UPSNAME no1

UPSCABLE usb

UPSTYPE usb

DEVICE

LOOKFILE /var/lock

ONBATTERYDELAY 6

ONBATTERYLEVEL 5

MINUTES 3

ANNOY 300

ANNOYDELAY 60

NOLOGON disable

KILLDELAY 6

NETSERVER off

NISIP 0.0.0.0

NISPORT 3551

EVENTSFILE /var/log/açcujpsd.conf

EVENTSFILEMAX 10

#NETTIME 100

STATTIME 0

DATATIME 0

LOGSTAT on

DATATIME 0

UPSNAME no1

BATTDATE 05/06/06

SENSOTIVY H

WAKEUP 60

SLEEP 180

RETURNCHANGE 90

BEEPSTAT T

3º Passo: em /etc/default/apupsd

ISCONFIGURED=yes

4º Passo: /etc/init.d/apcupsd star

5º Passo: copiar script de desligamento do cluster em /etc/init.d

Servidor: shutdowncluster

#!/bin/bash

for((i=1; i ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download