Está en la página 1de 37

1

Universidad Catlica de Temuco


Facultad de Ciencias e Ingeniera
Escuela de Informtica
Ingeniera Civil en Informtica

SISTEMAS DISTRIBUIDOS

ESTRUCTURACION DE UN CLUSTER BEOWULF

Miguel Abarca Castro


Prof. Alejandro Mellado G.

Temuco, 24 de Noviembre 2008

RESUMEN
Enmuchasramasdelaciencia,lacomplejidaddelosproblemasqueseestudianrequiere
contarconaccesoaunamquinaqueseacapazdedesarrollarvariosmilesdemillonesde
operacionesporsegundoparaestolatecnologadeClusternosdanunaexcelentesolucin.
Eneldesarrollodeesteinformeveremosloselementosquecomponenunclusterascomo
asicomolasconsideracionesquesedebentenerencuentaalmomentodeconstruiruno.
BsicamentesehablaradelclusterBEOWULF,suscomponentesypartedelaconfiguracin
deunoconclientesdeclaseDISKLESS.

INDICE
Introduccin

I.Queesuncluster?
1.1.Definicin

6
1.2.BeneficiosdelaTecnologaCluster

7
1.3.ClasificacindelosClusters

8
1.4ComponentesdeunCluster

9
1.5.UsodelosClusters

10
1.5.1.ClustersenAplicacionesCientficas

10
1.5.2.ClustersenAplicacionesEmpresariales

11

II.ClusterBEOWULF
2.1.Hardware

12
2.2.Software

14
2.3.ClasificacionesdeBEOWULF

15
2.3.1.ClaseI

15
2.3.2.ClaseII

16

III.ElementosdeunClusterBEOWULF
3.1Disco

17
3.1.1.Clientessindisco(Diskless)

17
3.1.2.InstalacinLocalCompletaenlosClientes

17
3.1.3.InstalacinNFSEstndar

18
3.1.4.SistemasdeArchivosDistribuidos

18
3.2.Memoria

18
3.3.Procesador

19
3.4.SimetricMultiProcessor(SMP)

19
3.6.MassivelyParallelProcessing(MPP)

20
3.6.Red

20

4
IV.ImplementacinyConstruccin
4.1.Consideraciones

21
4.2.HARDWARE
4.2.1.Comunicacinentrenodos

22
4.2.2.Consideracionesparaequipossindiscoduro

22

4.3.SOFTWARE
4.3.1.Instalacinyarranquedelsistemaoperativoenelservidorcentral

23
4.3.2.Instalacinyconf.desoftwaredeinicializacinenlosnodos(diskless)23
4.3.2.1.AsignacinautomticadedireccinIP

24
4.3.2.2.ServidordearchivosdearranqueTFTP

25
4.3.2.3.Cargadordearranque

26
4.3.2.4Creacindelkernelparalosnodos

26
4.3.3.OrganizacindesistemasdearchivosparaNFS

27
4.3.4.ServidorNFS

30
4.3.5.Configuracinpornodo
4.3.5.1.Montajedelossistemasdearchivosremotos

31
4.3.5.2.ConfiguracinclienteNIS

32
4.3.6.Archivo/etc/hosts

34
CONCLUSION

35
REFERENCIAS

36
ANEXO

37

Introduccin
El surgimiento de plataformas computacionales de comunicacin y procesamiento
estndaresdebajocosto,lehabrindadolaoportunidadalosprogramadoresacadmicosde
crearherramientascomputacionales(sistemasdeoperacin,compiladores,depuradores)del
dominiopblicoodecostorazonable.Estarealidadespermitenlaimplantacindecdigos
paralelizados sobre este tipo de plataformas obteniendo un rendimiento competitivo en
relacinaequiposparalelosespecializadoscuyoscostosdeoperacinymantenimientoson
elevados.
UnadelasherramientasdemsaugeenlaactualidadsonlosllamadosclusterBeowulf,los
cuales presentan diversas capacidades para el cmputo paralelo con un relativo alto
rendimiento.

I.

QueesunCluster?
1.1.Definicin
Eltrminoclusterseaplicaalosconjuntosoconglomeradosdecomputadorasconstruidos
mediantelautilizacindecomponentesdehardwarecomunesyquesecomportancomosi
fuesenunanicacomputadora.Hoyendajueganunpapelimportanteenlasolucinde
problemasdelasciencias,lasingenierasydelcomerciomoderno.
La tecnologa de clusters ha evolucionado en apoyo de actividades que van desde
aplicacionesdesupercmputoysoftwaredemisionescrticas,servidoresWebycomercio
electrnico,hastabasesdedatosdealtorendimiento,entreotrosusos.
El cmputocon clusters surgecomoresultado delaconvergencia devarias tendencias
actuales que incluyen la disponibilidad de microprocesadores econmicos de alto
rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para
cmputo distribuido de alto rendimiento, as como la creciente necesidad de potencia
computacionalparaaplicacionesquelarequieran.
Simplemente,clusteresungrupodemltiplescomputadoresunidosmedianteunaredde
altavelocidad,detalformaqueelconjuntoesvistocomounnicoordenador,mspotente
queloscomunesdeescritorio.
Clusterssonusualmenteempleadosparamejorarelrendimientoy/oladisponibilidadpor
encimadelaqueesprovistaporunsolocomputadortpicamentesiendomseconmicoque
computadoresindividualesderapidezydisponibilidadcomparables.
Deunclusterseesperaquepresentecombinacionesdelossiguientesservicios:

AltoRendimiento
Un clusterdealtorendimiento esunconjuntodecomputadoresqueestdiseado
paradaraltasprestacionesencuantoacapacidaddeclculo.

AltaDisponibilidad
Esunconjuntodedosomsmquinasquesecaracterizanpormantenerunaseriede
servicioscompartidosyporestarconstantementemonitorizndoseentres.

Equilibriodelacarga
Unclusterdebalanceodecargaodecmputoadaptativoestcompuestoporunoo
mscomputadores(llamadosnodos)queactancomofrontenddelcluster,yquese

7
ocupan de repartir las peticiones de servicio que reciba el cluster, a otros
computadoresdelclusterqueformanelbackenddeste.

Escalabilidad
Laescalabilidadeslapropiedaddeseabledeunsistema,unaredounproceso,que
indica su habilidad para, o bien manejar el crecimiento continuo de trabajo de
manera fluida, o bien para estar preparado para hacerse ms grande sin perder
calidadenlosserviciosofrecidos

Laconstruccindeloscomputadoresdelclusteresmsfcilyeconmicadebidoasu
flexibilidad:puedentenertodoslamismaconfiguracindehardwareysistemaoperativo
(clusterhomogneo),diferenterendimientoperoconarquitecturasysistemasoperativos
similares(clustersemihomogneo),otenerdiferentehardwareysistemaoperativo(cluster
heterogneo).,loquehacemsfcilyeconmicasuconstruccin.
Paraqueunclusterfuncionecomotal,nobastasoloconconectarentresloscomputadores,
sinoqueesnecesarioproveerunsistemademanejodelcluster,elcualseencarguede
interactuarconelusuarioylosprocesosquecorrenenlparaoptimizarelfuncionamiento.
1.2.BeneficiosdelaTecnologaCluster
Las aplicaciones paralelas escalables requieren: buen rendimiento, baja latencia,
comunicacionesquedispongandegrananchodebanda,redesescalablesyaccesorpidoa
archivos.Unclusterpuedesatisfacerestosrequerimientosusandolosrecursosquetiene
asociadosal.
Construirunclusterpuedeaportarimportantesventajasengranvariedaddeaplicaciones
yambientes:

Incremento de velocidad de procesamiento ofrecido por los clusters de alto


rendimiento.

Incrementodelnmerodetransaccionesovelocidadderespuestaofrecidoporlos
clustersdebalanceodecarga.

Incrementodelaconfiabilidadylarobustezofrecidoporlosclustersde
altadisponibilidad.

8
La tecnologa cluster permite a las organizaciones incrementar su capacidad de
procesamientousandotecnologaestndar,tantoencomponentesdehardwarecomo de
softwarequepuedenadquirirseauncostorelativamentebajo.

1.3.ClasificacindelosClusters
Eltrminoclustertienediferentesconnotacionesparadiferentesgruposdepersonas.Los
tiposdeclusters,establecidosenbasealusoquesedealosclustersylosserviciosque
ofrecen,determinanelsignificadodeltrminoparaelgrupoqueloutiliza.Losclusters
puedenclasificarseconbaseensuscaractersticas.Sepuedentenerclustersdealto
rendimiento(HPCHighPerformanceClusters),clustersdealtadisponibilidad(HAHigh
Availability)oclustersdealtaeficiencia(HTHighThroughput).

AltoRendimiento(HPC):Sonclustersenloscualesseejecutantareasquerequierende
grancapacidadcomputacional,grandescantidadesdememoria,oambosalavez.El
llevaracaboestastareaspuedecomprometerlosrecursosdelclusterporlargosperiodos
detiempo.

AltaDisponibilidad(HA):Sonclusterscuyoobjetivodediseoeseldeproveer
disponibilidadyconfiabilidad.Estosclusterstratandebrindarlamximadisponibilidad
delosserviciosqueofrecen.Laconfiabilidadseproveemediantesoftwarequedetecta
fallosypermiterecuperarsefrentealosmismos,mientrasqueenhardwareseevitatener
unnicopuntodefallos.

AltaEficiencia(HT):Sonclusterscuyoobjetivodediseoeselejecutarlamayor
cantidaddetareasenelmenortiempoposible.Existeindependenciadedatosentrelas
tareasindividuales.Elretardoentrelosnodosdelclusternoesconsideradoungran
problema.

Los clusters pueden tambin clasificar como Clusters de IT Comerciales (Alta


disponibilidad,Altaeficiencia)yClustersCientficos(Altorendimiento).Apesardelas
discrepanciasanivelderequerimientosdelasaplicaciones,muchasdelascaractersticasde
lasarquitecturasdehardwareysoftware,queestnpordebajodelasaplicacionesentodos

9
estosclusters,sonlasmismas.Msan,unclusterdedeterminadotipo,puedetambin
presentarcaractersticasdelosotros.

1.4.ComponentesdeunCluster
Engeneral,unclusternecesitadevarioscomponentesdesoftwareyhardwareparapoder
funcionar.Quesonlossiguientes:

Nodos: Puedensersimplescomputadores,sistemasmultiprocesadoroestacionesde
trabajo(workstations).Eninformtica,deformamuygeneral,unnodoesunpuntode
interseccinounindevarioselementosqueconfluyenenelmismolugar.
Bajoelcontextodeclustertenemosdostiposdenodos,queson:
NodosDedicados: losnodosnodisponendeteclado,mousenimonitorysuusoest
exclusivamentededicadoarealizartareasrelacionadasconelcluster.
Nodosnodedicados:losnodosdisponendeteclado,mouseymonitorysuusonoest
exclusivamentededicadoarealizartareasrelacionadasconelcluster,elclusterhaceuso
delosciclosderelojqueelusuariodelcomputadornoestautilizandopararealizarsus
tareas.

Almacenamiento:El almacenamiento puede consistir en una NAS, una SAN, o


almacenamientointernoenelservidor.ElprotocolomscomnmenteutilizadoesNFS
(NetworkFileSystem),sistemadeficheroscompartidoentreservidorylosnodos.Sin
embargoexistensistemas deficheros especficos paraclusters como Lustre(CFS) y
PVFS2.

Sistemas Operativos: Debe ser multiproceso, multiusuario. Otras caractersticas


deseables son la facilidad de uso y acceso y permitir adems mltiples procesos y
usuarios.

ConexionesdeRed: Losnodosdeunclusterpuedenconectarsemedianteunasimple
redEthernetconplacascomunes(adaptadoresderedoNICs),outilizarsetecnologas
especialesdealtavelocidadcomoFastEthernet,GigabitEthernet,Myrinet,Infiniband,
SCI,etc.

Middleware:Esunsoftwarequegeneralmenteactaentreelsistemaoperativoylas
aplicacionesconlafinalidaddeproveeraunclusterlosiguiente:

Unainterfaznicadeaccesoalsistema,denominadaSSI(SingleSystemImage),

10
lacualgeneralasensacinalusuariodequeutilizaunnicoordenadormuy
potente;

Herramientasparalaoptimizacinymantenimientodelsistema:migracinde
procesos, checkpointrestart (congelar uno o varios procesos, mudarlos de
servidorycontinuarsufuncionamientoenelnuevohost),balanceodecarga,
toleranciaafallos,etc.;

Escalabilidad: debe poder detectar automticamente nuevos servidores


conectadosalclusterparaprocederasuutilizacin.

Existendiversostiposdemiddleware,comoporejemplo:MOSIX,OpenMOSIX,Condor,
OpenSSL,etc.

ProtocolosdeComunicacinyservicios

Aplicaciones

Ambientes de Programacin Paralela: Los ambientes de programacin paralela


permitenimplementaralgoritmosquehaganusoderecursoscompartidos:CPU(Central
ProcessingUnit),memoria,datosyservicios.

1.5.UsodelosClusters
1.5.1.ClustersenAplicacionesCientficas

Sesuelencaracterizarporseraplicacionescomputacionalmenteintensivas

Sus necesidades de recursos son muy importantes en almacenamiento y


especialmentememoria.

Requierennodosysistemasdedicados,enentornosHPCyHTC.

Suelen estar controlados los recursos por planificadores tipo Maui y gestores de
recursostipoPBS.

Sonenmuchasocasionescdigoslegacy,difcilesdemantener,yaquelosdominios
deaplicacinsuelenserdifcilmenteparalelizables.
Ejemplos: Simulaciones (earth simulator), genmica computacional, prediccin
meteorolgica, simulacin de corrientes y vertidos en el mar, aplicaciones en
qumicacomputacional.

11
1.5.2.ClustersenAplicacionesEmpresariales

Suelenseraplicacionesnoespecialmenteintensivascomputacionalmente,peroque
demandanaltadisponibilidadyrespuestainmediata,conloquelosserviciosseestn
ejecutandocontinuamenteynocontroladosporunsistemadecolas

Esusualqueunsistemaproveavariosservicios.Unaprimeraaproximacin para
realizarunadistribucin

Deltrabajoessepararlosservicios:

UnservidorwebconlaBDenunnodo,elcontenedorEJBenotroyelservidor
depginaswebenotroconstituyeun

claroejemplodedistribucinenelmbitoempresarial.

Otraaproximacinesinstalarunaaplicacinwebenunclstersquidcomo
proxycach, apache/tomcat como servidor web de aplicaciones web,
memcachedcomocachdeconsultasalabasededatosymysqlcomobasede
datos.Estosserviciospuedenestarreplicadosenvariosnodosdelclster.

Ejemplos:flickr,wikipediaygoogle.

12

II. ClusterBEOWULF
Beowulfnoesunpaquetedesoftwareespecial,niunanuevatopologaderedniunncleo
modificado.Beowulfesunatecnologaparaagruparcomputadoresbasadosenelsistema
operativoLinuxparaformarunsupercomputadorvirtualparalelo.En1994bajoelpatrocinio
delproyectoESSdelCentrodelaExcelenciaenCienciasdelosDatosydelaInformacion
delEspacio(CESDIS),ThomasSterlingyDonBeckercrearonelprimerclusterBeowulf
confinesdeinvestigacin.
Acontinuacinsedescribeloscomponentesdehardwareysoftwarequeconformanun
clusterBeowulf.
2.1.Hardware
Beowulfposeeunaarquitecturabasadaenmulticomputadoreselcualpuedeserutilizado
paracomputacinparalela.Estesistemaconsistedeunnodomaestroyunoomsnodos
esclavosconectadosatravsdeunaredethernetuotratopologadered.Estaconstruidocon
componentesdehardwarecomunesenelmercado,similaracualquierPCcapazdeejecutar
Linux, adaptadores de Ethernet y switches estndares. Como no contiene elementos
especiales,estotalmentereproducible.
UnadelasdiferenciasprincipalesentreBeowulfyunclusterdeestacionesdetrabajo(COW,
cluster of workstations) es el hecho de que Beowulf se comporta ms como una sola
mquinaquemuchasestacionesdetrabajo.Enlamayoradeloscasoslosnodosesclavosno
tienenmonitoresotecladosysonaccedidossolamentevaremotaoporterminalserial.
Elnodomaestrocontrolaelclusterenteroyprestaserviciosdesistemasdearchivosalos
nodosesclavos.Estambinlaconsoladelclusterylaconexinhaciaelmundoexterior.Las
mquinasgrandesdeBeowulfpuedentenermsdeunnodomaestro,yotrosnodos
dedicados a diversas tareas especficas, como por ejemplo, consolas o estaciones de
supervisin.EnlamayoradeloscasoslosnodosesclavosdeunsistemaBeowulfson
estacionessimples.Losnodossonconfiguradosycontroladosporelnodomaestro,yhacen
solamenteloquesteleindique.Enunaconfiguracindeesclavossindiscoduro,estos
inclusonosabensudireccinIPhastaqueelmaestrolesdicecules.

13

ArquitecturadelClusterBeowulf
Entredelasconfiguracionesdehardwareutilizadasparaarmarestetipodeclustercluster
sonlosarreglosdediscosoRAID.RAIDquieredecirRedundanceArrayInexpansibles
Disk',queenespaolsignificaarregloredundantedediscosnoexpandibles,esdecirun
arregloconstruidoa partirdediscosdemedianacapacidadqueseencuentrancomnmente
enelmercado.
Generalmentelosdispositivos1 utilizadosparaconstruirunarregloRAIDsonparticiones
hechassobrelaagrupacindevariosdiscos.Comnmentelasparticionesqueformanparte
delRAIDseencuentranendiferentesdiscos.
Dependiendo de las caractersticas que se le quiera dar al arreglo de discos (RAID),
podemosclasificarlosarreglospornivelesomodos.Estosnivelesomodosson:

ModoLneal:Eslacombinacindedosomsdiscos,paraformarundiscofsico,es
decirlosdiscossonconcatenadosparaformarundiscoconmayorcapacidad,peroal
escribir en el arreglo, primero se llena el primer disco, despus el segundo y as
sucesivamente,enformalneal.

Modo RAID0: Tambin es llamado modo stripe. Es similar al modo anterior, sin

1 lapalabradispositivo,puedereferirseaunaunidaddediscocompleta,aunaparticindediscooinclusoaun
conjuntodeparticionesydediscosenterosagrupadosenunarregloRAID.

14
embargonoactacomounaconcatenacindediscos,sinoquerealizaunbalancede
cargaI/Oentrelosdiscos,comoresultadoseobtieneunaltorendimiento.Porelloesta
configuracinesseleccionadacuandosedeseamayorvelocidaddelecturayescritura.

Modo RAID1: En este modo presenta redundancia de datos, es decir que la


informacinsedplicaentodoslosdispositivosqueformanpartedelRAID,porlotanto
lacapacidaddelarregloesigualalacapacidaddeldiscomspequeo(eldenominador
comnmsbajo).Enotraspalabras:realizarunRAID1conundiscode100MByotro
de1GBnosepuedeconsiderarcomounabuenaidea.

ModoRAID4:Enestenivel,undiscoseencargadealmacenarinformacindeparidad
enundiscoyescribelosdatosenotrodisco.

ModoRAID5:Estenivelessimilaraloanterior,conladiferenciaqueelalmacenajede
laparidadsehacedeformadistribuida,esdecirquelainformacindelaparidades
almacenadaentrelosdispositivosqueformanpartedelarreglo.

Serecomiendaquelosdispositivosquevanaformarpartedelarreglo,seandelamisma
capacidad.

2.2.Software
Beowulf utiliza como sistema operativo cualquier distribucin Linux. Adems usa
bibliotecas depasedemensajescomoPVM(ParallelVirtualMachine),MPI(Message
PasingInterface)2.Ensusinicios,BeowulfempleabaladistribuciondelinuxSlackware,
ahora la mayora de los cluster ha migrado a la distribucin de RedHat por su fcil
administracindelsistema.
Sin lugar aduda los cluster presenta una alternativaimportante para varios problemas
particulares,nosoloporsueconoma,sinotambinporquepuedenserdiseadosyajustados
paraaplicacionesespecficas.
UnadelasalternativasparamanejarlosrecursosdeunclusterbeowulfesMOSIX.
Mosix es una herramienta desarrollada para sistemas tipo UNIX, cuya caracterstica
resaltanteeselusodealgoritmoscompartidos,loscualesestndiseadospararesponderal
instantealasvariacionesenlosrecursosdisponibles,realizandoelbalanceoefectivodela
2 Bibliotecasdeprogramacinparalela

15
cargaenelclustermediantelamigracinautomticadeprocesosoprogramasdeunnodoa
otroenformasencillaytransparente.
ElusodeMosix3enunclusterdePC'shacequestetrabajedemaneratal,quelosnodos
funcionancomopartesdeunsolocomputador.Elprincipalobjetivodeestaherramientaes
distribuirlacargageneradaporaplicacionessecuencialesoparalelizadas.
Unaaproximacindebalanceodecargaesrealizadaporlosusuariosalahoradeasignarlos
diferentesprocesosdeuntrabajoparaleloacadanodo,habiendohechounarevisinprevia
deformamanualdelestadodedichosnodos.
LospaquetesutilizadosgeneralmenteparatallaborsonPVMyMPI.Estetipodesoftware,
disponedeherramientasparalaasignacininicialdeprocesosacadanodo,sinconsiderarla
cargaexistenteenlosmismosniladisponibilidaddelamemorialibredecadauno.Estos
paquetescorrenaniveldeusuariocomoaplicacionesordinarias,esdecirsonincapacesde
activarotrosrecursosodedistribuirlacargadetrabajoenelclusterdinmicamente.La
mayoradelasveceseselpropiousuarioelresponsabledelmanejodelosrecursosenlos
nodosydelaejecucinmanualdeladistribucinomigracindeprogramas.
Adiferenciadeestospaquetes,Mosixrealizalalocalizacinautomticadelosrecursos
globalesdisponiblesyejecutalamigracindinmicaonline'deprocesosoprogramas
paraasegurarelaprovechamientoalmximodecadanodo.
2.3.ClasificacionesdeBEOWULF
ParaestablecerlasdiferenciasentrelosdistintostiposdesistemasBeowulfsepresentala
siguienteclasificacin:
2.3.1.ClaseI
Son sistemas compuestos por mquinas cuyos componentes cumplen con la prueba de
certificacin"ComputerShopper"loquesignificaquesuselementossondeusocomn,y
puedenseradquiridosmuyfcilmenteencualquiertiendadistribuidora.Deestamanera,
3 Esta tecnologa basada en Linux, permite realizar balanceo de carga para procesos particulares en un cluster.
Aumentaaslacapacidadyvelocidaddecmputo,pero,internamentetanslobalancealacargadelastareasen
variasmquinas.

16
estosclustersnoestndiseadosparaningnusonirequerimientosenparticular.
2.3.2.ClaseII
Son sistemas compuestos por mquinas cuyos componentes no pasan la prueba de
certificacin"ComputerShopper"loquesignificaquesuscomponentesnosondeuso
comnyportantonopuedenencontrarseconlamismafacilidadqueloscomponentesde
sistemas de la clase anterior. De tal manera, pueden estar diseados para algn uso o
requerimientoenparticular.Lasmquinasubicadasenestacategorapuedenpresentarun
niveldeprestacionessuperioralasdelaclaseI.

17

III. ElementosdeunClusterBEOWULF
AlahoradeconstruirunclusterBeowulfesnecesariotenerencuentadiversosfactorespara
eldiseodelmismoparatomardecisionesquecontribuyanalmejordesenvolvimientodela
mquinasegnnuestrospropsitos.
LosdiferentespuntosquesedebenestudiareneldiseodeunclusterBeowulfsonlos
siguientes.
3.1Disco
Existen varios mtodos para configurar los medios de almacenamiento en un cluster
Beowulf,loscualesdifierenenrendimiento,precioyfacilidadesenlaadministracin.
3.1.1.Clientessindisco(Diskless)
Losnodosesclavosoclientesnoposeendiscodurointernoytomantodoslossistemasde
archivosatravsdelared.EselnodomaestroelqueproporcionaatravsdeNFSlos
sistemasdearchivosparalosnodosesclavos.
Laprincipalventajadeestaconfiguracineslafacilidadenlaadministracindelclusterya
quealagregarunnuevonodoslohayquemodificarunosarchivosenelservidor.Adems,
proporcionaunaltoniveldeescalabilidad.
LadesventajadetenerclientesoesclavossindiscoesqueeltrficoNFSseincrementa.
Dependiendodelaredinstaladaestapuedeserunaconfiguracinpocoadecuadaparael
cluster.
3.1.2.InstalacinLocalCompletaenlosClientes
Todoelsoftware,tantoelsistemaoperativocomolasaplicaciones,soninstaladasenlos
discosinternosdecadanodocliente.EstaconfiguracinreduceaceroeltrficoNFSpara
obtenerelsistemaoperativoocualquierotraaplicacinporpartedelosnodosesclavos.

18
3.1.3.InstalacinNFSEstndar
Estaconfiguracineselpuntomediodelasdosanteriores.Elsistemaoperativoseencuentra
enlosdiscosinternosdelosnodosesclavosyestosobtienenlosdirectorioshogardelos
usuariosylossistemasdearchivosquecontienenlasaplicaciones,atravsdeNFS,desdeel
nodomaestro.
3.1.4.SistemasdeArchivosDistribuidos
Lossistemasdearchivossonaquellosquesoncompartidosportodoslosnodos,esdecir,
cadanodoposeeunpedazodelsistemadearchivoslocualincrementalavelocidadenlos
accesosalainformacindebidoalapresenciadems deundispositivofsicoparael
manejodelosdatos.Sinembargo,estaconfiguracinestaenfaseexperimentalyporesta
raznnoesrecomendada.
3.2.Memoria
Laseleccindelacantidaddememoriadependededosfactoresprimordialmente:

Losrecursoseconmicosconquesecuentan

Losrequerimientosdememoriadelasaplicacionesqueseejecutarnenelcluster

Laraznprincipalparacontarconunacapacidaddememoriarazonableesevitarquelas
aplicaciones necesiten de reas de swap para continuar con su ejecucin normal.
Intercambiarlocalidadesdememoriahaciaelreade swap reduceconsiderablementeel
rendimientodelosprogramas.Sedebetomarencuentaquelaconfiguracinparauncluster
Disklessnoesposiblecontarconparticionesdestinadasparamemoriavirtualdebidaala
ausenciadediscoslocales,locualimponeunarazndepesoparainstalarmemoriaRAM
suficiente.

La velocidad de la memoria tambin es importante. Memoria de accesos lento puede


convertirseenuncuellodebotellaalahoradeejecutaraplicacionesconaltasexigenciasde
esterecurso.

19
3.3.Procesador
Los clusters generalmente son construidos con procesadores Alpha o Intel x86. La
utilizacindeotrotipodeprocesadorespermitido,sinembargo,noseconsiderandeuso
comn, ya que se elimina una de las principales caractersticas de Beowulf (uso de
componentes comunes), la cual permite reemplazar de forma fcil y con bajos costos
cualquiercomponentedelsistema.
3.4.SimetricMultiProcessor(SMP)
LasmquinasconmsdeunprocesadorsonutilizadascomnmenteenclustersBeowulf
debidoalagrancapacidaddeprestacionesqueproporcionan.Unadelasprincipalesventajas
enlautilizacindeSMP,ademsdelincrementodepoder,eslareduccindelacantidadde
tarjetasderedyporsupuestoeltrficoenlared.

EstructuraSMP

DebidoaqueSMPcomparteglobalmentelamemoriaRAM,tienesolamenteunespaciode
memoria,loquesimplificatantoelsistemafsicocomolaprogramacindeaplicaciones.
Esteespaciodememorianicopermitequeun SistemaOperativoconMulticonexin
(multithreadedoperatingsystem)distribuyalastareasentrevariosprocesadores,opermite
queunaaplicacinobtengalamemoriaquenecesitaparaunasimulacincompleja.La
memoriaglobalmentecompartidatambinvuelvefcillasincronizacindelosdatos.

20
3.5.MassivelyParallelProcessing(MPP)
ElProcesamientomasivamenteparaleloesotro diseodeprocesamientoparalelo.Para
evitarloscuellosdebotellaenelbusdememoria, MPPnoutilizamemoriacompartida.En
sulugar,distribuyelamemoriaRAMentrelosprocesadoresdemodoquesesemejaa una
red(cadaprocesadorconsumemoriadistribuidaasociadaessimilarauncomputadordentro
deunareddeprocesamientodistribuido). Debidoaladistribucindispersadelosrecursos
RAM,estaarquitecturaestambin conocida como dispersamente acoplada (loosely
coupled),ocompartiendonada(sharednothing).

EstructuraMPP
Para teneraccesoalamemoriafueradesupropiaRAM,los procesadoresutilizan un
esquemadepasodemensajesanlogoalospaquetesdedatosenredes.Estesistemareduce
eltrficodelbus,debidoaquecadaseccindememoriaobservanicamenteaquellos
accesosqueleestndestinados,enlugardeobservartodoslosaccesos,comoocurreenun
sistemaSMP.nicamentecuandounprocesadornodisponedelamemoriaRAMsuficiente,
utilizalamemoriaRAMsobrantedelosotrosprocesadores.EstopermitesistemasMPPde
grantamaoconcientosyanmilesdeprocesadores.MPPesunatecnologaescalable.

3.6.Red
LatopologaderedrecomendadaesunBusobarra,debidoalafacilidadparaproporcionar
escalabilidadalahoradeagregarnuevosnodosalcluster.ProtocoloscomoEthernet,Fast
Ethernet,10/100MbpsSwitchedEthernet,etc,sontecnologasapropiadasparaserutilizadas
enBeowulf.

21

IV.ImplementacinyConstruccin
Mayoritariamente se hablara sobre la construccin de la configuracin de un cluster
Beowulfconclientesdiskless
4.1.Consideraciones
Qusenecesitaparatenerun Beowulf?Comosehamencionado,paraun Beowulf se
requieren los nodos como tales, as como una red local de interconexin; un sistema
operativoenlosnodos,queenlamayoradeloscasosesLinux;yunmtodoparaquelos
programasaprovechenlanaturalezaparaleladelBeowulf.
Interesantemente,enlamayoradeloscasosestossernlosnicoselementosnecesarios.
Desde el principio, el proyecto Beowulf ha buscado integrarse estrechamente con el
desarrollonormaldeLinux,ascomointerferirlomenosposibleconunainstalacinde
Linuxtradicional.
As,lamayoradelsoftwarerequeridoparaconstruirunBeowulfseproporcionacomouna
adicinaalgunadistribucinpblicamentedisponibledeLinux.ElproyectoBeowulfse
enfoca a la distribucin Red Hat Linux, si bien sus componentes pueden instalarse en
cualquierdistribucin.Cualquierdistribucinmodernaincluyeloscomponentesnecesarios
paralaconfiguracindelequipocomounaestacindetrabajoenred;estoincluyeelkernel
deLinux,elconjuntodeutilerasysoftwareGNU,yunaseriedeprogramasyaplicaciones
comocompiladoresyherramientasdecmputocientfico.
AquelloselementosqueunBeowulfrequiereadicionaraladistribucin,estndisponibles
comopaquetesadicionalesybibliotecasdedesarrollo.
Cabenotarque,comoproductodelapoyoqueelproyectoBeowulfhadadoaldesarrollode
Linux, todas las mejoras a los controladores de red de Linux realizadas por los
desarrolladoresdeBeowulfhansidoincorporadasacadanuevaversindelkerneldeLinux,
demodoqueestoscontroladoresnonecesitanobtenersedemaneraexterna.

22
4.2.HARDWARE
4.2.1.Comunicacinentrenodos
ElusodelaredEthernettieneciertasventajasycaractersticasinteresantes.Unadeellases
su facilidadde instalacin ybajocosto.Porotrolado, lapopularidad dela tecnologa
Ethernethallevadoadesarrollosquepermitenincrementareldesempeosegncrezcanlas
necesidades.Unclusterpuedebeneficiarseconelusodeswitches,quesegmentaneltrfico
enelbusEthernetyreducenlasaturacinycolisionesenelmismo.Ysepuedecontarcon
incrementos de desempeo inmediatos utilizando Fast Ethernet (100 Mbps) y Gigabit
Ethernet(1Gbps).
4.2.2.Consideracionesparaequipossindiscoduro
El uso de estaciones diskless (sin disco), como se conocen comnmente, est bastante
difundido,puespermiteundesempeoaceptableparaterminalesquenormalmentefungen
comodesplieguedeltrabajorealizadoenunservidormultiusuario.Lasterminalesdiskless
requieren unmnimo de trabajode mantenimiento yconfiguracin, y stos serealizan
bsicamenteenunservidorcentral,facilitandoestastareas.
Mayoritariamenteelrecursodeintersenlasestacionesessuprocesadorymemoria,como
elementosdetrabajobsicosdelcluster.Adicionalmente,nosepretendequelosusuarios
tenganaccesoaestasestacionesdirectamente.Latcnicadearranquedisklessproporciona
ventajas,comosonlacentralizacindetodoslosarchivosdelosnodosenunservidor
central,yciertaeconomaenlosrequerimientosdeequipo,puesseevitalanecesidadde
contarcondiscoduroencadaunodeellos.
Elusodeestatcnicaesunaextensindelusodelsistemadearchivosporred(NetworkFile
SystemoNFS).NFSnormalmenteseempleaparacompartirlosdirectoriosdeusuariosen
redesdeestacionesdetrabajo,yenclusterssueleemplearseparafacilitarladistribucinde
losprogramasaejecutar.
Estatcnicapresentadosdesventajas:
1. Laprimeraesqueseincrementaelusodediscoduroenelservidorcentral.
2. Lasegundaesunbajodesempeoenelaccesoaarchivosporpartedelosnodos.
Comolosnodosnocuentanconalmacenamientosecundariolocal,todointentode

23
accesoadiscoserealizaatravsdelaredysinosetieneunredlosuficientemente
rpidaestosaccesospuedentomarbastantetiempo.
4.3.SOFTWARE

4.3.1.Instalacinyarranquedelsistemaoperativoenelservidorcentral
El sistema operativo en el servidor central servir como base para la creacin de los
directoriososistemasdearchivosparalosnodos.Esteservidordebecontarconelsoftware
paraproporcionarlosserviciosrequeridosparaelarranqueyoperacindelosnodos.
4.3.2.Instalacinyconfiguracindesoftwaredeinicializacinenlosnodos(diskless)
Elarranqueremotodeestacionessindiscoduro,esunatcnicaquesepuedeemplearseen
los nodos, puede emplearse para diversos sistemas operativos de red, como Novell y
variantesdeUnix.ElmtodotradicionalconredesUnixinvolucra4etapas:
1. Alarrancarlacomputadora,secargaunprogramaconocidocomoarrancadorde
red.EsteesunprogramaquetradicionalmenteresideenunaROMdearranqueque
seencuentraenlatarjetadered.
2. ElarrancadorderedobtienesudireccinIPdeunservidor,utilizandolosprotocolos
BOOTP oDHCP.Conlos datos entregadosporelservidorelarrancadorde red
realizaconfiguracinbsicadelatarjetaderedparahacertransferenciasporTCP/IP.

3. ElarrancadorderedutilizaelprotocoloTFTPparatransferirunarchivodesdeel
servidor,cuyaubicacinnormalmenteseespecificacomopartedelaconfiguracin
recibidaporBOOTPoDHCP.Estearchivocomnmenteeselkernelquedebecargar
laestacinpararealizarsuarranque.
4. Unavezcargadoelkernel,terminaeltrabajodelarrancadordered;elkernelsecarga
normalmenteyrealizasuprocedimientodeinicio.

24
Comosepuedeapreciar,estoinvolucraconfiguracindetreselementosbsicos:

elarrancadorderedaejecutarenlosnodos

elservidorBOOTPoDHCP

yelservidordeTFTP

