Tags:
, view all tags

Upgrade da Farm

Description

A primeira idéia é construir um nó que fosse a imagem de um nó comum da rede, e testar a upgrade usando dns+pxe+kickstart para automatizar a upgrade dos nós.

Iremos copiar a imagem de um hd para um diretorio /export/linux/sda1.img:

[root@node15:/export/linux]# dd if=/dev/sda of=sda1.img
71687372+0 records in
71687372+0 records out
O próximo passo é ligar a porta ethernet sobrando da spgrid04 e ligá-la em qualquer porta de um switch do rack B. Assim podemos acessar a rede interna.

Logamos a spgrid04 e bootamos usando o CD 4.1 do scientific linux, usando a opcão linux rescue. Além do idioma (english), tipo do teclado (br-abnt2), nesse momento ele pedirá se você deseja configurar a rede. Configuramos a porta eth1 ligada ao switch com ip 192.168.1.104 e netmask 255.255.255.0. Não monte as particões.

Para acessar a sprace devemos ter acesso ssh. Logo modificamos momentâneamente o /etc/ssh/sshd_config, comentando as linhas:

#PermitRootLogin no
#PasswordAuthentication no
e reiniciamos:
[root@sprace ~]# /etc/init.d/sshd restart
Agora voltamos ao aquário, e no prompt digitamos:
mkdir teste
mount -t nfs 192.168.1.200:/export /teste
dd if=/teste/linux/sda1.img of=/dev/sda
Ou seja, exportamos a imagem na sprace, demos um dd verificando o arquivo sda1.img e mandamos para o /dev/sda da máquina clone. Depois de algum tempo, configure a rede do nó recém criado:
umount /teste
mount /dev/sda2 /teste
vim /teste/etc/sysconfig/network
vim /teste/etc/sysconfig/network-scripts/ifcfg-eth0
umount /teste
Temos que configurar o ip da spgrid04 (HOSTNAME=spg04 para a rede interna)-> 192.168.1.104, NISDOMAIN=grid, GATEWY=192.168.1.150. No outro arquivo, lembramos de modificar o HWADDR da eth0 (00:30:48:71:D2:48) Temos que configurar o ip da spgrid04 (HOSTNAME=spg04 para a rede interna)-> 192.168.1.104, NISDOMAIN=grid, GATEWY=192.168.1.150. No outro arquivo, lembramos de modificar o HWADDR da eth0 (00:30:48:71:D2:48),
NETWORKING=yes
HOSTNAME=spg04
GATEWAY=192.168.1.150
NISDOMAIN=grid
[mdias@spg04 mdias]$ more /etc/sysconfig/network-scripts/ifcfg-eth1
# Intel Corp.|82541GI/PI Gigabit Ethernet Controller
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:30:48:71:D2:48
IPADDR=192.168.1.104
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet
[mdias@spg04 mdias]$ more /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corp.|82541GI/PI Gigabit Ethernet Controller
DEVICE=eth0 BROADCAST=192.168.1.255
HWADDR=00:30:48:71:D2:49
IPADDR=192.168.1.104
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=no   <---------------Só a eth1 é ativada!!!

A principio não temos que modificar o grub (ou seja mountar a /dev/sda1, que é a particão /boot na criada /teste, modificar o /teste/grub/menu.lst e dar um grub-install /dev/sda), pois tinhamos um scientific linux de mesma versão instalado antes.

Tiramos o cd e modificamos o Physical View do gmond:

[mdias@spg04 mdias]$ more /etc/gmond.conf
name "SPGRID Cluster"
owner "SPRACE-HEP"
url "http://spgrid.if.usp.br/"
num_nodes  5
setuid ganglia
location "6,0,0"
[root@spg04 mdias]$ /etc/init.d/gmond restart
para ficar num rack virtual 6.

