Vous êtes sur la page 1sur 20

Núm e ro # 16 - 29 de Jane iro de 2007

Us ando D NS Exte rno/Inte rno


Se m Vie w 3
D ive rtindo-s e com Aw k 4
Livro: O ptim izing Linux Pe rform ance 7
A M agia do init 8
Cl us te rs de Bal ance am e nto
de Carga e m Linux 11
Cons truindo um Cl us te r de
O pe nM os ix com o Sl ack w are 11.0 15
Editorial
M ais um ano de Sl ack w are Z ine ! E
a te rce ira e dição s e guida q ue
s ai na data ce rta! Para com e m orar,
(garanto) m uita ge nte já te ve
pés s im as e xpe riências gas tando um a
fábul a e m um l ivro e não gos tando do
um a diagram ação com pl e tam e nte conte údo;com e s s a s e ção, é pos s íve l
nova e duas m atérias e s pe ciais s obre te r pe l
o m e nos um a aval iação do l ivro
cl us te rs (h m m m ... tal
ve z fos s e m ais ante s de com prar, o q ue pode ajudar
inte re s s ante cons e guir três m atérias bas tante .
para com e m orar três anos ).
O utra novidade é um a página com
Cl aro q ue três anos , de ze s s e is e diçõe s dicas . Dicas s ão pe q ue nos cons e l h os
norm ais , dive rs as e diçõe s e s pe ciais e úte is , com um a s e ção as s im a ge nte
dois e ve ntos não s ão cois as q ue s e ince ntiva a participação (afinal
faze m s ozinh as ;por is s o o grupo e s cre ve r um a dica inte re s s ante é m ais
e ditorialdo zine agrade ce todos os rápido q ue um artigo com pl e to) e
q ue m andaram e -m ail s de ince ntivo, acaba aum e ntando a produtividade e
artigos e de ram aq ue l a força para q ue facil itando a vida de bas tante ge nte .
o proje to continuas s e , e continuas s e
com q ual idade . Ach o q ue s ão e s s as as novidade s e
e s pe ro q ue todos gos te m . Continue m
Com a diagram ação nova tam bém le ndo, re com e ndando e m andando
trouxe m os al gum as idéias q ue s e m pre artigos para o s l ack w are zine , a
pas s am pe l a cabe ça m as não re vis ta técnica de técnicos para
h avíam os tido oportunidade de técnicos .
col ocar e m prática. U m a é a s e ção
com anál is e de livros , todo m undo Piter PUNK
s abe q ue l ivro não cus ta barato e

2 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
RED ES

Faça com q ue as m áq uinas de s ua

Usando DNS re de pos s am te r nom e s dife re nte s


para re de s dife re nte s

Exte rno/Inte rno Se m Vie w


Cre io q ue todo m undo já te ve e s s a ne ce s s idade , um a zone "dominio.com.br" IN {
re de de s e rvidore s q uando com e ça a pas s ar de 3 já type master;
com e ça a e nch e r o s aco ficar digitando o ip :P, e ntão o file "dominio.com.br";
m el h or m e s m o é us ar nom e s , alguns us am nom e s de allow-transfer {
de us e s gre gos , outros nom e s as tros do rock , 192.168.0.15;
w h ate ve r, o probl e m a com e ça q uando um a m aq uina }; // IP do dns secundario
te m q ue te r um nom e para fora ( l e ia-s e inte rne t) e };
um nom e para de ntro ( l e ia-s e intrane t )
No arq uivo de zona, m udam al gum as cois as , com o
Quando e u pre cis e i faze r is s o, de i um a pe s q uis ada na pode -s e ve r no Quadro 1. Com e s s a configuração s e
inte rne t/am igos e a concl us ão foi "us e vie w s "l e gal
,lá você re s olve r um nom e dom inio.com .br e l e re torna
fui e u no dns m as te r e configure i, funcionou \o/, para um ip val ido na inte rne t, s e você te nta re s ol
ve r um
fora e le re s ol
via com o ip 200.200.200.200 para intra.dom inio.com .br e l e re torna um ip inval ido
de ntro e le re s ol
via com o ip 19 2.168.0.10. 19 2.168.x , e a s incronização m as te r x s e condary
funciona q ue é um a be l e za :)
Le gal , agora s ó fal
ta s incronizar com o dns
s e cundario, adivinh a com q ualzona o dns s e cundario Ah , não s e e s q ue ça de adicionar no re s ol
v.conf das
s incronizava?e xatam e nte com a zona inte rna :( aí m aq uinas inte rnas is s o:
q uando al gue m cons ul tava o dns s e cundario e l e
re s pondia com ip's tipo, 19 2.168.0.x . Tris te e domain intra.dominio.com.br
de s anim ado com a taldas vie w s foi q uando e u nameserver 192.168.0.1
le m bre i q ue e u trabal h e i e m um a e m pre s a q ue us ava
is s o, s ó q ue não us ava vie w ! foi q uando e u conh e ci o Ne m s ó de Vie w vive um DNS :) is s o funciona m uito
$O RIGIN :) q ue s e rá m e l h or e xpl
icado agora. be m , nunca tive proble m as , e é m ais facilde faze r q ue
Vie w .
No nam e d.conf não m uda nada:
Lindolfo Rodrigues <lorn@uplexis.com.br>

Quadro 1: Arq uivo de Z ona


$ORIGIN dominio.com.br. ; o segredo toda está nessa variavel $ORIGIN
$TTL 1200
@ IN SOA thor.dominio.com.br. hostmaster.dominio.com.br (
2007120101 ; serial
7200 ; refresh 1 day
3600 ; retry 1 hour
1200 ; expire 1 week
1200 ) ; minimum 1 day
; dominio.com.br (address, mail exchange e nameservers):
IN MX 5 srv3-sao.sao.terraempresas.com.br.
IN MX 10 mx-sec.terraempresas.com.br.

IN NS thor.dominio.com.br.
IN NS odin.dominio.com.br.

thor IN A 200.200.200.200
odin IN A 200.200.200.201
hercules IN A 200.200.200.202

$ORIGIN intra.dominio.com.br.
thor IN A 192.168.0.3
odin IN A 192.168.0.1
hercules IN A 192.168.0.2

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 3
PRO GRAM AÇÃO

Dive rtindo-se com


Aw k
Apre nda a us ar o Aw k , um a pode ros a l inguage m para
m anipul ação de arq uivos te xto. Ve ja com o e le pode
s ub s tituir outros com andos e facil itar a s ua vida.

O Aw k é um a l inguage m de s cript criada com


bas icam e nte um obje tivo: com parar te xto e
tom ar um a atitude de acordo com o te xto l ocalizado
pe ns a, não é fácilde faze r com o "cut":

$ grep localhost /etc/hosts | cut -d' ' -f2


(ou s e ja, um proce s s ador de te xtos ). O nom e da 127.0.0.1 localhost
linguage m é a junção das iniciais dos s obre nom e s dos
s e us autore s : Al fre d Ah o, Pe te W e inbe rge r e Brian Não funcionou porq ue e ntre o 127.0.0.1 e o l ocal
h os t
Ke rnigh an. Que m já l e u o "Livro do Dragão"de te m Tabs , e não e s paços . Trocando os tabs por
com pil adore s , o "C Program m ing Language ", ou e s paços , tam bém não dá ce rto:
e s cre ve u um H e l lo, W orld de ve ficar m uito grato a
el e s ... e q ue m us a Aw k tam bém ! $ grep localhost /etc/hosts | cut -d' ' -f2

A s intaxe m ais bás ica do Aw k é: O gre p acabou de m os trar o s e gundo e s paço da linh a.
Para m os trar o l
ocal
h os t, pre cis aríam os faze r:
awk '/padrão/ { ação }'
$ grep localhost /etc/hosts | cut -d' ' -f16
O u s e ja, toda ve z q ue e l
e ach ar algo q ue cas e com localhost
/padrão/, e l e vai e xe cutar um a de te rm inada ação. A
ge nte pode te s tar is s o fácil: Cl aro, us ando tr -s ""dá para s um ir com os e s paços
e xce de nte s ... Para is s o q ue a inte l
igência do aw k ve m
$ awk '/localhost/ { print $0 }' /etc/hosts a cal h ar. Com um s ó com ando a ge nte cons e gue
127.0.0.1 localhost de te ctar e m os trar o s e gundo cam po, não im portando
s e s ão Tabs , e s paços ou a q uantidade de l e s . Al
ém de
Es s e com ando l ê o arq uivo /e tc/h os ts e procura onde pode r us ar o Aw k com o um "gre p"al te rnativo,
e xis tir o padrão "l ocalh os t", q uando ach ar, e le pode m os us á-l o com o um "cut"tam bém -; ).
im prim e a l inh a na te l
a (o taldo $0). Com o ach ar um
padrão e col ar a linh a na te l a é um a atividade m uito E, e m te rm os de "cut"e xis te um a fe ature
com um (vide o gre p) e s s a é a ação de faul t do Aw k avançadís s im a do Aw k q ue q uando m e nos s e e s pe ra é
e ntão pode m os re e s cre ve r o com ando acim a com o: tre m e ndam e nte útil
. Por e xe m pl
o, o /e tc/h os ts aq ui é
as s im :
$ awk '/localhost/' /etc/hosts
127.0.0.1 localhost 127.0.0.1 localhost
192.168.0.1 optimus.mylab optimus
Bom , agora já s abe m os com o us ar o aw k com o um 192.168.0.2 rachael.mylab rachael
"gre p"al te rnativo -;). E, onde e s tá "local h os t"pode -s e ...
us ar q ualq ue r padrão, incl us ive e xpre s s õe s re gul
are s : 192.168.0.10 megaman.mylab megaman

$ awk '/^[0-9]/' /etc/hosts Se e u q uis e r lis tar todos os IPs e o ape l ido de cada
127.0.0.1 localhost h os t, pode ria l is tar $1 e $3;m as , com is s o, não iria
192.168.0.1 optimus.mylab optimus lis tar o 'l
ocal h os t' q ue e s tá no s e gundo cam po. O q ue
192.168.0.2 rachael.mylab rachael faze r?
...
192.168.0.10 megaman.mylab megaman $ awk '/^[0-9]/ { print $1"\t"$NF}' /etc/hosts
127.0.0.1 localhost
Com o m e s m o arq uivo de e xe m pl
o (/e tc/h os ts ), 192.168.0.1 optimus
pode m os faze r m ais um a brincade ira: 192.168.0.2 rachael
...
$ awk '/localhost/ { print $2 }' /etc/hosts 192.168.0.10 megaman
localhost
NF é o núm e ro de cam pos de cada l inh a. Então
O $2 s ignifica o s e gundo cam po da l inh a, o prim e iro é im prim im os o prim e iro cam po ($1) e o úl tim o ($NF).
o $1 e o te rce iro o $3 (e as pe s s oas inte lige nte s já O "\t"é para im prim ir um TAB e de ixar tudo
s acaram q ue o q uarto é $4, o q uinto $5 e as s im alinh adinh o. E ainda com binam os dois com andos e m
s uce s s ivam e nte ). E, ao contrário do q ue m uita ge nte um -; ).

4 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
Pare cido com o NF, o Aw k te m um a s e gunda variáve l um padrão e s pe cial"END", q ue s e m pre "cas a"com o
ch am ada NR: Núm e ro de Re gis tro. Com o finaldo arq uivo (no nos s o cas o, q uando todas as
norm al m e nte um re gis tro é um a l
inh a, pode -s e us ar linh as foram l idas );q uando ch e gam os no finaldo
e s s e NR para indicar e m q uall inh a o Aw k e s tá arq uivo, faze m os um l aço de re pe tição:
proce s s ando:
for (i=NR-9;i<=NR;i++) { print TEXT[i] }
$ awk '{ if (NR==1) print $0 }' /etc/group
root::0:root A tradução dis s o é:

U s am os o com ando "if"(s e ) e com param os o núm e ro i é igual a NR-9


de re gis tro, s e for iguala 1, im prim im os a linh a. Com para cada i que você encontrar e for menor ou
is s o cons e guim os im prim ir um a l
inh a arbitrária igual a NR
q ual q ue r. Com um pouco de im aginação, pode m os imprima o conteudo de TEXT[i]
faze r um a ve rs ão tos ca do "h e ad": e some 1 em i.

$ awk '{ if (NR<=10) print $0 }' /etc/group O u s e ja, im prim a as úl tim as 10 l inh as do te xto. É
root::0:root vis íve lq ue is s o de l aço de re pe tição é al go m uito útil
,
bin::1:root,bin,daemon val e a pe na guardar e s s a idéia. O padrão "END"
daemon::2:root,bin,daemon tam bém é e xtre m am e nte útile e l e te m um irm ão o
sys::3:root,bin,adm "BEGIN"q ue "cas a"com o início do arq uivo (ante s de
adm::4:root,adm,daemon q ual q ue r linh a s e r l
ida). É um a boa para im prim ir
tty::5: cabe çal h os ou al go do tipo.
disk::6:root,adm,punk
lp::7:lp Já q ue com a s ubs tituição do tailnós acabam os
mem::8: faze ndo um s cript aw k m ais com pl e xo, vam os ch utar o
kmem::9: pau da barraca e s ubs tituir o w c. O w c conta a
q uantidade de caracte re s , palavras e linh as de um
Ao invés do com pararm os s e o NR é iguala 1, de te rm inado te xto:
ve rificam os s e e l
e é m e nor ou iguala 10. Todas as
ope raçõe s de com paração "norm al "funcionam : ==, $ wc /etc/fstab
!=, <=, > =, < e > , s e m m is térios . 12 72 794 /etc/fstab

De pois de faze r o h e ad, porq ue não inve ntar um novo O prim e iro núm e ro s ão as l
inh as , o s e gundo as
com ando tail ?Es s e é um pouco m ais com pl icado, nós palavras e o te rce iro os caracte re s . Contar as l inh as
s ó s abe m os o tam anh o do arq uivo q uando e l e já todos nós já s abe m os :
ch e gou no final , e ntão te m os q ue arm aze nar as l inh as
de te xto e m al gum l ugar. Es s e e xe m pl
o vai ficar um $ awk 'END { print NR }' /etc/fstab
pouco com pl icado: 12

$ awk '{ TEXT[NR]=$0 } Le m brando, o NR é o núm e ro do re gis tro (linh a);


> END { q uando ch e gam os no e ve nto END (finaldo arq uivo), o
> for (i=NR-9;i<=NR;i++) { NR contém o núm e ro da úl tim a l
inh a. Agora vam os
> print TEXT[i] contar as pal avras :
> }
> }' /etc/group $ awk '{ WORD+=NF }
pop::90:pop > END { print WORD }' /etc/fstab
scanner::93: 72
nobody::98:nobody
nogroup::99: Es s e pre cis ou de um pouco m ais de im aginação, o q ue
users::100: s ão as pal avras de ntro de um a l inh a s e não os cam pos
console::101: de l a?Por is s o, para cada l inh a l
ida, o conte údo de NF
_ntp::82:_ntp é s om ado na variáve lW O RD e , no finaldo arq uivo,
postdrop:x:104: e s s a variáve lé im pre s s a na te l
a. Para a úl tim a parte
haldaemon:x:61: do w c, q ue é a contage m de caracte re s , vam os
messagebus:x:60: pre cis ar de um novo com ando: l e ngth .

A prim e ira l inh a do nos s o program a Aw k re al iza um a $ awk '{ CHAR+=length($0) }


ação e s pe cífica para todas as l inh as e ncontradas : > END { print CHAR }' /etc/fstab
arm aze na o conte údo da l inh a de ntro da variáve l 782
TEXT[NR]e , a ge nte l e m bra q ue NR é o núm e ro da
linh a. A s e gunda parte do program a é a m ais O com ando l e ngth ($VAR) pe ga o conte údo da variáve l
"com pl icada". Ne l a a ge nte util iza um padrão e s pe cial e ve rifica o tam anh o de l a e m caracte re s . O u s e ja,
"END", q ue s e m pre "cas a"com o finaldo arq uivo (no CH AR+ =l e ngth ($0) s om a na variáve lCH AR todos os
nos s o cas o, q uando todas as l inh as foram l idas ) util
iza caracte re s q ue te m na l inh a corre nte . E, no final ,

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 5
PRO GRAM AÇÃO

im prim im os a variáve lCH AR. Só te m um probl e m inh a Es s e é inte re s s ante para im prim ir s ó o nom e dos
s om a na variáve lCH AR todos os caracte re s q ue te m pacote s ins tal ados , s e m a ve rs ão e arq uite tura:
na l inh a corre nte . E, no final , im prim im os a variáve l
CH AR. Só te m um probl e m inh a... o núm e ro e s tá $ ls -1 /var/log/packages/ | \
e rrado! O w c inform a 79 4 caracte re s e o Aw k inform a > awk 'BEGIN { FS="-" ; OFS="-" }
s ó 782. O q ue aconte ce ?A re s pos ta é s im pl e s, o w c > { NF=NF-3 ; print $0 }'
conta os caracte re s de "s al to de l inh a"(vulgo, o e nte r) a2ps
e o Aw k não. Para re s ol ve r e s s a dis paridade , pode m os aaa_base
s om ar no finala q uantidade de s al tos de l
inh a q ue aaa_elflibs
te m no arq uivo: ...
x11-fonts-misc
$ awk '{ CHAR+=length($0) } x11-fonts-scale
> END { print CHAR+NR }' /etc/fstab x11-xdmx
794 ...
ytalk
E as s im fica corre to -:) Para final
izar, vam os col
ocar zlib
para im prim ir todas as inform açõe s juntas , com o o w c: zsh

$ awk '{ CHAR+=length($0) ; WORD+=NF } U tilizam os ne s s e com ando o "BEGIN", q ue é


> END { print NR,WORD,CHAR+NR }' /etc/fstab e xe cutado ante s de proce s s ar o arq uivo. Com o e l e
12 72 794 "cas a"ante s de q ual q ue r l
inh a de e ntrada s e r
proce s s ada, é o l ugar ide alpara col ocar inicial ização
Pronto! M ais um com ando s ubs tituído com s uce s s o! de variáve is . E, no nos s o cas o nós iniciam os duas
de las : FS, q ue indica o s e parador de cam po (é
Cl aro q ue o w c, o taile o h e ad ficaram m uito m aiore s ide ntico ao -F) e o O FS q ue é o s e parador de cam po
q ue os originais ;m as s e rviram para m os trar vários para s aída;s e m o O FS o nom e do "x11-xdm x"s airia
re curs os do Aw k e a e ns inar com o us á-l os . Já a "x11 xdm x"q ue não é o q ue q ue re m os . Já na outra
s ubs tituição de gre p+ cut por Aw k é be m inte re s s ante , linh a ve m um m ace te ... os nom e s dos pacote s do
al ém de s e r e xtre m am e nte m ais ve rs átil
. slack w are s ão as s im :

U m as úl
tim as brincade iras ante s de fe ch ar o artigo: nome-versao-arquitetura-versao_do_pacote

$ awk -F: '{ if ($3>=1000) E "nom e "pode te r q ual q ue r tam anh o, s e parado por
> { print $1 } }' /etc/passwd h ífe ns . O q ue nós s abe m os é q ue de pois do nom e ,
punk e xis te m ape nas três outros cam pos . Aí ve m o truq ue .
marina Para cada l inh a nós dize m os q ue e l
a pos s ui três
toledo cam pos a m e nos (NF=NF-3) e de pois é s ó im prim ir a
garoto linh a com pl e ta -;
).
tamiris
infomedia Bom , e com e s s as úl tim as dicas te rm inam os o artigo -
slackshow :). Es pe ro q ue te nh a s ido útil
.

Is s o m os tra todos os us uários q ue não s ão do s is te m a Piter PUNK


na m áq uina. A novidade é o -F:, o -F de te rm ina q ual <piterpk@terra.com.br>
vai s e r o s e parador de cam po, no cas o, nós trocam os
o e s paço/tab pe l o dois pontos , q ue é o caracte r
util izado para s e parar as inform açõe s no /e tc/pas s w d.
De pois é s ó com parar o te rce iro cam po (U ID) e
ve rificar s e é m aior ou iguala 1000 (no s l ack w are os
us uários com e çam no 1000) e im prim ir o prim e iro -; ).

O utro e xe m pl
o bom :

# ps aux | \
awk '/^usuario/ { system("kill -9 "$2) }'

Es s e s e rve para de rrubar um us uário (e todos os


program as de l e q ue e s tive re m s e ndo e xe cutados ). A
novidade aí é util izar a ins trução "s ys te m ", com e l a
pode m os e xe cutar um com ando do s is te m a (no nos s o
cas o o "k il l-9 ") é fáciladaptar para ao invés de m atar
por um de te rm inado us uário, m atar pe l o nom e do
program a (s im ... para m atar aq ue l e s program as m al
e ducados ).

6 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
ANÁLISE D E LIVRO

O ptim izing Linux


Pe rform ance
Um guia para m axim izar o de s e m pe nh o de apl
icaçõe s para Linux

O k , não é propriam e nte um artigo técnico;m as


cobre um l ivro e m ine nte m e nte técnico e s obre
um as s unto q ue acre dito s e r do inte re s s e de vários
de s e vol
e xe m pl
ve dore s de s oftw are e us uários finais "os
os de anál
no finaldo l
is e de pe rform ance e s ol ução dados
ivro não s ão m uito anim adore s : U m
adm inis tradore s de s is te m as e de s e nvolve dore s : probl e m a e m um fil tro de im age m no GIM P,
anális e de pe rform ance . E o l ivro é bom . Probl e m as de Latência na Nautil us e Le ntidõe s
Pe riódicas de vido ao
O próprio autor do l ivro Pre -Link .
ofe re ce a m otivação para a Adm inis tradore s vão
le itura do m e s m o: ficar de prim idos ao ve r
q ue ne nh um dos
". U m s is te m a be m afinado e xe m pl os cobre
pode faze r m ais trabal ho s e rvidore s de arq uivos ,
com m e nos re curs os ; w e b ou banco de dados
. U m a apl icação be m q ue s ão os m aiore s
afinada pode rodar e m pe pinos q ue cae m no
h ardw are m ais antigo; col o dos s ys adm ins . E...
. U m de s k top be m afinado bom , ape s ar dos
pode e conom izar o te m po e xe m pl os s e re m de
dos us uários e ; apl icaçõe s para o
. U m s e rvidor be m afinado us uário final , não
pode dis ponibil izar um im agino m uitos
s e rviço de m aior q ual idade us uários e ditando o
para m ais us uários ." código dos fil tros ,
rodando oprofil e para
E, para cons e guir um ide ntificar a l inh a de
s is te m a "be m afinado"é código com probl e m a...
pre cis o prim e iro s abe r o al iás , não im agino o q ue
q ue e s tá aconte ce ndo, onde um us uário finalfaria
e s tá o probl e m a e com o com um l ivro de anál is e
arrum á-l o. de pe rform ance .

Pode -s e dize r q ue o l ivro vai M e s m o com e s s a


m uito be m na parte de re s s alva, o l ivro é um a
ide ntificação do probl e m a, boa com pra e val e a
m os trando dive rs as pe na. Apre s e nta um a
fe rram e ntas e o q ue cada s érie de boas
um a de l as indica;m as fal ha O ptim izing Linux Pe rform ance fe rram e ntas e de com o
na h ora do "com o arrum á- Ph il lip G. Ezol t us á-l as . Ape s ar da
lo". Com o al guns com andos e s col h a infe liz dos
dão e s tatís ticas de Pre ntice -H al l /H P Book s e xe m pl os (ou fe liz s e
dife re nte s áre as do s is te m a, 384 páginas você for um
el e s s ão re vis itados várias de s e nvol ve dor) é vis íve l
ve ze s durante o l ivro (e s e m o conh e cim e nto do
re pe tir inform açõe s );as s im , autor na áre a de anál is e
o com ando ps é apre s e ntado tanto na parte de anál is e de pe rform ance e otim ização. E e l e cons e gue s e r be m
de CPU, com o na de m e m ória e na de us o de dis co. O didático e pas s ar parte de s s e conh e cim e nto para o
vm s tat e o oprofil e tam bém s ão pre s e nças re corre nte s . le itor, o q ue é um a q ual
idade rara.

O nde o livro de ixa a de s e jar é na parte de com o


corrigir os probl e m as e ncontrados . Para q ue m te m Piter PUNK
com o públ ico-al vo "adm inis tradore s de s is te m as , <piterpk@terra.com.br>

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 7
AD M INISTRAÇÃO

A M agia do init
O init é o prim e iro proce s s o ch am ado pe lo k e rne le , além de coorde nar a
inicialização do s is te m a, ch am ando os s cripts de inicial ização apropriados ;
tam b ém é o pai de todos os outros proce s s os da m áq uina

N e s te artigo vam os ve r o porq ue do init s e r tão


im portante e s uas várias util
e xe cução dos s cripts de inicial
idade s , de s de a
ização até o re s tart
Quadro 1: Lista de "actions"
autom ático daq ue l e s e rviço im portantís s im o q ue re s paw n U s ado para iniciar e re inicial izar o
nunca pode e s tar parado. proce s s o s e o m e s m o final izar.
w ait U s ado para iniciar o proce s s o. O init fica
O init ou pai de todos os proce s s os - com o é m ais aguardando até q ue o proce s s o s e ja
conh e cido - é re s pons áve lpe l a inicialização dos final izado.
prim e iros proce s s os do s is te m a ope racional. Es ta once U s ado para inicar o proce s s o re l acionado
fam a é de vido ao fato de s e r o prim e iro proce s s o ao runl e ve le m e s pe cífico.
e ntrar e m e xe cução, nada m ais digno de s e r o dono boot O proce s s o s e rá e xe cutado durante o
do prim e iro pid, o PID 1. boot. (Para e s te cam po, o runl e ve lé
ignorado.)
Vam os ve r com o é o fl
uxogram a de e xe cução do init: bootw ait O proce s s o s e rá e xe cutado durante o
boot. Porém , o init e s pe ra pe l o se u
te rm ino para s e guir a diante . (Para e s te
cam po, o runl e ve ltam bém é ignorado.)
off Para de s abil itar o proce s s o. (É pos s íve l
faze r is to tam bém com e ntando a l inh a.)
onde m and Se rve para iniciar s e rviços q uando é
iniciado o runl e ve lA, B ou C. Que s ão
runl e ve ls e s pe ciais e q uando iniciados não
m udam o níve lde e xe cução da m áq uina.
initde fau l t Diz ao init q ualo initde faul t utilizado.
(O cam po proce s s é ignorado).
Es s e proce s s o irá ficando m ais cl
aro conform e a s ys initProce s s o a s e r e xe cutado ainda no Ke rne l
l
e itura do artigo. Boot.
pow e rw ait Proce s s o q ue s e rá e xe cutado ao te r
um a fal h a de e ne rgia e l étrica. O init fica
D e finiçõe s do /e tc/inittab aguardando até q ue o proce s s o s e ja
final izado.
Toda a configuração do init é fe ita através do arq uivo pow e rfailIgual m e nte para o de cim a, ape nas o
/e tc/inittab s e guindo a s intaxe : init não e s pe ra o térm ino do s e u proce s s o.
pow e rok w ait Proce s s o a s e r e xe cutado q uando a
id:runlevels:actions:process e ne rgia e l étrica e s tive r e s tabil izada.
pow e rfail now Proce s s o a s e r e xe cutado q uando
Com o vocês pode m ve r, cada cam po é s e parado por as bate rias do no-bre ak s (s e e xis tir)
dois pontos . Vam os e nte nde r o q ue s ignifica cada um e s tive re m vazias .
de s s e s cam pos : ctrl altde lProce s s o a s e r e xe cutado q uando
pre s s ionarm os as te cl as Ctrl + Al t+ De l .
id Ape nas um a ide ntificação para dife re nciar a k bre q u e s t Proce s s o a s e r e xe cutado q uando o
ch am ada para o init. É pos s íve lutil
izar até 4 init re ce be r um SIGNALdo te cl ado a s e r
caracte re s ne s s e cam po. de finido.

ru nl
e ve l s Aq ui col ocam os o núm e ro do runle ve lq ue
s e rá e xe cutada a ch am ada. De 0-6, s ou S.

actions Para e s te cam po te m os 15 opçõe s : re s paw n, Agora vam os anal


is ar um inittab de
w ait, once , boot, bootw ait, off, onde m and,
initde faul t, s ys init, pow e rw ait, pow e rfail
tnow , ve rdade !
crtlal tde le k bre q ue s t.
Para anal is arm os , vou pe gar com o e xe m pl
o o arq uivo
proce s s O proce s s o e m s i q ue q ue re m os q ue s e ja de configuração /e tc/inittab do Sl ack w are 11.0,
e xe cutado. m odificado pe lo Patrick .

8 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:

Com o vim os no fl uxogram a, o init procura pe lo


initde faul
t no /e tc/inittab para s abe r q ualrunl
e ve l
padrão irá e xe cutar.

Vam os faze r um a paus a e ve r os runl


e ve l
's :

No /e tc/inittab q ue e s tam os anal is ando, de pois dos


créditos e copyrigh t, te m os um a tabe l a com e ntada.
Editore s
(H abitue -s e a l
e r s cripts , arq uivos de configuração
Cl ayton Eduardo dos Santos
ante s de s air alte rando. M uitos de s e nvol ve dore s
De ive s M ich e l
lis
colocam m uita inform ação útilnos com e ntários ,
Le andro Tol e do
principal m e nte o Patrick ; )).
Lindol fo Rodrigue s
Pite r Punk
# These are the default runlevels in \
Tiago M ach ado Cos ta
Slackware:
# 0 = halt
Artigos ne s s a e dição
# 1 = single user mode
Clayton Eduardo dos Santos
# 2 = unused (but configured the same \
Le andro Tol e do
as runlevel 3)
Lindol fo Rodrigue s
# 3 = multiuser mode (default Slackware \
Pite r Punk
runlevel)
Sul am ita Garcia
# 4 = X11 with KDM/GDM/XDM (session \
managers)
D icas
# 5 = unused (but configured the same as \
Lindol fo Rodrigue s
runlevel 3)
Pite r Punk
# 6 = reboot
Tiago M ach ado Cos ta
O Patrick fe z e s s a tabe l a e padronizou os runl e ve l
s 2,
Im age m de Capa
3, 4 e 5. Na ve rdade , e s s e s s ão os runl e ve l
s q ue
Guaxinim
pode m os m odificar. O s runl e ve l
s 0, 1 e 6 s ão
(bas e ado e m il
us trução de Pite r Punk )
re s e rvados . O u s e ja, não im porta q ualdis tribuição
e s te ja, init 6 s e m pre re bootará s e u s is te m a, já os inits
3 ou 4 pode m s e r q ue te nh am com portam e ntos
dife re nte s .

Em q ual q ue r m om e nto pode m os m udar de runl e ve l


ape nas digitando init X. O nde X é o núm e ro do
runl e ve l
, de 0-6 e ainda pode m os util izar S ou s para
s ingle us e r m ode .

Voltando a prim e ira l inh a (de s com e ntada) do inittab,