Estosdosltimoselementosseconfiguranenelservidor.
4.3.2.1AsignacinautomticadedireccinIP
Tanto el protocolo BOOTP (Bootstrap Protocol) como el DHCP (Dynamic Host
Configuration Protocol) permiten la asignacin de informacin de configuracin para
estaciones de trabajo desde un servidor central. En ambos casos el cliente realiza una
transmisin broadcast con su direccin de hardware (direccin MAC4). El servidor
BOOTP oDHCP tomaestapeticinyregresaalclientelainformacinrequerida,que
bsicamenteconstadeladireccinIPqueelclientedeberutilizar,yalgunosotrosdatos.De
particularimportanciaesunnombredearchivoqueayudaralclientearealizarsuarranque.
DHCPesunprotocolomssofisticadoycuyaconfiguracinesmsclaraqueladeBOOTP.
DHCPproporcionalaposibilidaddeenviarmsinformacinalclientequeBOOTP,ycuenta
conalgunascaractersticascomoasignacindinmicadedirecciones.
Elarchivodeconfiguracinesrelativamentesencillo,sinembargoesuntantoextensoya
que se requiere una seccin host para cada nodo del cluster. El archivo completo se
encuentraenelanexo(A).
Engeneralelarchivoconstadevariasseccioneshostquetienenelformatomostradoenel
siguienteejemplo:
host nodo1 {
fixed-address 192.168.10.68;
hardware ethernet 00:60:08:0B:5A:9E;
filename "/tftpboot/vmlinuz-nbi-2.2";
next-server 192.168.10.1;
option host-name "nodo1";
}

4 MediaAccessControl,controldeaccesoalmedio.TododispositivodereddebecontarconunadireccinMAC
nicaparaidentificacin.

25
Sepuedeapreciarlasmasimportantesqueencadaseccinhostseasignan:

LadireccinMAC(indicadaporelparmetrohardwareethernet).

LadireccinIPdecadanodo(fixedaddress).stasseasignandemaneraprogresiva
ycuidandoqueseannicasparacadahost.

Elnombre(hostname).

El nombre del archivo a cargar para el arranque (filename), que en este caso
especificalaruta,dentrodelservidorTFTP,deun kernel Linuxadecuadoparael
arranquedelosnodos.

Yelservidorqueentregarestearchivoalosclientes(nextserver).Larazndeeste
ltimo parmetroes queenocasiones sepuede tener unservidorTFTP que sea
distintodelservidorDHCP.

4.3.2.2.ServidordearchivosdearranqueTFTP
ElprotocoloTFTP(TrivialFileTransferProtocol)esunprotocolomuysencillo,basadoen
UDP,quepermitebajararchivosdeunservidor.Suprincipalutilidades,precisamente,para
proporcionararchivosdearranqueaequiposquenocuentanconalmacenamientolocal.
TFTPnocuentaconningunaclasedecontroldeacceso(contraseasonombresdeusuario).
EnelcasodeusarRedHatLinux,esteproporcionaunservidordetftp,contenidoenel
paquete tftpserver.Estepaqueteseencuentrainstaladoconlaconfiguracindepaquetes
descrita anteriormente, sin embargo se encuentra normalmente deshabilitado. Para
habilitarlosedebeagregarlasiguientelneaenelarchivodeconfiguracin/etc/inetd.conf

tftp dgram udp wait root /usr/sbin/tcpd

in.tftpd /tftpboot

Estaesunalneadeconfiguracintradicionaldelservidorinetd.Enestecasosehacenotar
queelltimoparmetro(/tftpboot)indicaeldirectorioquecontienelosarchivosacompartir
pormediodeTFTP.

26
4.3.2.3.Cargadordearranque
Elprogramaencargadodeiniciarlainterfazdered,obtenerlosdatosdeconfiguracin
bsicos,ycargarpormediodeTFTPelarchivoespecificadoenestaconfiguracin,esel
cargadordearranque.
PararealizaracaboestoexistendospaquetesquesonNetbootyEtherboot.
HistricamenteNetbootfueelprimeroenaparecer.Netbootutilizalos manejadores de
paquetes(packetdrivers)queseincluyenconcasicualquiertarjetaderedenelmercado,
teniendodeestamaneragrancompatibilidadconunaextensagamadetarjetas.
Etherbootesundesarrolloposterior,basadohastaciertopuntoenNetboot,peroquehasido
reescritoproporcionandounabasedecdigomslimpiaycompactaqueladeNetboot.
EtherbootutilizamanejadoresinternosygeneraunaimagenROMparacadatipodetarjeta
deredsoportada.Elusodemanejadoresinternospermitequelaimagentengauntamao
muyreducidoquenodaproblemasconningunatarjetaderedsoportada.Adems,yaquelos
manejadores fueron desarrollados explcitamente para Etherboot, cuentan con
autoconfiguracinparatarjetastipoISA,loquepermiteutilizarunasolaimagendearranque
paracadatipodetarjetas.
ElusodeEtherbootnoserecomiendasisetienentarjetasderedquenoestnsoportadas,ya
queelsoportedeNetbootesmsextenso.arautilizarlosedebeobtenerelcdigofuentede
lapginahttp://etherboot.sourceforge.net.
4.3.2.4Creacindelkernelparalosnodos
ElarchivoqueelservidorTFTPentregaralosnodosesunkerneldeLinuxfuncional.ste
asumeelcontroldelsistemayrealizaelarranquenormal.Yaquelaconfiguracinenlas
estaciones es bastante particular, el kernel debe contar internamente con las funciones
necesariasparainicializareldispositivodered,obtenersuconfiguracindeunservidor
remoto,ymontarsusistemadearchivosrazatravsdeNFS.Unavezrealizadasestas
funciones,elkernelinvocaalprocesoinit(funcionamientotradicionalenunsistemaUnix)y
elarranqueprosiguenormalmente.

27
LanaturalezamodulardelkerneldeLinuxpermiteunagraneficienciayversatilidadenel
manejodelosmdulosquecontrolanalosdispositivoseimplementanciertascaractersticas
anivelkernel.Estoesprcticosisecuentaconalmacenamientolocal,peroenelcasodeun
nodo sin dichas facilidades, se requiere que el kernel contenga internamente todas las
funcionesnecesariasparasuarranque,almenoshastaelmontajedelsistemadearchivos
raz. En el mbito de Linux, se dice que los mdulos necesarios deben compilarse
monolticamentedentrodelkernel.Enestecasonecesitamoscompilarmonolticamentelas
siguientesopcionesenelkernel:

Kernel level autoconfiguration. Permite al kernel obtener su informacin de


configuracinatravsdealgnprotocolocomoDHCPoBOOTP.

DHCPsupport

BOOTPsupport

NFSFilesystemSupport.Yaquetodoslossistemasdearchivosmontadosporlos
nodosresidirnenunservidorNFS,estaopcinesindispensableparalaoperacin
delosnodos.

RootFileSystemonNFS.Pormediodeestaopcin,elkernelmontaunsistemade
archivosenunservidorNFScomosusistemaraz.

Soporteparalastarjetasderedquesevallanautilizar.

4.3.3.OrganizacindesistemasdearchivosparaNFS
Cada nodo requiere un sistema de archivos raz que utilizar para el arranque. Estos
directoriosseexportarnatravsdeNFSydebencontenerlosarchivosnecesariosparael
arranquedelsistema.
LamayoradelasdistribucionesdeLinuxseadhierenaunestndarconocidocomoFHS
(FilesystemHierarchyStandard,estndardejerarquadelsistemadearchivos).Elobjetivo
decontarconesteestndareselhomologarlaorganizacindelossistemasdearchivosentre
las distribuciones de Linux, para mejorar la interoperabilidad entre las aplicaciones,
herramientasdeadministracindesistemas,herramientasdedesarrolloyscripts,ascomo