Vamos agora criar o mirror de instalacão do SL 4.4 no /export/linux/ (seguindo aproximadamente a receita encontrada em https://www.scientificlinux.org/download/mirroring/mirror.ftp)

[root@sprace ~]cd
[root@sprace ~]mkdir /export/linux/SL_44_i386
[root@sprace ~]# vim download.verbose
set ftp:list-options -a
open ftp.scientificlinux.org/linux/scientific/44/i386
lcd /export/linux/SL_44_i386
mirror --delete --exclude sites/Fermi --exclude errata/debuginfo
--exclude errata/obsolete --verbose=4
quit
[root@sprace ~] nohup lftp -f download.verbose &
O que demorou umas 3 horas, aproximadamente. Agora vamos comecar a ajustar o dhcp para entregar um ip logo de cara para o pxe:

[root@sprace ~]# more /etc/dhcpd.conf

# sample configuration file for DHCP ISC 3.0

ddns-update-style none;

# Definition of PXE-specific options
# Code 1: Multicast IP address of bootfile
# Code 2: UDP port that client should monitor for MTFTP responses
# Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests
# Code 4: Number of seconds a client must listen for activity before trying
#         to start a new MTFTP transfer
# Code 5: Number of seconds a client must listen before trying to restart
#         a MTFTP transfer

option space PXE;
option PXE.mtftp-ip               code 1 = ip-address;
option PXE.mtftp-cport            code 2 = unsigned integer 16;
option PXE.mtftp-sport            code 3 = unsigned integer 16;
option PXE.mtftp-tmout            code 4 = unsigned integer 8;
option PXE.mtftp-delay            code 5 = unsigned integer 8;
option PXE.discovery-control      code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr   code 7 = ip-address;

# PXE specific options
class "pxeclients" {
  match if substring (option vendor-class-identifier, 0, 9) =
         "PXEClient";
  option vendor-class-identifier "PXEClient";
  vendor-option-space PXE;
  option PXE.mtftp-ip 0.0.0.0;
}

subnet 200.136.80.0 netmask 255.255.255.0
   {
   }
subnet 192.168.1.0 netmask 255.255.255.0 {
  deny unknown-clients;
  min-lease-time 300;
  default-lease-time 1800;
  max-lease-time 1800;
  use-host-decl-names on;
  option subnet-mask 255.255.255.0;
  option routers 192.168.1.200;

host spg04
{
        hardware ethernet 00:30:48:71:D2:48;
        fixed-address spg04;
        filename "/tftpboot/pxelinux.0";
}
   }
[root@sprace ~]# /etc/init.d/dhcpd start
Aqui só mostrei a linha da spg04. Observe que ela aponta para o /tftpboot/pxelinux.0 para acionar o pxe do nó.

Devemos configurar o xinet.d

[root@sprace ~]# more /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers,
#       \
#       and to start the installation process for some operating systems.
service tftp
{
        disable                 = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = /tftpboot
        per_source              = 11
        cps                     = 100 2
#       flags                   = IPv4
}
[root@sprace ~]# /etc/init.d/xinetd restart	
Basicamente é setar o disable como no, existia um -s no server_args e comentamos o flags.

Agora fomos no http://rpmfind.net e pegamos o tftp-hpa e instalamos na sprace:

[root@sprace ~]# rpm -ivh tftp-hpa-0.32-2.i386.rpm
E comecamos a construir a arvore de diretório do /tftpboot na mão:
[root@sprace ~]# cd /tftpboot
[root@sprace tftpboot]# mkdir pxelinux.cfg
[root@sprace tftpboot]# vim pxelinux.cfg/default
#SERIAL 1 19200

# Mensagem a ser apresentada
DISPLAY msgs/message.txt

# timeout de espera
TIMEOUT 100

# Sempre mostrar o prompt
PROMPT  1

# Default e' realizar a instalacão
DEFAULT linux

LABEL linux
    kernel vmlinuz
    append ks=nfs:192.168.1.200:/export/linux/kickstart/ks.cfg initrd=initrd.img  devfs=nomount ksdevice=eth0
#console=ttyS1,19200

LABEL boot
    LOCALBOOT 0
A linha append é um argumento passado para o kernel vmlinuz no diretorio /tftpboot que será bootado. Logo deve ser uma linha única. ele aponta para o ks.cfg. Como temos duas interfaces de rede, devemos setar o ksdevice para indicar por qual delas o kickstart ira "puxar" os arquivos de instalacão (mistério: a placa de rede ligado na rede interna é a eth1, mas instalacão só funcionou setando para eth0!).

Configuramos uma mensagem como se fosse o lilo ou o grub:

[root@sprace tftpboot]# mkdir msgs
[root@sprace tftpboot]# vim msgs/message.txt
Mensagem a ser apresentada no momento de boot

47                                              07
47               ITAUTEC CLUSTER                07
47               0741Boot Management0747                07
47                                              07
47   Press:                                     07
47      0741boot     0747 for normal boot               07
47      0741linux    0747 to install a new node         07
47                                              07

O mais importante é que o nó consiga buscar da sprace o pxelinux.0 (vem na instalacão do tftpboot), um kernel (vmlinuz) e o initrd.img que vamos pegar do repositório (na verdade acho que poderia ser qualquer kernel e initrd.img!!)

[root@sprace tftpboot]# cp  /export/linux/SL_44_i386/images/SL/pxeboot/vmlinuz /tftpboot/.
[root@sprace tftpboot]# cp /export/linux/SL_44_i386/images/SL/pxeboot/initrd.img /tftpboot/.
[root@sprace tftpboot]# cp /tftpboot/linux-install/pxelinux.0 .
[root@sprace tftpboot]# ls /tftpboot/
initrd.img  linux-install  msgs  pxelinux.0  pxelinux.cfg  vmlinuz

O ks.cfg foi criado usando uma interface gráfica na sprace, o Kickstart Configurator (no Applications->System Tools). Em qualquer um dos nós existe um arquivo /root/anaconda-ks.cfg que é feito pelo instalador do SL linux. Exporte ele para sprace, e carregue no aplicativo usando File-> Open File. O importante é ajustar o Instalation Method. O arquivo deve ficar como abaixo:

[root@sprace mdias]# more /export/linux/kickstart/ks.cfg
#Generated by Kickstart Configurator
#platform=x86, AMD64, or Intel EM64T

#System  language
lang en_SG
#Language modules to install
langsupport en_SG
#System keyboard
keyboard br-abnt2
#System mouse
mouse
#Sytem timezone
timezone America/Sao_Paulo
#Root password
rootpw --iscrypted $1$PaanCc7b$YxIe3kD9qpT0kGjyKBQSM.
#Upgrade existing installation
upgrade
#Use NFS installation Media
nfs --server=192.168.1.200  --dir=/export/linux/SL_44_i386/
#System bootloader configuration
bootloader --location=mbr
#System authorization infomation
auth  --useshadow  --enablemd5
#Network information
network --bootproto=static --ip=192.168.1.101 --netmask=255.255.255.0
--gateway=192.168.1.150 --nameserver=143.107.128.16,143.107.128.17
--device=eth0
network --bootproto=dhcp --device=eth1

Agora vamos entrar no aquário, rebootar o nó, entrar na bios e colocar a primeira placa de rede como primeiro boot device. Depois da instalacão devemos dar reboot e tirar a primeira placa de rede e voltar a configuracão original.

Basicamente isto subiu a spg04.

Depois da verificamos que o servico yum roda no cron atualizando o sistema automaticamente, o que não é desejado.

Updates

Fulano em dd/mm/aaaa

Coloca o que fez.

Ciclano em dd/mm/aaaa

Mais comentarios
Edit | Attach | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2007-03-20 - MarcoAndreFerreiraDias
 

This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

antalya escort bursa escort eskisehir escort istanbul escort izmir escort