ela diz ao init q ue o nos s o runl e ve lpadrão é o 3
(m ultius e r m ode ).

# System initialization (runs when system \


boots).
si:S:sysinit:/etc/rc.d/rc.S

Es te s cript s e rá e xe cutado ainda e m Sys te m boot. O S


no cam po runl e ve lnão diz nada, pois os cam pos
s ys init, boot e bootw ait ignoram o cam po runl e ve l
. Re produção do m ate rialcontido ne s ta re vis ta é
pe rm itida de s de q ue s e incl
uam os créditos aos
# Script to run when going single user \ autore s e a fras e :
(runlevel 1).
su:1S:wait:/etc/rc.d/rc.K "R e produ zida da Sl
ack w are Z ine # 16 ­
w w w .s l
ack w are zine .com .br"
Es te s cript s e rá rodado ape nas q uando o runl e ve lfor
Singl e us e r. (O init irá e s pe rar s ua e xe cução final izar
com fonte igualou m aior à do corpo do te xto e
para pul ar para o próxim o proce s s o.)
em localvis íve l

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 9
AD M INISTRAÇÃO

# Script to run when going multi user. c4:1235:respawn:/sbin/agetty 38400 tty4 linux
rc:2345:wait:/etc/rc.d/rc.M c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
Script e xe cutado nos runl e ve l
s de 2 a 5, M ulti us e r. (O
init irá e s pe rar s ua e xe cução final izar para pul ar para O s id's de c1 a c5 s ão re s pons áve is de e xe cutar o
o próxim o proce s s o.) /s bin/age tty, cons ole s para pode rm os l ogar no s is te m a
(os fam os os Al t+ F1, Al t+ F2, ..., Al
t+ F6). O id c6
# What to do at the "Three Finger Salute". tam bém , porém te m o dife re ncialde s e r inicial izado
ca::ctrlaltdel:/sbin/shutdown -t5 -r now no runl e ve l4 (am bie nte gráfico). O action _re s paw n_
diz ao s is te m a para re inicil
izá-l o cas o e l
e caia.
Es ta linh a diz q ue ao ape rtarm os a com binação
Ctrl + Alt+ De l, nos s o s is te m a irá re inicial
izar e m 5 # Runlevel 4 used to be for an X window \
s e gundos . (Pode m os al te rar e s ta com binação de only system, until we discovered
te clas para o proce s s o q ue de s e jarm os .) # that it throws init into a loop that keeps \
your load avg at least 1 all
# Runlevel 0 halts the system. # the time. Thus, there is now one getty \
l0:0:wait:/etc/rc.d/rc.0 opened on tty6. Hopefully no one
# will notice. ;^)
Ao e ntrar no runl e ve l0, e xe cutar o s cript para # It might not be bad to have one text \
de s l
igar o s is te m a. console anyway, in case something
# happens to X.
# Runlevel 6 reboots the system. x1:4:respawn:/etc/rc.d/rc.4
l6:6:wait:/etc/rc.d/rc.6
Es ta linh a diz ao s is te m a para e xe cutar o s cript
Ao e ntrar no runl e ve l6, e xe cutar o s cript de re s pons áve lpe lologin gráfico, ape nas no runl e ve l4
re inicil
izar o s is te m a. (am bie nte gráfico). O action _re s paw n_ diz ao s is te m a
para re inicil izá-l
o cas o e l e caia.
# What to do when power fails.
pf::powerfail:/sbin/genpowerfail start
Se rviços Autom áticos
Para aq ue l as pe s s oas q ue te m aq ue le s s upe r pow e r
Com o init, pode m os col ocar q ualq ue r proce s s o para
ul tra no-bre ak s , e s ta opção pode s e r m uito
s e r inicializado e re inicial
izado autom aticam e nte ,
inte re s s ante . O no-bre ak avis a q ue a um a fal h a de
cas o e l e m orra. O action _re s paw n_ é re s pons áve lpor
e ne rgia e l étrica, o init de te cta e e xe cuta o
is s o. Vam os ve r um e xe m plo:
ge npow e rfail , q ue de s l
iga autom aticam e nte o
com putador.
AP:3:respawn:/etc/rc.d/rc.httpd restart
# If power is back, cancel the running \
Col ocam os o apach e para s e r m onitorado e
shutdown.
re inicial
izado cas o e l
e caia. Ch am e i o id de AP e e s s a
pg::powerokwait:/sbin/genpowerfail stop
ação é val ida ape nas para o runl e ve l3.
As s im com o a opção de cim a, s e a e ne rgia e l étrica
# init q
e s tabil
izar, e s te s cript cance l
a o de s l
igam e nto do
com putador.
O com ando init q irá re l
e r o /e tc/inittab com a nova
configuração. E o apach e s e rá re iniciado s e m pre q ue
# These are the standard console login
cair (e iniciado no boot).
# getties in multiuser mode:
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux Leandro Toledo
c3:1235:respawn:/sbin/agetty 38400 tty3 linux <toledo@slackwarezine.com.br>

slackware
to th e re alne rds
10 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
ESPECIAL

Cluste rs de
Balance am e nto
de Carga e m Linux
O q ue faze r q uando um s e rvidor não agüe nta m ais e xe cutar as tare fas q ue
de ve ria? A s olução tradicionalé com prar outra m áq uina m ais pode ros a
m as ne m s e m pre e s s a m áq uina e xis te ou cab e no orçam e nto; e s s a é a
h ora de pe ns ar e m b al ance am e nto de carga e dis trib uir tare fas .

C lus te r é um te rm o l argam e nte util


re pre s e ntar um conjunto de com putadore s
izado para

com binados e m um único s is te m a unificado, através


re ais , q ue s e rviços e le s ate nde m e q uala carga de
cone xõe s para cada um . O próprio node dire ctor pode
ate nde r e s tas re q uis içõe s ou não, de pe nde da
de s oftw are e re de . Em te rm os m ais s im pl ificados , configuração.
q uando dois ou m ais com putadore s s ão util izados
juntos para re s ol ve r um probl e m a, is to é cons ide rado Es te s am bie nte s s ão facil m e nte e s cal
áve is . U m a
um cl us te r. Cl us te rs s ão tipicam e nte util izados para m áq uina pode s e r ins e rida no am bie nte s e m im pactar
Al ta Dis ponibil idade (H A - H igh Avail abil ity) para nos s e rviços e m áq uinas já incl uídos . E s e um a
m aior confiabil idade , ou Com putação de Al ta m áq uina de ixa de re s ponde r no am bie nte , o dire ctor a
Pe rform ance (H PC - H igh Pe rform ance Com puting) col oca de "q uare nte na", re m ove ndo-a da l is ta de
para forne ce r m aior pode r com putacionaldo q ue um s e rvidore s re ais e ch e cando pe riodicam e nte s e e l a
único com putador pode forne ce r."[1] vol tou ao am bie nte . Enq uanto e l a não re s ponde r, o
dire ctor não e nvia m ais re q uis içõe s a e s ta m áq uina. A
U m outro tipo de cl us te r é o clus te r de bal ance am e nto al ta dis ponibil idade e ntão é cons e guida de s ta form a,
de carga(LB - Load Bal ance ). Es te cl us te r util
iza m e s m o q ue um a m áq uina de ixe de re s ponde r, as
várias m áq uinas para ate nde re m as re q uis içõe s de outras continuarão ate nde ndo o s e rviço. Pre cis am os
de te rm inado s e rviço, agindo com o um grande e ntão nos pre ocupar com a al ta dis ponibil idade do
com putador com capacidade para m uitas re q uis içõe s nodo dire ctor, pois s e e l e de ixar de re s ponde r, todo o
paral el as . Es te conce ito acaba proporcionando, de am bie nte pára.
m ane ira indire ta, H A e H PC, por com binar várias
m áq uinas e m um am bie nte q ue pode proce s s ar m ais Pe rs is tência
re q uis içõe s do q ue um a única m áq uina, e por
aum e ntar a confiabil idade de um s is te m a. M uitas q ue s tõe s pre cis am s e r aval
iadas q uando
pre te nde m os m ontar um am bie nte de cl us te r. Além ,
O s com pone nte s de um am bie nte de LB s ão dis pos tos cl aro, da capacidade das m áq uinas para proce s s ar o
e m nodo(s ) dire tor(e s ) - o(s ) dire ctor(s ) ou l oad vol um e de dados e m te m po s atis fatório, pre cis am os
bal ance r - e os s e rvidore s re ais . O pape ldo dire ctor é pe ns ar no fluxo das inform açõe s . Por e xe m pl o, o
re ce be r as re q uis içõe s dos cl ie nte s e re pas s ar para os am bie nte de l oad bal ance pare ce pe rfe ito para
s e rvidore s re ais , de acordo com al gum as re gras m el h orar a vida dos us uários , porém al gum as
e s tabe l
e cidas . A q uantidade de cone xõe s re pas s ada s ituaçõe s e l
e pode não agir da form a e s pe rada.
para um dos s e rvidore s re ais pode s e guir vários
m étodos - de s de o al goritm o m ais s im pl e s , onde cada Ge ral m e nte , q uando fal am os de LB, e s tam os
m áq uina re ce be um a cone xão por ve z, ate a pe ns ando e m cone xõe s is ol adas . De s ta form a
com binação de m e didas e prioridade s , atribuindo um q ual q ue r s e rvidor re alpode ate nde r a q ual q ue r
pe s o a cada s e rvidor re al . cone xão q ue e s tive r ch e gando, s e m s e pre ocupar de
onde a cone xão e s tá vindo ou para onde e l a vai.
No Linux, o proje to m ais com pl e to para am bie nte s de Porém para al guns s e rviços e s ituaçõe s is to não é
load balance é o LVS - Linux VirtualSe rve r. O LVS é s e m pre ve rdade . Cons ide re m os por e xe m pl oo
um m odul o ins e rido no k e rne l(Linux Ke rne l protocol o FTP.
Configuration -> Ne tw ork ing -> Ne tw ork ing O ptions -
> IP: VirtualSe rve r Configuration), e é control ado Quando um cl ie nte e s tabe l
e ce um a cone xão FTP,
através do lvs adm in, um com ando de fine as re gras e xis te um a cone xão de control e (q ue s e gue pe l
a porta
para m ontar o am bie nte : q ue m s ão os s e rvidore s

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 11
ESPECIAL

21) para e nviar com andos e a cone xão dos dados clie nte fica a cargo do s e rvidor re al , e o dire ctor não
propriam e nte ditos (q ue s e gue m pe l a porta 20). atua m ais ne s ta cone xão. Para faze r is to, o dire ctor
Quando a cone xão é ativa, o cl ie nte inform a ao m odifica o cabe çal h o do pacote , adicionando o M AC
s e rvidor q ualporta q ue ate nde à cone xão de dados do s e rvidor re alcom o e nde re ço fís ico para o IP de
para trans fe rí-los . Porém para um a cone xão pas s iva, o de s tino, e o re trans m ite pe l
a re de . Is to pode caus ar
s e rvidor inform a ao cl ie nte a porta q ue e l e e s tá alguns probl e m as .
ate nde ndo, e e ntão o cl ie nte inicia um a cone xão para
aq ue l a porta. Para am bie nte s e m VS/TU N e VS/DR, o Nos cl us te rs de DR e tune l am e nto IP, o IP de s e rviço é
dire ctor atua ape nas na cone xão cl ie nte -s e rvidor, não com partil h ado e ntre o dire ctor e os s e rvidore s re ais .
no cam inh o inve rs o, e ntão é im pos s íve lpara o Todos te m um a inte rface configurada com e s te IP. Em
dire ctor capturar a porta do pacote q ue vai algum as configuraçõe s q ue os s e rvidore s re ais e s tão
dire tam e nte ao cl ie nte . na m e s m a re de q ue o dire ctor, e os s e rvidore s re ais
re s ponde re m um a re q uis ição ARP, h ave rão probl e m as .
Para re s ol ve r is to, pre cis am os ativar a pe rs is tência O s pacote s s e rão re s pondidos h ora pe l o dire ctor, h ora
e ntre as cone xõe s . De s ta form a, o LVS irá m ante r um a por um s e rvidor re al , h ora por outro, e o cl us te r
tabe l a com o re gis tro de s ta cone xão e m um a tabe l a inte iro não vai funcionar dire ito. Por is to, ne s te s
h as h , conte ndo os dados do IP e porta da orige m , IP e clus te rs , pre cis am os garantir q ue ape nas o dire ctor
porta do de s tino virtual , IP e porta do de s tino no irá re s ponde r as re q uis içõe s ARP para o IP de s e rviço.
s e rvidor re al. Para FTP, o val or das portas é 0, e ntão
q ual q ue r cone xão vinda do cl ie nte é re dire cionada Exis te m algum as form as com o is to pode s e r
para o m e s m o s e rvidor re ale as s ociados à m e s m a configurado, e e xpl icá-las é as s unto s uficie nte para
cone xão, de acordo com a e ntrada s al va na tabe l a. outro artigo. Cas o q ue ira s abe r m ais s obre is to,
Para outros s e rviços , as portas de de s tino s ão cons ul te [2].
m antidas porém a do cl ie nte pode variar q ue o LVS
vai m ante r a pe rs is tência para o m e s m o s e rvidor re al.
Al
goritm os
Porém as ve ze s ne m is to é s uficie nte . Por e xe m pl o,
O LVS pode dis tribuir as cone xõe s bas e ado e m vários
e xis te m grupos de proxys para ace s s os e m
tipos de al goritm os : Round-Robin, por pe s o, pe l o
de te rm inados s ite s , para dim inuir a carga. Só q ue
s e rvidor q ue te m m e nos cone xõe s e outros . Todos te m
para o cl ie nte , e l
e pe diu um a re q uis ição para um
s uas vantage ns e de s vantage ns , de ve ndo o
s e rvidor e outro ate nde u. Então um outro tipo de
adm inis trador e s col h e r de acordo com o pode r de
pe rs is tência s e ria de um range de re de , q ue é
proce s s am e nto dos s e rvidore s re ais , com a
m antido para s abe r q ue cone xõe s para aq ue l e s ips
q uantidade de cone xõe s re ce bidas e com o tipo de
pre cis am s e r pe rs is te nte s .
carga de s tas cone xõe s . O s m ais com uns s ão e s te s :

