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: <pre> [root@node15:/export/linux]# dd if=/dev/sda of=sda1.img 71687372+0 records in 71687372+0 records out </pre> 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: <pre> #PermitRootLogin no #PasswordAuthentication no </pre> e reiniciamos: <pre> [root@sprace ~]# /etc/init.d/sshd restart </pre> Agora voltamos ao aquário, e no prompt digitamos: <pre> mkdir teste mount -t nfs 192.168.1.200:/export /teste dd if=/teste/linux/sda1.img of=/dev/sda </pre> 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: <pre> umount /teste mount /dev/sda2 /teste vim /teste/etc/sysconfig/network vim /teste/etc/sysconfig/network-scripts/ifcfg-eth0 umount /teste </pre> 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) </pre> 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), <pre> 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!!! </pre> 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: <pre> [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 </pre> 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) <pre> [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 & </pre> O que demorou umas 3 horas, aproximadamente. Agora vamos comecar a ajustar o dhcp para entregar um ip logo de cara para o pxe: <pre> [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 </pre> 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 <pre> [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 </pre> 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: <pre> [root@sprace ~]# rpm -ivh tftp-hpa-0.32-2.i386.rpm </pre> E comecamos a construir a arvore de diretório do /tftpboot na mão: <pre> [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 </pre> 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: <pre> [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 </pre> 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!!) <pre> [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 </pre> 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: <pre> [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 </pre> 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
|
P
rint version
|
H
istory
:
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2007-03-20
-
MarcoAndreFerreiraDias
Home
Site map
Main web
Sandbox web
TWiki web
Main Web
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback