Gentoo Logo

Cluster cu openMosix pe Gentoo

Conţinut:

1.  Introducere

Despre acest ghid

Acest ghid vă ajută la crearea unui cluster folosind openMosix. El va fi construit în jurul distribuţiei de Linux, Gentoo. Avem de gând să facem cât mai uşoară folosirea şi de către începători în Linux. În timp ce utilizatorii experimentaţi pot folosi mai multe ghiduri disponibile pentru openMosix, noduri fără disk şi în reţea, noi sperăm că acest ghid să fie util utilizatorilor mai puţin experimentaţi.

Notă: Dacă aveţi de gând să configuraţi un cluster openMosix folosind noduri fără disk, ar trebui să citiţi secţiunea kernel pentru a învăţa cum se compilează un kernel cu suportul pentru openMosix, ar trebui să citiţi Ghidul pentru Sisteme fără Disc, şi reveniţi aici pentru implementarea efectivă a clusterului.

Despre openMosix

OpenMosix este un patch pentru kernel-ul linux care permite ca mai multe sisteme să acţioneze ca unul singur (SSI). Aceasta rezultă în mai multe sisteme gazdă să pară ca un singur sistem multiprocesor. În momentul scrierii acestui articol, ultima versiune a patch-ului openMosix era pentru kernel-ul 2.4.22, şi utilitarele pentru utilizator la versiunea 0.3.4. Găsiţi o varietate mare de informaţii despre openMosix la http://openmosix.sourceforge.net. Nu este uşoară folosirea unor versiuni diferite de surse kernel cărora li s-au aplicat patch-uri, şi am aflat că majoritatea noilor patch-uri nu sunt compatibile cu versiunile mai vechi. OpenMosix migrează explicit numai procesele a.out şi binarele ELF sau când un proces mare se efectuează fork. Nu va migra procesele aplicaţiile gen p-thread, sau procesele care folosesc aceeaşi zonă de memorie.

Pentru mai multe informaţii despre openMosix vizitaţi pagina lor oficială.

Despre cluster

Clusterul nostru va fi compus din calculatoare individuale (noduri) care împart resursele de calcul într-un efort de creştere a puterii de calcul a tuturor nodurilor. Nu toate nodurile trebuie să fie aceeaşi arhitectura, lucru care face realizarea clusterelor mult mai uşoară.

Înainte de a începe

Ar trebui să fie instalat Gentoo pe calculatoarele care doriţi să facă parte din cluster. Adiţional mai este necesar să aveţi sursele kernel-ului openMosix care căruia i-au fost aplicate patch-uri de către Gentoo.

Pentru a instala sursele acestea folosiţi emerge:

Cod 1.1: Instalarea surselor de kernel cu patch-uri

# emerge openmosix-sources

2.  Configurarea kernel-ului

Despre kernel-uri

Kernel-ul este acea aplicaţie care se află între partea hardware şi celelalte aplicaţii care sunt încărcate în acel sistem, în esenţă, baza pentru un sistem de operare bazat pe kernel. Când sistemul dumneavoastră este pornit, aplicaţia BIOS execută o serie de instrucţiuni care sunt în spaţiul rezervat pentru boot al discului dvs. Aceste instrucţiuni formează, practic, aplicaţia bootloader care încarcă kernel-ul. După ce kernel-ul s-a încărcat toate procesele sunt manipulate de kernel.

Pentru mai multe informaţii despre kernel şi configurarea acestuia ar trebui să consultaţi pagina Ghidului pentru kernel.

Configurarea kernel-ului

Kernel-ul poate fi cât de mare şi personalizat doriţi dumneavoastră, dar sunt unele opţiuni necesare care trebuie a fi selectate.

Important: Este foarte important să aveţi calea /usr/src/linux indicând către sursele openmosix aşa cum este mai jos.

Cod 2.1: Setarea /usr/src/linux să indice către sursele openmosix

# cd /usr/src
# rm linux
# ln -s linux-2.4.22-openmosix linux

Apoi, rulaţi configurarea kernel-ului:

Cod 2.2: Editarea configuraţiei kernel-ului

# cd /usr/src/linux
# make menuconfig

Ar trebui să vi se afişeze o interfaţă albastru cu gri care oferă o alternativă sigură pentru editarea fişierului /usr/src/linux/.config. Dacă kernel-ul curent funcţionează corect ar trebui să faceţi o copie de siguranţă la fişierul ce conţine configuraţia curentă.

Cod 2.3: Copie de siguranţă la configuraţia kernel-ului

# cp .config .config_working

În meniul de sus ar trebui să fie afişat openMosix --->. Dacă nu este, trebuie să instalaţi sursa kernel-ului cu patch-ul pentru openMosix (consultaţi secţiunea Înainte de a începe). Navigaţi în submeniurile următoare şi asiguraţi-vă că următoarele opţiuni sunt selectate (dar NU ca modul):

Cod 2.4: Opţiuni menuconfig

openMosix --->
    [*] openMosix process migration support
    [ ] Support clusters with a complex network topology
    [*] Stricter security on openMosix ports
    (1) Level of process-identity disclosure (0-3)
    [*] openMosix File-System
    [ ] Poll/Select exceptions on pipes
    [ ] Disable OOM Killer
    [ ] Load Limit