Com o o LVS re dire ciona as cone xõe s Round-Robin: Se q üe ncial , cada s e rvidor re ce be um a
cone xão por ve z. De s ta form a, e m um cl us te r de três
O LVS pode re dire cionar as cone xõe s vindas dos s e rvidore s re ais , a prim e ira cone xão s e rá e nviada
clie nte s , para os s e rvidore s re ais , através de NAT, para o s e rvidor re al1, a s e gunda para o s e rvidor re al
túne lIP ou rote am e nto dire to (Dire ct Routing). No 2, a te rce ira para o s e rvidor re al3, a q uarta para o
cas o de túne lIP ou DR, e xis te um e fe ito col ate ralq ue s e rvidor 1 e as s im por diante . Es te al goritm os trata
pre cis am os e s tar ate ntos . todos os s e rvidore s re ais igual m e nte , s e m l e var e m
conta o núm e ro de cone xõe s re ce bidas ou o te m po de
Pe l o NAT, q uando o dire ctor re ce be um a cone xão para re s pos ta q ue cada s e rvidor forne ce .
um s e rviço q ue e s tá configurado, e l e e s colh e um
s e rvidor re alde acordo com as re gras , m odifica o IP Round-Robin com Pe s os : Cada s e rvidor re ce be um
de de s tino com o IP do s e rvidor re ale s col h ido e pe s o e o dire ctor irá dis tribuir as cone xõe s com bas e
re e nvia. Ao re ce be r a re s pos ta, o dire ctor vol ta o ne s te s pe s os . As s im , um s e rvidor re alcom pe s o 4 irá
pacote para o cl ie nte , conte ndo o IP originalcom o re ce be r 2 ve ze s m ais cone xõe s q ue um s e rvidor re al
orige m da re s pos ta. Is to ge ral m e nte é us ado e m re de s com pe s o 2, q ue irá re ce be r 2 ve ze s m ais cone xõe s
locais , e o m as caram e nto ge ral m e nte ocorre do q ue um s e rvidor re alcom pe s o 1. É um al goritm os
dire ctor com IP vál ido para a Inte rne t e um a re de m el h or e s truturado para am bie nte s e m q ue os
localde IPs invál idos , por e xe m pl o. s e rvidore s re ais com dife re nte s ve l ocidade s . Porém s e
as cone xõe s fore m de cargas variadas , o s e rvidor re al
Pe lo túne lIP, o dire ctor adiciona outro com m aior prioridade pode acabar re ce be ndo as
e ncaps ul am e nto IP s e m m odificar o cabe çal ho cone xõe s de m aior pe s o e acabar s obre carre gado,
original . Is to é pe rfe ito para re de s ge ográficam e nte e nq uanto outros s e rvidore s de m e nor prioridade
dis tribuídas , onde os s e rvidore s re ais não te m pe rm ane ce m de s ocupados .
ne ce s s ariam e nte o m e s m o e nde re ço de re de . Is to
porém e xige q ue os s e rvidore s re ais te nh am s uporte a M e nos cone xõe s : as cone xõe s s ão re dire cionadas para
e ncaps ul am e nto IP. o s e rvidor re alcom m e nos cone xõe s ativas . Es te é um
algoritm o dinâm ico, pois pre cis a ch e car q uantas
No DR, o dire ctor re dire ciona os pacote s dire tam e nte cone xõe s e s tão ativas e m de te rm inado ins tante . É um
ao s e rvidor re al
. A partir dis s o a com unicação com o bom al goritm o para q uando a q uantidade de cone xõe s

12 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
re ce bidas varia bas tante . opção -r e us ando o m étodo de m as caram e nto por
NAT(-m ).
M e nos cone xõe s com pe s os : com bina a bus ca pe l o
s e rvidor re alcom m e nos cone xõe s , porém atribuindo A partir daí, pode m os adicionar vários s e rviços com
pe s os a e s te s . U m s e rvidor re alcom capacidade duas algoritm os dife re nte s , e s e rvidore s re ais dis tintos .
ve ze s m aior q ue um outro te rm inará de proce s s ar Porém o l dire ctord agrupa e s ta configuração toda e m
s uas cone xõe s e ficará ocios o, e nq uanto outros pode m um único arq uivo, s e e ncarre gando de carre gar as
ficar s obre carre gados . Com binando e s te s dois tipos , o re gras e control ar os s e rvidore s re ais .
al goritm o dinam icam e nte de s cobrirá q ualo s e rvidor
pode ate nde r m e l h or e m de te rm inado m om e nto.
Ul
tram onk e y, LVS e l
dire ctord
Exis te tam bém outros al goritm os com o o h as h [3]- o
O Ul tram onk e y é um proje to q ue com bina o LVS,
s e rvidor m onta um a tabe l a h as h e re dire ciona as
ge re nciado através do l dire ctord, e o h e artbe at para
cone xõe s para os s e rvidore s por e s ta tabe l a, com ou
ge re nciar as re gras e s e rviços no dire ctor. O
s e m pe s os -, e o de "s e m fil
as "- bus cando s e m pre um
h e artbe at ira faze r a al ta dis ponibil idade do dire ctor,
s e rvidor idl e ou com m e nor te m po de re s pos ta.
e a al ta dis ponibil idade dos s e rvidore s re ais é
intríns e co ao LVS. El e pe rm ite várias com binaçõe s e
Configuraçõe s opçõe s para m e l h or adaptação a dife re nte s am bie nte s
e ne ce s s idade s .
Final m e nte , vam os col ocar a
m ão na m as s a. Para q ue m
q ue r s abe r com o funciona a
bas e de tudo, o ipvs adm . O
Quadro 1: Se rvidor H TTP
s oftw are pode s e r
e ncontrado e m [4], cas o s ua # Virtual Server for HTTP
dis tribuição não te nh a o virtual=192.168.6.240:80 IP Virtual (de serviço)
pacote pronto. Al iás , cas o fallback=127.0.0.1:80 Se nenhum servidor real
não te nh a, e nvie com o responder, quem responde
s uge s tão para o m ante ne dor real=192.168.7.4:80 masq Servidor real, IP, porta e
;) modo de conexão
real=192.168.7.5:80 masq Servidor real, IP, porta e
Após a re ce ita padrão - modo de conexão
m ak e & & m ak e ins tal l- você service=http Qual é o serviço
te rá ins tal ado o ipvs adm , request="index.html" Que página buscar(opção
ipvs adm -s ave e ipvs adm - receive="Test Page" para serviços http)
re s tore . Você pode pe ns ar
no ipvs adm com o s im il ar ao scheduler=rr Qual o escalonador
iptabl es - el e irá (algoritmo) - RoundRobin
adicionando as re gras e neste caso
bus cá-l as na orde m q ue #persistent=600 Persistência (desabilitada
você e s pe cificar. Vam os neste caso)
de tal h ar m e lh or com protocol=tcp Protocolo
e xe m pl os . Para o protocol o checktype=negotiate
FTP, l e m brando de ativar a
pe rs is tência:

