Tags:
create new tag
,
view all tags
---+ node 64 bits para cmssoft ---++Description Instalação de um node 64 bits para os jobs do cmssoft. Foi feita usando o kickstart, primeiro baixando os pacotes necessários na osg-ce <pre> yum install dhcp.i386 yum install tftp-server.i386 yum install system-config-netboot.i386 </pre> ---+++DHCP A configuração é no =/etc/dhcp.conf= inserindo o MAC Address da máquina <pre> ddns-update-style none; 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; 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.150; host node83 { hardware ethernet 00:30:48:89:26:AD; fixed-address 192.168.1.83; filename "/tftpboot/linux-install/pxelinux.0"; } } </pre> Depois inicie o serviço =service dhcpd start= ---+++ TFTP Certifique-se que o =/etc/xinetd.d/tftp= esteja assim (principalmente a opção =disable= ) <pre> { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } </pre> Edite o arquivo =/tftpboot/linux-install/pxelinux.cfg/default= dando o local do seu arquivo para o kickstart e a interface de rede utilizada pelo servidor (a osg-ce) para fazer a instalação (no caso a rede interna, eth1) <pre> DISPLAY msgs/message.txt TIMEOUT 10 PROMPT 1 DEFAULT linux kernel vmlinuz append ks=nfs:192.168.1.150:/export/linux/kickstart/ks.cfg initrd=initrd.img devfs=nomount ksdevice=eth1 LOCALBOOT 0 </pre> Edite a mensagem apresentada no boot, também <pre> 47 07 47 Press: 07 47 0741boot 0747 for normal boot 07 47 0741linux 0747 to install a new node 07 47 07 </pre> Copie as imagens necessárias do próprio repositório: <pre> cd /tftpboot/linux-install wget ftp://ftp.scientificlinux.org/linux/scientific/46/x86_64/images/SL/pxeboot/vmlinuz wget ftp://ftp.scientificlinux.org/linux/scientific/46/x86_64/images/SL/pxeboot/initrd.img </pre> Copie o =pxelinux.0= para o local apontado no seu arquivo de configuração do =dhcp= <pre> cp /tftpboot/linux-install/pxelinux.0 /tftpboot/. </pre> ---+++ Kickstart Gerado a partir de um =/root/anaconda-ks.cfg= de um node em operação, esta no local apontado pelo =pxelinux.cfg/default= , no nosso caso =/export/linux/kickstart/ks.cfg=: <pre> install nfs --server=192.168.1.150 --dir=/export/linux/scientific/46 lang en_US.UTF-8 langsupport --default en_US.UTF-8 en_US.UTF-8 pt_BR.UTF-8 keyboard br-abnt2 network --device eth1 --bootproto dhcp rootpw --iscrypted $1$iRzYaomV$ENFqdjD7qCeLaZn6SMoIB/ firewall --disabled authconfig --enableshadow --enablemd5 selinux --disabled timezone --utc America/Sao_Paulo bootloader --location=mbr --driveorder=sda # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work clearpart --all part /boot --fstype ext3 --size=100 --asprimary part / --fstype ext3 --size=10240 --asprimary part /var --fstype ext3 --size=2048 part swap --size=2048 --asprimary part /tmp --fstype ext3 --size=500 part /scratch --fstype ext3 --size=1 --grow %packages @ engineering-and-scientific @ brazilian-support @ admin-tools @ portuguese-support @ editors @ system-tools @ base-x @ graphics @ development-tools @ misc-sl @ gnome-desktop @ dialup @ apt-rpm @ yum @ openafs-client @ server-cfg -octave -pvm -units kernel-smp kernel grub -samba-client -lam -lapack -blas %post </pre> ---+++NFS Certifique-se que o =/etc/exports= contém as linhas necessárias para que a instalação seja realizada <pre> /export/postinstall 192.168.1.0/24(rw,async,no_root_squash) /export/linux/scientific/46 192.168.1.0/24(rw,async,no_root_squash) /export/linux/kickstart 192.168.1.0/24(rw,async,no_root_squash) </pre> Sem reiniciar o nfs <pre> exportfs -a </pre> ---+++Repositório para o Scientific Linux O arquivo =ks.cfg= indica onde fica os pacotes do SL necessários. Criamos um repositório para isso <pre> rsync -avzlH --delete --exclude=sites/Fermi --exclude=errata/debuginfo --exclude=errata/obsolete rsync://rsync.scientificlinux.org/scientific/46/x86_64/ /export/linux/scientific/46/ </pre> ---+++ No node Reinicie o node e aperte a tecla =F12=, para que a instalação seja feita. ---++ Pós Instalação No osg-ce, crie um diretório com os arquivos necessários para a instalação do node: <pre> authorized_keys gmond.conf node_instalar.sh ntp.conf condor hosts nsswitch.conf pacman-3.26 ganglia-monitor-core-gmond-2.5.7-1.x86_64.rpm mailnode nsswitch.conf.rpmnew step-tickers </pre> O arquivo =condor= é o arquivo de inicialização do condor. O diretório =mailnode= contém os mesmos do =/etc/sendmail= <pre> access helpfile mailertable.db sendmail.cf.rpmnew submit.cf.bak virtusertable access.db local-host-names Makefile sendmail.mc submit.cf.rpmnew virtusertable.db domaintable local-host-names.db sendmail.cf sendmail.mc.rpmnew submit.mc domaintable.db mailertable sendmail.cf.bak submit.cf trusted-users </pre> Todos estes arquivos são retirados de um node comum. Execute então este script no node que será instalado <pre> #!/bin/bash TEMP=/teste #Em FNODE coloque o primeiro nó do rack para acertar o physical view do gmond RACK=5; FNODE=71; mkdir $TEMP; mount -t nfs 192.168.1.150:/export/postinstall $TEMP; cd $TEMP; cp ntp.conf /etc/.; cp hosts /etc/hosts; cp nsswitch.conf /etc/.; cp step-tickers /etc/ntp/.; cp condor /etc/init.d/condor; cp gmond.conf /etc/.; #copiando a chave para fazer scp e ssh mkdir /root/.ssh; chmod 600 /root/.ssh; cp authorized_keys /root/.ssh/.; #configuracao de rede mv /etc/resolv.conf /etc/resolv.conf.old; echo domain grid >>/etc/resolv.conf; echo nameserver 192.168.1.150 >>/etc/resolv.conf; echo nameserver 143.108.30.90 >>/etc/resolv.conf; echo nameserver 143.107.128.16 >>/etc/resolv.conf; mv /etc/sysconfig/network /etc/sysconfig/network.old; NNAME=`ifconfig eth1 | grep Bcast |cut -c31- | cut -d " " -f1`; echo NETWORKING=yes >>/etc/sysconfig/network; echo HOSTNAME=node${NNAME}| cat >>/etc/sysconfig/network; echo GATEWAY=192.168.1.150| cat>>/etc/sysconfig/network; echo NISDOMAIN=grid|cat>>/etc/sysconfig/network; #para permitir o logwatch de enviar e-mail para osg-ce echo root: root@osgce.grid|cat>>/etc/aliases; #alterando a configuracao default de e-mails mv /etc/mail /etc/mail.old; cp -pr $TEMP/mailnode /etc/mail; chkconfig sendmail on; mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.bak; cat /etc/sysconfig/network-scripts/ifcfg-eth1.bak| sed -e "/BOOTPROTO=dhcp/d"| sed -e "/ONBOOT=no/d"| sed -e "/HWADDR/d"|cat >> /etc/sysconfig/network-scripts/ifcfg-eth1; rm /etc/sysconfig/network-scripts/ifcfg-eth1.bak; #echo ONBOOT=yes|cat>>/etc/sysconfig/network-scripts/ifcfg-eth1; MACADDR=`ifconfig eth1 | grep HWaddr| cut -c39-`; echo HWADDR=${MACADDR}|cat>>/etc/sysconfig/network-scripts/ifcfg-eth1;echo BROADCAST=192.168.1.255|cat>>/etc/sysconfig/network-scripts/ifcfg-eth1;IP=`ifconfig eth1 | grep Bcast |cut -c21- | cut -d " " -f1`; echo IPADDR=${IP}|cat>>/etc/sysconfig/network-scripts/ifcfg-eth1 ; echo NETMASK=255.255.255.0|cat>>/etc/sysconfig/network-scripts/ifcfg-eth1; echo NETWORK=192.168.1.0| cat >> /etc/sysconfig/network-scripts/ifcfg-eth1; #Definindo ponto de montagem dos nodes #echo osgce:/opt/osg-1.0.0 /OSG nfs rw,hard,bg,rsize=32768,wsize=32768,udp,nfsvers=3,addr=192.168.1.150 0 0 |cat >>/etc/mtab; #echo acs:/hdacs /hdacs nfs rw,hard,bg,rsize=32768,wsize=32768,udp,nfsvers=3,addr=192.168.1.154 0 0 |cat >>/etc/mtab ; #echo osgce:/home /home nfs rw,hard,bg,rsize=32768,wsize=32768,udp,nfsvers=3,addr=192.168.1.150 0 0 |cat >>/etc/mtab; echo "osgce:/home /home nfs rw,hard,bg,rsize=32768,wsize=32768,udp,nfsvers=3"|cat >>/etc/fstab; echo "osgce:/opt/osg-1.0.0 /OSG nfs rw,hard,bg,rsize=32768,wsize=32768,udp,nfsvers=3"| cat>>/etc/fstab; echo "acs:/hdacs /hdacs nfs rw,hard,bg,noauto,rsize=32768,wsize=32768,udp,nfsvers=3"|cat >>/etc/fstab; #criando pontos de montagem mkdir /OSG chkconfig ntpd on; echo ypserver 192.168.1.150|cat>>/etc/yp.conf; chkconfig ypbind on; service ypbind start; #mkdir /usr/local/opt; #ln -s /OSG /usr/local/opt/OSG; ln -s /OSG /opt/osg-1.0.0; mkdir /scratch/condor; mkdir /scratch/OSG; #configurando para o condor #useradd -d /scratch/condor -u 521 condor; chmod a+rw /scratch/OSG; chown condor:condor /scratch/condor; #ln -s /usr/local/opt/OSG/condor/etc/condor_config /scratch/condor/condor_config; cd /scratch/condor; touch condor_config.local; mkdir execute log spool; chown condor condor_config.local execute log spool; chkconfig --add condor; #instalando o gmond let RANK=NNAME-FNODE; echo location \"'$RACK','$RANK',0\"| cat >>/etc/gmond.conf; groupadd -g 104 ganglia; useradd -d /var/lib/ganglia -s /bin/false -g ganglia -u 107 ganglia ; rpm -ivh $TEMP/ganglia-monitor-core-gmond-2.5.7-1.x86_64.rpm; #Para o tmpwatch echo 'for d in /scratch/OSG/*; do' >>/etc/cron.daily/tmpwatch echo ' if [ -d "$d" ]; then' >> /etc/cron.daily/tmpwatch echo ' /usr/sbin/tmpwatch -f 192 \"$d\"' >>/etc/cron.daily/tmpwatch echo ' fi' >>/etc/cron.daily/tmpwatch echo 'done' >>/etc/cron.daily/tmpwatch #comecando a instalacao do worker node client cd $TEMP/pacman-3.26 source setup.sh mkdir /opt/OSG-wn-client cd /opt/OSG-wn-client VDTSETUP_AGREE_TO_LICENSES=y export VDTSETUP_AGREE_TO_LICENSES VDTSETUP_INSTALL_CERTS=l export VDTSETUP_INSTALL_CERTS VDTSETUP_EDG_CRL_UPDATE=n export VDTSETUP_EDG_CRL_UPDATE VDTSETUP_ENABLE_ROTATE=y export VDTSETUP_ENABLE_ROTATE VDTSETUP_CA_CERT_UPDATER=n export VDTSETUP_CA_CERT_UPDATER pacman -trust-all-caches -get OSG:wn-client #comecando a instalacao do glexec mkdir /opt/glexec cd /opt/glexec pacman -trust-all-caches -get http://vdt.cs.wisc.edu/vdt_181_cache:Glexec sed -i 's/yourmachine.yourdomain/osg-ce.sprace.org.br/g' /etc/glexec/contrib/gums_interface/getmapping.cfg source setup.sh vdt-control --on mkdir /opt/glexec/glite/etc # lembrar de montar o /OSG mount -t nfs 192.168.1.150:/opt/osg-1.0.0 /OSG mkdir /etc/grid-security;ln -s /OSG/globus/share/certificates /etc/grid-security/certificates cp /OSG/glite/etc/vomses /opt/glexec/glite/etc/. cd /; umount $TEMP rm -rf $TEMP; </pre> Reinicie a máquina após isso. ---+++ Condor A instalação do condor neste node foi feita em separado, por ser necessário usar os binários 64 bits <pre> mkdir /opt/condor-x86_64 tar -xvzf condor-7.0.5-linux-x86_64-rhel5-dynamic.tar.gz cd condor-7.0.5 ./condor_configure --install --maybe-daemon-owner --install-log /opt/condor-x86_64/post_install --install-dir /opt/condor-x86_64 cp /OSG/condor/etc/condor_config /opt/condor-x86_64/etc/condor_config vim /opt/condor-x86_64/etc/condor_config CONDOR_LOCATION = /opt/condor-x86_64 </pre> Somente editando a última linha já é necessário. Também modifique o arquivo de inicialização do condor =/etc/init.d/condor= <pre> CONDOR_SBIN=/opt/condor-x86_64 </pre> Como queremos somente que os jobs do cmssoft sejam roteados para lá, edite o arquivo local de configuração do condor, =/scratch/condor/condor_config.local= <pre> START = (Owner == "cmssoft") </pre> Agora partimos para a configuração na osg-ce. Primeiro edite a linha no servidor condor para rotear realmente os jobs do cmssoft para um node 64 bits, editando =/OSG/condor/etc/condor_config= <pre> APPEND_REQUIREMENTS = ((Disk > 3000000 || machine == "osg-ce.sprace.org.br") && \ (UidDomain == "grid") && \ (machine != "osg-ce.sprace.org.br" || JobUniverse == 12) && (Owner != "cmssoft" || JobUniverse == 12 )) || \ ((Owner == "cmssoft" && JobUniverse != 12 ) && (Arch == "X86_64" && OpSys == "LINUX") && (UidDomain == "grid") ) </pre> Como ainda mantemos o gatekeeper 32-bits, existe um script que insere o requerimento exigindo que os jobs que entram sejam executados em nodes nessa arquitetura, o que não queremos no nosso caso, logo comente, em =$VDT_LOCATION/globus/lib/perl/Globus/GRAM/JobManager/condor.pm= <pre> # $requirements .= " && Arch == \"" . $description->condor_arch() . "\" "; </pre> ---++Updates ---+++Fulano em dd/mm/aaaa Coloca o que fez. ---+++Ciclano em dd/mm/aaaa Mais comentarios -- Main.MarcoAndreFerreiraDias - 15 Feb 2009
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r1 - 2009-02-15
-
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