28
contar con una mayor uniformidad de uso y documentacin para los sistemas que se
adhierenelestndar.
FHSintentamantenerlacantidaddearchivoseneldirectoriorazalmnimo(salvoparalos
directorios/usr,/opty/vary/home)obedeciendoaalgunoscriteriosbsicos.Unodeellos
esparticularmenteimportanteparaestacionesdiskless:elsistemadearchivosrazcontiene
muchosarchivosdeconfiguracinespecficosacadasistema,comopuedeserconfiguracin
deredonombredelhost.Estoimplicaqueelsistemadearchivosraznosiempresepuede
compartirentresistemasenred.Elmantenerelsistemadearchivosrazlomscompacto
posibleminimizaelespaciodesperdiciadoporarchivosnocompartibles.Tambinpermite
minimizareltamaodelsistemadearchivosinicial,sealocaloremoto.
Losdirectoriosdenivelsuperior,comoloespecificaFHS,sonlossiguientes:

binbinariosdecomandosesenciales(usopblico)

bootarchivosestticosdearranquedelsistema

devarchivosdedispositivos

etcconfiguracinespecficadelsistema

homedirectoriosdeusuarios

libbibliotecascompartidasesenciales

mntpuntodemontajeparaotrossistemasdearchivos

optsoftwaredeaplicacinadicional

rootdirectoriodelsuperusuario

sbinbinariosesencialesdelsistema

tmparchivostemporales

usrjerarquasecundaria

vardatosvariables

Paralossistemasdearchivosdelosnodos,seomitirnlosdirectorios/usry/home,yaque
estosserncompartidosentretodoslosnodosyelservidorcentral.

29
Afindegenerarelsistemadearchivosparacadanodo,bajoeldirectorio/tftpbootsecrean
directoriosconelhostnamecorrespondienteacadanodo,porejemplo:/tftpboot/nodo1.
Bajocadaunodeestossedebecrearlajerarquarazparacadanodo.Paraestosimplemente
secopianlossubdirectoriosnecesariosdelservidor.Losdirectoriosacopiarson:

bin

dev

etc

lib

proc

root

sbin

tmp

var

Inicialmenteserealizanicamenteunacopiadeldirectorio.Posteriormentelaconfiguracin
pornodoserealizaenestacopia,yfinalmentesecreantantascopiasdelprimerdirectorio
comonodossetengan.
Inicialmenteserealizanicamenteunacopiadeldirectorio.Posteriormentelaconfiguracin
pornodoserealizaenestacopia,yfinalmentesecreantantascopiasdelprimerdirectorio
comonodossetengan.
Noserequierecopiareldirectorio/boot,quecontienelasimgenesejecutablesdelkernel
paraelserver,puestoquelosnodosyahancargadosukernelatravsdeTFTP.
Segn la especificacin FHS, el directorio /usr debe contener nicamente informacin
compartibleydeslolectura.Estonosgarantizaquealcompartirloentretodoslosnodos,no
setendrnproblemasdeinconsistenciaosincronizacin.Eldirectorio/homesecomparte
bajoelmismomecanismo.Deestamaneratodaslasentradasyadministracindeusuarios
serealizanenelservidorcentral,loscambiosyarchivosdelosusuariossecompartenentre
todoslosnodos.

30
4.3.4.ServidorNFS
El sistema de archivos en red (NFS) permite acceder a archivos ubicados en sistemas
remotostalcomosiseencontraranlocalmente.Enestecasoesdegranimportanciayaquea
travsdeNFSseproporcionarnlossistemasdearchivosrazyunreacompartidaparalos
nodosdel cluster.ElprotocoloNFSfuedesarrolladoporSunMicrosystems,aunqueest
tambinpublicadoenelRFC1094,porlotantosuusoestmuydifundidocomounodelos
principalesmecanismosparacompartirarchivosenredesderealocal.
LinuxcuentaconimplementacionesNFStantoparaclientescomoparaservidores.Comose
explic,elsoporteparaclienteNFSsecompiladirectamenteenel kernel.Aselkernel
puedemontardirectamentesistemasdearchivosqueresidenenotrosservidores.
ElsoftwarequepermiteaLinuxfungircomoservidorNFSestcontenidoenelpaquetenfs
utils.steseincluyeenladistribucinRedHat,sinembargonoseinstalapordefaultporlo
quesedebeagregarposteriormente.TambiensedebehabilitarelservicioNFS,demodoque
aliniciarelsistemaarranqueeldemonioNFS.
El demonio NFS requiere unarchivo deconfiguracin que le indique qusistemas de
archivosydirectoriosdebeexportar,ohacerdisponibles,ascomovariosparmetrosque
controlanelaccesoquelosclientestendrnaestossistemasdearchivos.
Elarchivodeconfiguracinquesedebecreares /etc/exports.Estearchivoquedacomo
sigue:
/tftpboot 192.168.10.0/255.255.255.0(rw,no_root_squash)
/home 192.168.10.0/255.255.255.0(rw,no_root_squash)
/usr 192.168.10.0/255.255.255.0(rw,no_root_squash)

Cadalneaindicaeldirectorioaexportar,seguidodeopcionesquecontrolanelaccesoal
recurso.Enestecasoestamosespecificandoquelosdirectoriossolopodrnserexportadosa
hosts condireccinIPdentrodelasubred192.168.10.0ymscara255.255.255.0(locual
correspondeprecisamentealasubredqueestamosempleandoparalosnodosdelcluster).

31
Losparmetrosentreparntesisindicanlosprivilegiosconqueseexportaelrecurso.
Enestecasoespecificamos rw (read/write),locualindicaquesepermitenpeticionesde
lecturayescrituraenelsistemaexportado.Comnmenteseespecificalaopcinro(read
only),peroenestecasoserequiereaccesototalporquelosnodosrequerirnlacapacidadde
escribirensussistemasdearchivosremotos.
El parmetro no_root_squash desactiva el aplastamiento de root, que es el
comportamientoporomisinalexportarporNFS.Normalmente,paraevitarqueunsistema
remotomonteunsistemadearchivosyelsuperusuariodeesesistematengaaccesototala
nuestrosistema,elNFSmapealaspeticionesrealizadasporelusuariocon uid 0aun
usuarioannimoconprivilegiosmnimos.Enestecasosedeseaquelosaccesosconuid0
no tengan un mapeo a un uid5 diferente, pues en los nodos s se requieren accesos
privilegiados.Estonorepresentaunriesgodeseguridadporqueenestecasolosaccesos
privilegiados estn restringidos a los nodos, sobre los cuales se tiene bastante control
administrativo.
4.3.5.Configuracinpornodo
4.3.5.1.Montajedelossistemasdearchivosremotos
Noesnecesariotomarpasosadicionalesparaquecadanodomontesusistemadearchivos
raz. Como parte del arranque, el kernel montar el directorio NFS
192.168.10.1:/tftpboot/hostnamecomosudirectorioraz.
Elarchivoqueindicalossistemasdearchivosamontarunaveziniciadoelsistemaesel
/etc/fstab.Yaquelaconfiguracinserlamismaparatodoslosnodos,esconveniente
realizar el cambio primero en el directorio nodo1 que se cre para su posterior
duplicacin.

5 EnsistemasUNIX,cadausuarioesidentificadoporunvalornumricoconocidocomouidoUserID.