ipvsadm -A -t virtual.domain.org:ftp -p 540 Al ém de ge re nciar as re gras do LVS, o l dire ctord


ipvsadm -a -t virtual.domain.org:ftp -r tam bém ch e ca pe riodicam e nte s e os s e rviços
192.168.1.2 -m ofe re cidos pe los s e rvidore s re ais e s tão funcionando
ipvsadm -a -t virtual.domain.org:ftp -r corre tam e nte . Ele pos s ui s uporte a s e rvidore s H TTP,
192.168.1.3 -m H TTPS, FTP, IM AP, PO P, SM TP, LDAP, NNTP e M ySQL.
De acordo com o s e rviço configurado, e l e e s tabe l
e ce
A prim e ira l inh a adiciona um s e rviço nas re gras com a um a cone xão apropriada com o s e rviço e ch e ca s e
opção -A, dize ndo q ue para is to o protocol o us ado é o e s tá tudo funcionando. O s s oftw are pode s e r
tcp (-t), e q ue vai re s ponde r pe lo e nde re ço e ncontrado e m [5]. O arq uivo de configuração é o
virtual .dom ain.org(pode ria s e r um IP, ge ral m e nte o IP ldire ctord.conf, ge ral m e nte ins talado no /e tc. Vam os
de s e rviço) no s e rviço de ftp. Ativam os a pe rs is tência ve r al gum as opçõe s do arq uivo de configuração.
com -p, e ne s te cas o configuram os o tim e out para 540
s e gundos (pode ria não s e r e s pe cificado e o ipvs adm Para o s e rviço apre s e ntado no Quadro 1, o dire ctor irá
as s um iria o val or padrão de 300 s e gundos ). s e cone ctar nos s e rvidore s re ais e bus car a página
inde x.h tm l. Se al
gum e rro aconte ce r, e l e re m ove rá o
As linh as s e guinte s adicionam s e rvidore s re ais com a s e rvidor re alda s ua lis ta.
opção -a ao s e rviço e s pe cificado após o -t, dize ndo
q ue o e nde re ço do s e rvidor re alé o IP q ue s e gue a No Quadro 2 o s e rviço é FTP, al
gum as opçõe s

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 13
ESPECIAL

m udaram , para incl uindo


us uário e s e nh a para ch e car Quadro 2: Se rvidor FTP
não ape nas s e a porta e s tá
ouvindo, m as s e o s e rviço virtual=192.168.6.240:21 IP Virtual(de serviço)
e s tá e xe cutando a conte nto. fallback=127.0.0.1:21 Se nenhum servidor real
responder, quem responde
Com o e s te s e rviço é o real=192.168.7.4:21 masq Servidor real, IP, porta e
M ySQL, adicionam os q ual modo de conexão
banco de dados e q ualq ue ry real=192.168.7.5:21 masq Servidor real, IP, porta e
e nviar para ch e car o s e rviço. modo de conexão
service=ftp Qual é o serviço
Cas o e s te jam curios os de o request="welcome.msg" Que arquivo requisitar
q ue é o ch e ck type , e l e éo receive="Welcome"
parâm e tro q ue de fine com o login="anonymous" Com qual usuário
vai s e r a ch e cage m . El e passwd="anon@anon.anon" Com qual senha
pode s e r ne gotiate , conne ct, scheduler=rr Qual o escalonador
N, off ou on. Conne ct irá (algoritmo) - RoundRobin
ape nas te ntar faze r um a neste caso
cone xão TCP/IP, e ntão não #persistent=600 Persistência (desabilitada
pre cis am os das opçõe s neste caso)
re q ue s t e re ce ive . Se e s tá protocol=tcp Protocolo
configurado para ne gotiate , checktype=negotiate
ol dire ctor irá e nviar um a
re q uis ição conform e

Quadro 3: Se rvidor M ySQL


Virtual = 192.168.6.240:3306 IP Virtual (de serviço)
fallback=127.0.0.1:3306 masq Se nenhum servidor real
responder, quem responde
real=192.168.7.4:3306 masq Servidor real, IP, porta e modo
de conexão
real=192.168.7.5:3306 masq Servidor real, IP, porta e modo
de conexão
login = "readuser" Com qual usuário
passwd = "genericpassword" Com qual senha
database = "portal" Qual BD checar
request = "SELECT * FROM link" Qual a query
scheduler = wrr Qual o escalonador (algoritmo):
RoundRobin com pesos neste caso
checktype = negotiate

e s pe cificada e m re q ue s t, e na re s pos ta procurar a Re fe rências :


s tring de finida e m re ce ive . Se a opção for configurada
com um núm e ro N, e ntão a cada N cone xõe s o http://www.austintek.com/LVS/LVS-HOWTO/\
ldire ctord irá e fe tuar um a ch e cage m . O ff de s liga a mini-HOWTO/LVS-mini-HOWTO-pt.html
ch e cage m , e on s e rve m ais para ativar a ch e cage m http://listas.linuxchix.org.br/mailman/\
cas o você te nh a parado m om e ntane am e nte . listinfo/linux-ha
[1] http://www.beowulf.org/overview/index.html
Em bora e xte ns o, e s te artigo te m um apanh ado ge ral [2] http://www.linuxvirtualserver.org/\
de um as s unto com m uitas m ais pos s ibil idade s : docs/arp.html
otim ização, s incronização, de fe s as contra DoS. [3] http://pt.wikipedia.org/wiki/\
Tabela_hash
[4] http://www.linuxvirtualserver.org/\
Sulamita Garcia
software/ipvs.html
<sulamita@linuxchix.org.br> [5] http://www.ultramonkey.org/download/3/

14 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
ESPECIAL

Construindo um
Cl
uste r de
Ope nM osix com o
Sl
ack w are 11.0
Ne s s e artigo, ire m os im pl
e m e ntar um cl us te r ope nM os ix b as e ado e m
k e rne l 2.4.26 util izando com o b as e , o b om e ve l h o sl ack w are . :)

Introdução faze m us o de s s e tipo de te cnol ogia de m ane ira


e xtre m am e nte e ficie nte . As grande s "ve de te s "s ão os
cl us te rs e os s e rvidore s de te rm inais gráficos , q ue
É com putadore s pos s ue m nos dias atuais . Tam bém é
de s ne ce s s ário de s tacar a im portância q ue os
pe rm ite m a util ização de h ardw are ante riorm e nte
de s ne ce s s ário dize r q ue e xis te um "l obby"m uito cons ide rado obs ol e to m as q ue , q uando util
izado de s s a
grande e ntre "al guns "fabricante s de h ardw are e form a, ainda pos s ue m um a s obre vida cons ide ráve l .
s oftw are q ue ins is te m e m dize r ao us uário q ue e l e
pre cis a de um a m áq uina Dual -Core com 1 ou 2 Com o o as s unto e m q ue s tão s ão os cl us te rs , vou
gigabyte s de m e m ória RAM para nave gar na inte rne t, te ntar dar um a vis ão ge raldo as s unto, ainda q ue
le r s e us e -m ails e e s cre ve r docum e ntos de te xto com bre ve , m as e s pe ro q ue s uficie nte m e nte e s cl are ce dora.
q ual idade gráfica s atis fatória, o q ue , na prática, Exis te m bas icam e nte três tipos principais de cl us te r:
caracte riza um a ve nda cas ada "dis farçada". No
e ntanto, ao contrário dos e xe m pl os ante riore s , é Cl
u s te rs de al ta dis ponibil idade : Cons is te m de um
im portante dize r q ue al gum as apl icaçõe s s ão de fato, conjunto de duas ou m ais m áq uinas com
e xtre m am e nte de pe nde nte s de re curs os s e rviços "re dundante s "e inte rl igadas e ntre s i.
com putacionais , com o por e xe m pl o, a re nde rização de O m otivo da e xis tência de um a cone xão
anim açõe s 3D com pl e xas e s oftw are s de m ode l age m e e xcl us iva e ntre e s s as m áq uinas "re dundante s "
s im ul ação e s pe cíficos e m pre gados e m apl icaçõe s é a fre q ue nte m onitoração dos s e rviços
cie ntíficas . forne cidos pe l a m áq uina m e s tre re al izada
pe l as m áq uinas e s cravas , através de
H avia um te m po e m q ue s e pe ns ava q ue apl icaçõe s m e ns age ns do tipo "k e e p al ive ", por e xe m pl
o.
com o e s s as s ó pode riam s e r concl
uídas m ais Se um a das m áq uinas e s cravas ou
rapidam e nte cas o novos h ardw are s fos s e m s e cundárias , de te ctar q ue o s e rviço provido
adq uiridos , com proce s s adore s m ais ve l
oze s e m aior pe l a m áq uina m e s tre não e s tá ope racionalpor
q uantidade de m e m ória RAM . É e vide nte q ue e s s a é al gum m otivo, e s ta as s um e o control e do
um a s olução, no e ntanto, de pe nde ndo da apl icação s e rviço no l ugar da m áq uina prim ária.
utilizada, e l a não é a única e tam pouco a m ais
vantajos a. Cl
u s te rs de bal ance am e nto de carga: Es s e tipo de
cl us te r te m com o final idade dis tribuir
Com o s urgim e nto da com putação dis tribuída, a re q uis içõe s de s e rviço originadas de m áq uinas
util
ização de re curs os de proce s s am e nto, m e m ória e cl ie nte s e ntre um conjunto de s e rvidore s
arm aze nam e nto de com putadore s dis tintos apl icados idênticos da m e l h or form a pos s íve l
,
na e xe cução de um obje tivo com un tornou-s e pos s íve l , cons ide rando com o m étrica a dis ponibil idade
dando início a um a nova re al idade q ue pos s ui com o de re curs os de s te s , m inim izando de s s a form a,
principais be ne fícios a pos s ibilidade re alde variação a ocorrência de e ve ntos de indiponibil idade de
do fator e s cal
abilidade e um a m aior viabil idade do s e rviços , por e xe m pl o. A m e dida q ue a
ponto de vis ta e conôm ico. de m anda de ace s s o ao s e rviço aum e nta, bas ta
q ue o adm inis trador adicione novos nós ao
Atual
m e nte e xis te m várias apl
icaçõe s fantás ticas q ue cl us te r de s e rvidore s .

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 15
ESPECIAL