Code maturity level options  --->
    [*] Prompt for development and/or incomplete code/drivers

Networking options --->
    <*> Packet socket
    [ ]   Packet socket: mmapped IO
    < > Netlink device emulation
    [ ] Network packet filtering (replaces ipchains)
    [ ] Socket Filtering
    <*> Unix domain sockets
    [*] TCP/IP networking
    [*]   IP: multicasting

File systems --->
    [*] /proc file system support
    [*] /dev file system support (EXPERIMENTAL)
    [*]   Automatically mount at boot 

Notă: Aceste configurări de kernel trebuie să fie adăugate la configuraţia specifică sistemului dvs. şi nu intenţionate pentru a fi înlocuite definitiv cu opţiunile specificate mai sus.

După ce aţi reconfigurat kernel-ul ar trebui să îl compilaţi:

Cod 2.5: Recompilarea kernel-ului şi a modulelor

# make dep
# make clean bzImage modules modules_install
(Aveţi grijă ca /boot să fie montat înainte să îl copiaţi)
# cp arch/i386/boot/bzImage /boot/bzImage-openmosix

Apoi adăugaţi o intrare pentru noul kernel în lilo.conf sau grub.conf (depinde ce aplicaţie bootloader folosiţi) şi faceţi noul kernel să fie cel implicit. Acum, că aţi copiat bzImage în directorul /boot trebuie doar să reporniţi sistemul.

Lipsesc Opţiuni

Dacă vă lipsesc opţiuni la configurarea kernel-ului aveţi grijă să fie selectat:

  • Code maturity level options --->
    • Prompt for development and/or incomplete code/drivers

3.  Configurarea nodurilor openMosix

Instalarea utilitarelor openMosix

Pentru ca sistemul cluster să poată migra procesele, sunt necesare să fie instalate o serie de binare în zona utilizator. Adiţional, un server openMosix trebuie pornit pentru ca un nod să intre în cluster şi să folosească capabilităţile openMosix. Pentru a lua aceste binare şi fişiere, folosiţi emerge:

Cod 3.1: Instalarea utilitarelor openMosix

# emerge openmosix-user

Configurarea nodurilor openMosix

Editarea şi crearea /etc/openmosix.map nu mai este necesară. Noile versiuni de utilitare au o aplicaţie daemon care află automat nodurile disponibile din reţeaua dumneavoastră.

Creaţi un director /mfs în fiecare nod şi mount-aţi-l dacă doriţi să folosiţi sistemul de fişiere openMosix (foarte recomandat) care permite accesul la toate nodurile.

Cod 3.2: mkdir /mfs

# mkdir /mfs

Cod 3.3: Exemplu de intrare în /etc/fstab

none                    /mfs            mfs             noauto,dfsa=1          0 0

Notă: Nu toate nodurile trebuie să ruleze pentru ca openMosix să funcţioneze corect.

Pornirea openMosix

Pornirea openMosix este foarte uşoară. Următoarea comandă va activa funcţionalitatea openMosix în kernel şi va porni aplicaţia daemon care descoperă nodurile disponibile şi ţine evidenţa lor.

Cod 3.4: Pornirea openMosix

# /etc/init.d/openmosix start

4.  Utilitarele openMosix pentru zona utilizator

Utilitare din linia de comandă

openMosix-user instalează câteva instrumente utile în sistem. Pentru a numi câteva:

  • mosmon - openMosix monitor. Vă permite să vedeţi starea curentă a tuturor nodurilor cum ar fi: utilizarea procesorului, memoria instalată, memoria disponibilă, etc.
  • mtop - Versiune îmbunătăţită a comenzii top care arată în ce nod rulează un proces.
  • mps - Versiune îmbunătăţită a comenzii ps. Arătă şi numărul nodului.
  • mosctl whois - Este foarte util deoarece mosmon şi celelalte instrumente arată numai numărul nodului. Cu mosctl whois nodenumber vă puteţi da seama de adresa IP sau numele sistemului gazdă al unui nod.

openMosix stress test poate fi folosit pentru a testa dacă totul funcţionează corect când clusterul este foarte încărcat. Pachetul se numeşte openmosixtest:

Cod 4.1: Instalarea openmosixtest

# emerge openmosixtest

Pachetul ebuild ar trebui să vă informeze cum să rulaţi testul.

Utilitare în mod grafic

Pentru a vedea grafic situaţia clusterelor şi a proceselor care sunt migrate, puteţi folosi openmosixview.

Cod 4.2: Instalarea openmosixview

# emerge openmosixview

Pentru a rula această aplicaţie tastaţi openmosixview:

Cod 4.3: Rularea openmosixview

# openmosixview

5.  Resurse

openMosix

aplicaţii adiţionale openMosix (sunt disponibile pachete ebuild)



Imprimare

Actualizat la 20 Noiembrie 2003

Versiunea originală a acestei traduceri nu mai este întreţinută

Sumar: Acest ghid vă ajută la crearea de clustere folosind OpenMosix şi Gentoo.

Michael Imhof
Autor

Michael Andrews
Autor

Sven Vermeulen
Corector

Xavier Neys
Corector

Spoială Cristian
Translator

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.