32
Paraquelosnodosmontenlossistemasdearchivoscompartidos(/homey/usr),elarchivo
/etc/fstabdebequedarcomosigue:

none

/proc

proc

defaults

0 0

none

/dev/pts

devpts

gid=5,mode=620

0 0

192.168.10.1:/usr

/usr

nfs

defaults

0 0

192.168.10.1:/home

/home

nfs

defaults

0 0

Cadalneadebetener6elementosseparadosporespacios.
El primer elemento es el nombre o identificador del dispositivo a montar. El segundo
elementoeseldirectoriosobreelcualsedebemontar.Elterceroindicaeltipodesistemade
archivosqueseencuentraeneldispositivo.Elcuartoindicaparmetrosdemontajeparael
dispositivo.Losdosltimoselementosindicanelordenenquesedeberespaldarelsistema
dearchivosutilizandoelcomandodump.

Enestecasolasdosprimeraslneasestnconfiguradasdeantemano.Laprimeraindicael
montajedelsistemadearchivosproc,quecontieneinformacindetiempodeejecucindel
sistemaysegeneradinmicamente.Lasegundaindicaelmontajedelsistemadearchivos
devpts,quegeneradinmicamentelasterminalesvirtualesparaaccesoremotoalsistema.
Lasdoslneassiguientesindicanelmontajedelossistemas/usry/home.stossemontana
travsdeNFS(nteseeltercerparmetroespecificandoeltipodesistemadearchivos).La
sintaxisparadenotareldispositivoamontaresservidor:directorio.Estasdoslneasmontan
losdirectorios/usry/homedelservidorenlamismaubicacinencadanodo.

4.3.5.2.ConfiguracinclienteNIS6
AfindequeunnodoclientepuedacompartirlainformacindeunservidorNIS,serequiere
ejecutarunprogramaqueloenlacealdominioNIScorrespondiente,demodoque,cuando
6 NetworkInformationService(conocidoporsuacrnimoNIS,queenespaolsignificaSistemadeInformacinde
Red),eselnombredeunprotocolodeserviciodedirectoriosclienteservidordesarrolladoporSunMicrosystems
paraelenvodedatosdeconfiguracinensistemasdistribuidostalescomonombresdeusuariosyhostsentre
computadorassobreunared.

33
algnprogramasoliciteinformacindelasbasesdedatoscompartidas,stapuedaobtenerse
del servidor NIS, y no de los archivos locales. De esta manera se asegura que existe
consistenciadeinformacinentrelosclientesdeldominioNIS,quecomosemencionaba
anteriormente,esnecesaria,enparticularparaasegurarquelainformacindelospermisos
sobrelosarchivossealamismaparatodoslosnodos.
ElclienteNISrequierefijarelnombrededominioNISalquevaapertenecer,demanera
similaraladelservidorNIS,pormediodelprogramadomainname:

# domainname DOMINIO

Deestamaneraseindicaalsistemaquepertenecealdominiotornado.Paranotenerque
realizaresteprocedimientocadavezqueseiniciaelsistemasepuedeaadirlasiguiente
lneaenelarchivo/etc/sysconfig/network:

NISDOMAIN="DOMINIO"

Seobservaqueesteprocedimientoesigualtantoenelclientecomoenelservidor.
UnavezquesehafijadoelvalordelavariableNISDOMAIN,serequiereindicarelservidor
queatenderlaspeticionesNIS.Estoseconfiguraenelarchivo/etc/yp.conf.Seagregala
siguientelneaalarchivo:
ypserver 192.168.10.1

Obsrveseque192.168.10.1esladireccinIPdelservidorNIS.
FinalmenteelclienteNISdebeejecutarelprogramaqueejecutalaspeticionesalservidor
NIS,llamado ypbind.Denuevoseobservaelprefijo yp,enestecasoelnombredela
utilera indica que se amarra o une (bind) el cliente al dominio NIS previamente
especificado.

34
4.3.6.Archivo/etc/hosts
El archivo /etc/hosts contiene una lista de mapeos de nombres a direcciones IP. Esta
informacin es necesaria para la correcta operacin del sistema. Adicionalmente, este
archivoesunodelosarchivoscompartidosatravsdeNIS,demodoquenicamentese
necesita modificar en el servidor central para que todos los nodos tengan la misma
informacin.
ElarchivocontieneunalistadedireccionesIPseguidasdenombressimblicos.Elcontenido
delarchivopuedesercomosigue:
127.0.0.1

localhost

192.168.10.1

DOMINIO

#nodos
192.168.10.68

nodo1

192.168.10.69

nodo2

192.168.10.70

nodo3

192.168.10.71

nodo4

Unavezagregadainformacinalarchivo,esimportanterecrearlosmapasdeNIS,comose
mencionaenlaseccinanterior,ejecutandoelcomandomakeeneldirectorio/var/yp.De
otro modo los nodos notendrnaccesoaesta informacinyel sistema nofuncionar
adecuadamente.

35

CONCLUSION
Bsicamente este informe estuvo destinado a conocer los elementos necesarios para la
construccin de un cluster Beowulf, no tanto en su aplicacin practica pero si
mayoritariamente terica debido a los pocos recursos con los que se contaban para el
desarrollodeltema.
Ademssedieronaconoceralgunasdelasconfiguracionesnecesariasparainstalarnodosde
tipo diskless que son los mas usados en aplicaciones que trabajan con procesamiento
paralelo.

36

REFERENCIAS

http://es.wikipedia.org/wiki/Cluster_(informC3%A1tica)#Componentes_de_un_Cluster

http://www.cecalc.ula.ve/documentacion/tutoriales/beowulf/node1.html

http://publiespe.espe.edu.ec/articulos/sistemas/arquitectura/arquitectura.htm

http://www.tomechangosubanana.com/tesis/escrito-1-split/node1.html

http://talika.eii.us.es/~rosa/clustering.pdf

http://www.bioingenieria.edu.ar/grupos/cibernetica/milone/pubs/cluster_RCDT2002draf
t.pdf

37

ANEXO
A.EJEMPLODECONFIGURACIONDELDEMONIODHCP
server-identifier tornado;

#Opciones comunes a todas las subredes soportadas


option domain-name "unam.mx";
option domain-name-servers 132.248.10.2;
#asignacion dinamica.. notese que en este caso solo
#especificamos las subredes en las que se encuentra el
#servidor, puesto que no vamos a realizar asignacin
#dinmica hay dos declaraciones de subred
#correspondientes a cada una de las interfases que
#tenemos.
shared-network DOMINIO{
subnet 192.168.10.0 netmask 255.255.255.0 {
option broadcast-address 192.168.10.255;
}
}
subnet 192.168.1.0 netmask 255.255.255.0 { }
#
#
#
#
#
#

A partir de aqu especificamos la configuracin por


host. cada bloque especifica un host, notar la
direccin IP fija, el hostname que se asignar a
cada nodo, y la direccion hardware ethernet que
especifica a que direccion MAC se asignarn
estos datos.

host nodo1 {
fixed-address 192.168.10.68;
hardware ethernet 00:60:08:0B:5A:9E;
filename "/tftpboot/vmlinuz-nbi-2.2";
next-server 192.168.10.1;
option host-name "nodo1";
}
host nodo2 {
fixed-address 192.168.10.69;
hardware ethernet 00:80:AD:30:49:D4;
filename "/tftpboot/vmlinuz-nbi-2.2";
next-server 192.168.10.1;
option host-name "nodo2";
}

También podría gustarte