slackware/slackware-9.1/\
Cl
u s te rs vol tados para com pu tação de al to slackware/d/\
de s e m pe nh o: É ne s s a cate goria q ue o cl us te r gcc-3.2.3-i486-2.tgz
ope nM os ix (e ntre outros ) s e e nq uadra. A # removepkg gcc-3.4.6-i486-1.tgz
final idade de s s e tipo de cl us te r é dis tribuir # installpkg gcc-3.2.3-i486-2.tgz
proce s s os e ntre as m áq uinas q ue com poe m o
cl us te r. Cada um a de s s as m áq uinas é tam bém O prim e iro pas s o cons is te e m ins tal
ar o k e rne l
ch am ada de nó. A m étrica util izada para a corre s ponde nte à ve rs ão m ais re ce nte do ope nM os ix e
el e ição da m áq uina ide alé a dis ponibil idade e m s e guida apl icar o patch s obre e le . Ne s s e cas o,
de re curs os de m e m ória e cpu de cada um dos e s tam os fal
ando do k e rne l2.4.26, cujo dow nl oad foi
nós no m om e nto e m q ue o proce s s o de ve s e r re al izado na s e ção ante rior. Vam os ao trabal h o:
e xportado. De s s e m odo, m áq uinas ocios as q ue
e s te jam e xe cutando proce s s os cons ide rados # cd /usr/src
s im pl e s s ão forte s candidatas a re ce be re m # cp /root/linux-2.4.26.tar.bz2 .
proce s s os re m otos de outros nós do cl us te r. # tar -xvjf linux-2.4.26.tar.bz2
# cd linux-2.4.26
O ope nM os ix dife re ncia-s e de outros tipos de cl us te r, # cp /root/openMosix-2.4.26-1.bz2 .
por não e xigir m udanças no código fonte das # bunzip2 openMosix-2.4.26-1.bz2
apl icaçõe s ne l e utilizadas . Quando apl icado ao k e rne l # patch -Np1 < openMosix-2.4.26-1
Linux, e l e s e e ncarre gada de e xportar os proce s s os # cp config .config
e ntre os nós do cl us te r e re ce be r os re s ul tados de # make menuconfig
vol ta. O utros tipos de cl us te r popul are s , com o o # make dep
Be ow ul f, por e xe m pl o, util izam bibl iote cas e s pe cíficas # make bzImage
(PVM e M PI) q ue re al izam e s s a tare fa, m as e xige m # make modules
q ue a apl icação s e ja e s crita cons ide rando as pe ctos de # make modules_install
paral el is m o, o q ue , de ce rto m odo, l im ita
cons ide rave l m e nte s ua util ização. Em s e guida, após algum as xícaras de café, vam os
adicionar um a e ntrada re fe re nte ao k e rne lre cém -
com pilado ao lil
o:
Ins tal
ação
# cd arch/i386/boot
A im pl e m e ntação do cl us te r ope nM os ix é # cp bzImage /boot/vmlinuz-2.4.26
re lativam e nte s im pl e s , afinal , trata-s e na prática, de # vim /etc/lilo.conf
ape nas um patch de k e rne l . No e ntanto, al guns
pontos da docum e ntação oficiale s tão de s atual izados Adicione um a e ntrada no s e u m e nu de boot apontanto
e pode m caus ar al gum a confus ão. O s is te m a de para /boot/vm l
inuz-2.4.26, s e m e lh ante ao e xe m pl
oa
arq uivos nativo do ope nM os ix, o oM FS, por e xe m pl o, s e guir:
foi re tirado a partir da ve rs ão 2.4.26-1 por q ue s tõe s
de s e gurança. U m outro "probl e m a"ocorre durante o # LILO configuration file
proce s s o de com pil ação do k e rne l , e m função da # generated by 'liloconfig'
ve rs ão do gcc util izado no s l ack w are 11. De s s e m odo, #
te re m os tam bém q ue trabal h ar com um a ve rs ão # Start LILO global section
ante rior do com pil ador para q ue o código com pil e boot = /dev/hda
s e m probl e m as . M ãos a obra: prompt
timeout = 500
Durante todo o proce s s o de ins tal ação/configuração, # VESA framebuffer console \
por q ue s tõe s de praticidade , e s tou cons ide rando q ue @ 1024x768x256
todos os dow nl oads e s tão s e ndo arm aze nados no vga = 773
dire tório /root e q ue "root"s e ja o us uário corre nte . # Linux bootable partition config\
begins
Baixando os arq uivos ne ce s s ários : image = /boot/vmlinuz
root = /dev/hda1
# wget http://www.if-usp.lkams.kernel\ label = Slackware
.org/pub/linux/kernel/v2.4/\ read-only # Non-UMSDOS filesystems\
linux-2.4.26.tar.bz2 should be mounted read-only for\
# wget http://ufpr.dl.sourceforge.net/\ checking
sourceforge/openmosix/\ # Linux bootable partition config ends
openMosix-2.4.26-1.bz2 # Sua entrada referente ao openMosix\
# wget http://ufpr.dl.sourceforge.net/\ começa aqui
sourceforge/openmosix/\ # openMosix bootable partition config\
openmosix-tools-0.3.6-2.tar.gz begins
image = /boot/vmlinuz-2.4.26
Re s ol
ve ndo o probl
e m a de com patibil
idade do gcc: root = /dev/hda1
label = openMosix
# wget http://ftp.belnet.be/packages/\

16 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
read-only # Non-UMSDOS filesystems\ openMosix machines.
should be mounted read-only for\ #
checking #Example: 10 machines with IP addresses\
# openMosix bootable partition config\ 192.168.1.50 - 192.168.1.59
ends # which will have openMosix\
### E termina aqui... :) ### node-numbers 1-10:
#
Atual
ize o Lil
o: # 1 192.168.1.50 10
#
# lilo # MOSIX-# IP number-of-nodes
# ============================
Se tudo de r ce rto, você de ve ve r al
go do tipo: 1 192.168.20.15 1
2 192.168.20.16 1
Added Slackware * 3 192.168.20.17 1
Added openMosix 4 192.168.20.18 1

Ate nção: É im portante te r ce rte za q ue os parâm e tros Es s a é um a m ane ira de s e e s pe cificar os nós do
"prom pt"e "tim e out"e s te jam pre s e nte s e m s e u cl us te r, ou s e ja, do lado e s q ue rdo ide ntificar o núm e ro
lil
o.conf, para q ue você pos s a optar pe l o boot do nó, no ce ntro e s pe cificar o ip do nó e no final
utilizando o k e rne lope nM os ix. e s pe cificar q uantos nós de ve m s e r cons ide rados a
partir do ip e s pe cificado. De s s e m odo, a s e guinte
O próxim o pas s o é ins tal ar algum as fe rram e ntas de s intaxe tam bém s e ria vál ida, cons ide rando q ue o
ge re nciam e nto do cl us te r ope nM os ix. range de ips q ue com poe m o cl us te r aq ui
Inicial m e nte , vam os criar um l ink s im bólico e xe m pl ificado s ão s e q ue nciais :
ne ce s s ário durante o proce s s o de com pil ação das
fe rram e ntas q ue s e rão util izadas no cl us te r: # MOSIX-# IP number-of-nodes
# ============================
# ln -s /usr/src/linux-2.4.26 /usr/src/\ # Essa instrução é equivalente à anterior
linux-openmosix 1 192.168.20.15 4

Agora, vam os ins tal


ar as fe rram e ntas : O úl tim o pas s o cons is te e m adicionar a ins trução
re s pons áve lpe l a inicial ização do nó do cl us te r e m um
# cd /root s cript e xe cutado após o boot:
# tar -xvzf openmosix-tools-0.3.6-2.tar\
.gz # vim /etc/rc.d/rc.local
# cd openmosix-tools-0.3.6-2.tar.gz # Starting openMosix node
# ./configure /usr/local/sbin/setpe -w -f /etc/\
# make && checkinstall openmosix.map
# installpkg openmosix-tools-0.3.6-2-\
i386-1.tgz Agora vam os re ins tal ar o gcc "original ", dis poníve le m
s e u CD/DVD de ins tal ação do s lack w are 11 e re m ove r
Agora ire m os e ditar al guns arq uivos de configuração o re le as e ins tal
ado no início do proce s s o:
ne ce s s ários para o funcionam e nto do clus te r:
# removepkg gcc-3.2.3-i486-2.tgz
# vim /etc/openmosix.map # installpkg gcc-3.4.6-i486-1.tgz

# Static openMosix configuration Por fim , vam os re iniciar a m áq uina e bootar com o
# ============================== k e rne ldo ope nM os ix:
#
# Each line in this file should contain\ # init 6
3 fields, statically mapping
# IP addresses to openMosix node-numbers:
#
Adicionando m ais nós ao s e u cl
us te r
# 1) The first openMosix node-number in\
Adicionar novos nós ao s e u cl us te r é um a ope ração
this range.
s im pl e s s e você já ch e gou até aq ui. Bas ta re pe tir os
# 2) The IP address of the above node\
proce dim e ntos ante riore s e m cada um dos nós e
(or node-name from /etc/hosts).
m ante r o arq uivo /e tc/ope nm os ix.m ap com o m e s m o
# 3) The number of nodes in this range.
conte údo dos outros nós , s e m pre ve rificando s e todos
#
os nós q ue irão com por o cl us te r e s tão e s pe cificados
# Note: If you don't create a valid IP\
ne s s e arq uivo. Em nos s o e xe m pl o, o cl us te r é
<-> node-number mapping, the\
cons tituído de q uatro nós , q ue ate nde m nos ips
# autodiscovery daemon will be\
19 2.168.20.15, 19 2.168.20.16, 19 2.168.20.17 e
started, automatically assigning
19 2.168.20.18.
# node-numbers to all visible\

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 17
ESPECIAL

Te s tando o cl
us te r
Es s a é um a pol ítica "te m porária"q ue de ve s e r
Agora ire m os te s tar a funcional idade do cl us te r, util izada s om e nte durante o proce s s o de
e s cre ve ndo e de pois e xe cutando um pe q ue no s cript ins tal ação/configuração do cl us te r, de m odo a
s uge rido na própria docum e ntação do ope nM os ixi [1]: ve rificar o s e u corre to funcionam e nto. Evide nte m e nte
q ue , após te r ce rte za de q ue tudo e s tá funcionando a
# vim script_cluster.sh conte nto, um a pol ítica m ais re s tritiva, q ue pe rm ita a
com unicação s om e nte e ntre os nós pe rte nce nte s ao
awk 'BEGIN{for(i=0;i<10000;i++)\ cl us te r é um a boa pe dida. U m a s ubne t de s tinada
for(j=0;j<10000;j++);}' s om e nte para e s s e fim tam bém é um a boa idéia...

Vam os dar pe rm is s ão de e xe cução a e l


e: O tim e de de s e nvolve dore s do ope nM os ix atual m e nte
trabal h a e m um a ve rs ão para k e rne l2.6, no e ntanto,
# chmod +x script_cluster.sh ainda e m e s tágio be ta de de s e nvolvim e nto, cons ulte a
s e ção de de s e nvol
vim e nto [2]no s ite do proje to para
Abra um s e gundo te rm inale e xe cute o s e guinte m aiore s inform açõe s .
com ando:
Exis te m inúm e ras pos s ibil idade s de pe rs onal ização e
# msmon configuração de cl us te rs ope nM os ix. Exis te m tam bém
várias fe rram e ntas gráficas inte re s s ante s de
O m s m on, com o o próprio nom e s uge re , é um m onitor m onitoram e nto, com o o ope nM os ix Vie w [3], q ue
gráfico q ue m os tra a carga de proce s s am e nto de cada pos s ui vários m ódul os dis tintos q ue facil itam a vida de
um dos nós q ue com poe m o cl us te r. É um a e xce l e nte adm inis tradore s de cl us te rs e tam bém al gum as
fe rram e nta para ve rificar o funcionam e nto do cl us te r fe rram e ntas de te s te de pe rform ance , e s tabil idade e
e m s i e ao m e s m o te m po, diagnos ticar probl e m as de re dundância. Com o e s s e artigo é introdutório, não
re de ou de s intaxe (dos arq uivos de configuração) e m ire m os abordar e s s e s as pe ctos , inte re s s ante s e m
nós is ol ados , um a ve z q ue s om e nte os nós apl icaçõe s m ais e s pe cíficas q ue ne ce s s ite m de ajus te s
corre tam e nte configurados s e rão l is tados no e ixo finos e configuraçõe s m ais e l aboradas .
h orizontal . Se um dos nós de s e u cl us te r não apare ce r
ne s s e e ixo, você pos s ive l
m e nte te m probl e m as com Exis te a pos s ibil
idade de s e util izar os ch am ados
s ua re de , com o arq uivo /e tc/ope nm os ix.m ap do nó "Ins tant ope nM os ix Clus te rs "q ue nada m ais s ão do
"de s apare cido"ou ainda pode te r e s q ue cido de q ue dis tribuiçõe s Linux com o patch do ope nM os ix
e xe cutar o com ando "s e tpe "após o boot ne s s e nó. apl icados ao k e rne le com fe rram e ntas us e rland já
ins taladas . Você pode confe rir al guns e xe m plos e m
Em s e guida, vam os e xe cutar o s cript no prim e iro [4]. Baixe a ISO, q ue im e os CDs e "m onte "o s e u
te rm inalal
gum as ve ze s cons e cutivas com o s e guinte clus te r com q uantos nós q uis e r.
com ando (um as 4 ou 5 ve ze s de ve m bas tar):
Val e le m brar q ue ne m todo tipo de apl icação pode s e r
# ./script_cluster.sh & e xportada e ntre os nós do cl us te r. A docum e ntação
oficialdo ope nM os ix fal a de m ane ira s upe rficials obre
Ve rifiq ue e m s e u s e gundo te rm inal
, q ue roda o al guns as pe ctos re l acionados a is s o [5],[6], no e ntanto
m os m on q ue , s e tudo corre u be m , a carga de e s s e com ce rte za é um te m a inte re s s ante q ue
proce s s am e nto de cada um dos nós q ue com poe m o com pl e m e nta e s s e artigo e ce rtam e nte de ve apare ce r
clus te r re ce be um a carga de proce s s am e nto, o q ue e m um a das próxim as e diçõe s do s l ack w are zine .
indica o corre to funcionam e nto do m e s m o.
Até l
á... :)
Le m bre -s e q ue a dis tribuição de proce s s os e ntre os
nós do cl us te r e a com unicação e ntre cada um de l e s, Clayton Eduardo dos Santos
de pe nde do bom funcionam e nto da s ua re de . Para q ue <claytones@terra.com.br>
o cl us te r pos s a funcionarcorre tam e nte , é pre cis o te r
ce rte za de q ue os nós e s tão "conve rs ando"e ntre s i,
para tanto, al gum as portas as s ociadas ao s e rviço Re fe rências
"m os m ig"de ve m e s tar l ibe radas no s e u fire w al
l,
portanto trate de l ibe rá-l
as no s cript [1] http://openmosix.sourceforge.net/
/e tc/rc.d/rc.fire w al l(ou e q uivale nte ): [2] http://openmosix.sourceforge.net/\
development.html
# vim /etc/rc.d/rc.firewall [3] http://www.openmosixview.com/
[4] http://openmosix.sourceforge.net/\
# Permitindo acesso externo ao openMosix instant_openmosix_clusters.html
iptables -A INPUT -p TCP --dport 4660\ [5] http://howto.x-tend.be/openMosix-\
-j ACCEPT HOWTO/x1254.html
iptables -A INPUT -p UDP --dport 5428\ [6] http://howto.x-tend.be/openMosix-\
-j ACCEPT HOWTO/x1317.html

18 SlackwareZine h ttp://w w w .s l
ack w are zine .com .br
D ICAS

Conve rte ndo Núm e ros de Um a


Bas e para O utra
É com um util izar o bc para faze r contas rápidas
(e algum as não tão rápidas as s im ). M as o bc é
be m m ais q ue is s o, e com e l
e é pos s íve ltam bém
conve rte r núm e ros e ntre bas e de cim ais , ve ja
com o é s im ple s:

De cim al
-> Binario:
echo "obase=2 ; numero" | bc "D e s e ntupindo" a fil
a de e -m ail
s
no Pos tfix
Binario-> De cim al
:
echo "ibase=2 ; numero" | bc Sabe q uando s e u s is te m a de e m ailtá l e rdo, e
você não s abe porq ue ?vai ve r o "q ue ue "de e -
H e xa-> Binario: m ail , e te m m ais de 300 e m ails , q ue e s tão
echo "ibase=16 ; obase=2 ; numero" | bc e rrados ou q ue de ram e rro na h ora da e ntre ga e
o M TA cis m a e m ficar te ntando m andar?apague
obas e é bas e de s aída (o "o"é de output) e ibas e é e s s e e m ails da fil
a com is s o:
a bas e de e ntrada (o "i"é de input). A bas e 10 é o
"padrão"do bc, e ntão não pre cis a s e r indicada. mailq | awk '/MAILER/ {
ID = substr($1,0,10)
system("postsuper -d "ID)
}

Te s tando a Aute nticação SM TP no Cons ol


e
Todo m undo q ue já fe z um s e rvidor de SM TP aute nticado fica com um probl e m a e m m ãos na h ora de
te s tar. Ne m s e m pre e xis te um l e itor de e -m ailq ue s uporte aute nticação à m ão. Com o pe rlve m ins tal ado
e m vários s e rvidore s , e s s a dica pode s e r bas tante útil .

perl -MMIME::Base64 -e 'print encode_base64("\000user\@lala.com.br\000senha")'

Le m bre de s ubs tituir "us e r"pe l


o nom e de um us uário para te s te s , o "l
ala.com .br"pe l
o dom ínio corre to e a
"s e nh a"pe l
a s e nh a (dãããã).

De pois us ar a s aída de s s e com ando na h ora da ne gociação com o s e rvidor SM TP.

AUTH PLAIN saidadocomando

Conve rte ndo D atas de EPO CH para um Form ato


H um anam e nte Le gíve l
Inte rnam e nte os s is te m as U nix-Lik e (e provave lm e nte outros ) contam o te m po
e m s e gundos a partir da ze ro h ora do dia prim e iro de jane iro de 19 70. A m aior
parte dos program as s ão l e gais e conve rte m um núm e ro com m ais de um
de ze na de algaris m os para um form ato h um ano. O utros program as (al guém
falou s q uid?) gos tam de e s cre ve r dire to na q uantidade de s e gundos , o q ue
dificul ta um pouco a l e itura de l ogs .

Se is s o aconte ce r, um je ito fácilde de s cobrir um a data é us ando:

date --date='1970-01-01 SEGUNDOS sec GMT'

O nde SEGU NDO S é a q uantidade de s e gundos q ue o program a apre s e nta para


você.

h ttp://w w w .s l
ack w are zine .com .br SlackwareZine 19
Autore s
Cl
ayton Edu ardo dos Santos , Linux de s de 2003 e
com Sl ack w are de s de 2004. Atual m e nte Pite r PUNK ak a R obe rto Fre ire s Batis ta,
de s e nvol ve s e u proje to de pe s q uis a de trabal h a com Linux de s de 19 9 6. Atual m e nte
Doutorado no De partam e nto de Enge nh aria é cons ul tor na áre a de s is te m as ope racionas
El étrica na U SP de São Carl os . É tam bém na NTU X Inform ática. É o principal
e ntus ias ta da e ra M SX e um dos e ditore s do de s e nvol ve dor do s l ack pk g e contribui
Sl ack w are Z ine . ativam e nte no de s e nvol vim e nto do
Sl ack w are Linux. Tam bém é e ditor do
Le andro Tol e do, Iniciou com com putadore s e m Sl ack w are Z ine e publ icou dive rs os artigos
19 9 3 e Linux e m 19 9 8, us ando Sl ack w are e m re vis tas e s ite s da áre a.
3.4 k e rne l2.0.30. Atual m e nte trabalh a no
ram o finance iro, m ul tinacionalFide l ity BPO, Su l
am ita Garcia, é Es pe cial is ta U nix na EDS, e
com o Anal is ta de Proje tos util izando re s pons áve lpe l
o Linuxch ix Bras il . É autora
s oluçõe s livre s . Se u principalproje to é o de dive rs os artigos e pal e s tras s obre
Sl ack w are Z ine . Sl ack w are , Al
ta Dis ponibil idade e Linux e m
ge ral .
Lindol
fo R odrigu e s ak a Lorn, é us uário de Linux
de s de 2000, com e çou com s l ack w are 8.0
atual m e nte trabal h a na U pl e xis Te cnonlogia,
com o Program ador Pe rl , é um M onge Pe rl
fanático ; ) e s tá no últim o s e m e s tre de BCC
da FASP

Vous aimerez peut-être aussi