Gentoo Logo

openMosix Cluster på Gentoo

Indhold:

1.  Introduktion

Om denne HOWTO

Denne HOWTO vil hjælpe dig med at lave en openMosix cluster. Den vil være baseret omkring Gentoo Linux distributionen. Vores intention er, at lave dette så brugervenligt som muligt og hjælpe Linux nybegynderen. Hvor en erfaren bruger nemt kunne flette de mange HOWTO'er omkring openMosix, diskfri noder og netværk sammen, da håber vi, at denne HOWTO kan lette proceduren for brugere med mindre erfaring.

Bemærk: Hvis du planlægger at sætte din openMosix cluster op med diskfri noder, så bør du læse kerne-sektionen nedenfor, og for at lære hvordan man kompilerer en kerne med openMosix understøttelse, læs derefter vores diskless HOWTO(engelsk), og kom tilbage hertil for at fortsætte med den faktiske installation af clusteren.

Om openMosix

OpenMosix er en patch til Linux-kernen, der tillader flere værter at virke, som et single system image (SSI). Dette resulterer i flere værter, der virker som én stor vært med flere processorer. I skrivende stund er den nyeste udgivelse af openMosix-kerne-patchen version 2.4.22 og openMosix-brugerværktøjerne har version 0.3.4. Der er et stort udvalg af information omkring openMosix på http://openmosix.sourceforge.net. Det er ikke nemt at lave clusters med forskellige versioner af patchet kerne-kildekoder, og vi har fundet ud af, at de fleste patcher ikke er bagudkompatible. OpenMosix migrerer tunge procesdelninger. Det vil ikke migrere lette processer såsom p-tråde, eller tunge processer der bruger delt hukommelse.

For at få mere information omkring openMosix, besøg da deres hjemmeside.

Om clusteren

Vores cluster vil bestå af individuelle computere (noder), der deler udregningsmæssige ressourcer i et forsøg på, at forhøje den udregnigsmæssige kraft i alle noderne. Ikke alle noderne behøves at have den samme arkitektur, men det gør opgaven, at samle dem i en cluster, meget nemmere.

Før du starter

Du bør have Gentoo installeret på de computere, du ønsker at bringe ind i din cluster. Derudover bør du have openMosix-kerne-kildekoden, som belejligt er blevet patchet af Gentoo.

For at få denne kildekode, skal du bare bruge emerge:

Kode oversigt 1.1: At skaffe den patchede kerne kode

# emerge openmosix-sources

2.  At opsætte kernen

Om kerner

Kernen er den software, der sidder mellem din hardware og alt andet software du har kørende på din maskine, essentielt er det hjertet af et kernebaseret operativsystem. Når din computer er startet, eksekverer BIOS'en de instruktioner, der findes på den reserverede boot plads af din harddisk. Disse instruktioner er typisk en boot-loader, der henter din kerne. Efter at din kerne er blevet hentet, håndteres alle processer af kernen.

For at få mere information omkring kerne og konfiguration af kerner vil du måske ønske at tjekke kerne HOWTO ud.

At opsætte kernen

Kernen kan være så stor og så tilpasset, som du ønsker den, men der er et par kerne muligheder, der skal være valgt.

Vigtigt: Det er ekstremt vigtigt at linke /usr/src/linux til openmosix-kildekoden, som vist nedenfor.

Kode oversigt 2.1: At sætte /usr/src/linux til openmosix

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

Gå derefter til opsætning af din kerne:

Kode oversigt 2.2: At ændre opsætningen af kernen

# cd /usr/src/linux
# make menuconfig

Du bør få et grå og blåt GUI, der giver et sikkert alternativ til at redigere /usr/src/linux/.config filen manuelt. Hvis din kerne virker godt pt. vil du måske ønske at lave backup af din nuværende opsætningsfil:

Kode oversigt 2.3: At lave backup af kerne-opsætningen

# cp .config .config_working

Den allerøverste menu bør hedde openMosix --->. Hvis den ikke gør det, bliver du nødt til at emerge kerne kildekoden med openMosix patchen (se Før du starter). Gå til den følgende undermenu og vær sikker på, at de følgende ting er valgt som indbygget (og IKKE som modul):

Kode oversigt 2.4: Menuconfig muligheder

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 

Bemærk: Disse kerne-opsætningsmuligheder bør kun blive tilføjet til din systemsspecifikke opsætning og er ikke ment til at udskifte denne fuldstændigt.

Efter at du har opsat kernen igen, skal du også bygge den igen:

Kode oversigt 2.5: At kompilere kernen og moduler

# make dep
# make clean bzImage modules modules_install
(Vær sikker på at /boot er mountet før der bliver kopieret
derind)
# cp arch/i386/boot/bzImage /boot/bzImage-openmosix

Tilføj så en indgang til den nye kerne i lilo.conf eller grub.conf (afhængigt af hvilken boot-loader du bruger) og gør den nye kerne til et standardvalg. Nu hvor det nye bzImage er blevet kopieret ind i dit /boot-bibliotek, så er det eneste du skal gøre, at genstarte dit system.

Manglende muligheder

Hvis du mangler muligheder i din kernes opsætning, så vær sikker på at du vælger:

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

3.  Opsætning af openMosix noderne

At installere openMosix-brugerværktøjer

For at clusteren er i stand til at migrere processer, skal nogle få binære filer til brugerne være installeret. Derudover skal en openMosix-server være startet for at en node kan tilføjes til en cluster og gøre fuld brug af openMosix-egenskaberne. For at få disse binære filer skal du bruge emerge:

Kode oversigt 3.1: At installere openMosix-brugerværktøjerne

# emerge openmosix-user

At opsætte openMosix noder

At redigere eller lave /etc/openmosix.map er ikke længere nødvendigt. De nyere udgaver af brugerværktøjerne har en daemon (baggrundsprocess), der automatisk finder alle noder på dit netværk.

Lav biblioteket /mfs på hver node og mount det, hvis du vil bruge openMosix filsystemet (anbefales klart), der tillader dig adgang til alle dine noder.

Kode oversigt 3.2: mkdir /mfs

# mkdir /mfs

Kode oversigt 3.3: Enkel indgang i /etc/fstab

none                    /mfs            mfs             noauto,dfsa=1          0 0

Bemærk: Ikke alle noder behøves at være oppe at køre for at openMosix fungerer korrekt.

At starte openMosix

At starte openMosix er meget simpelt. Den følgende kommando vil starte openMosix funktionaliteten i din kerne og starte den daemon, der automatisk holder styr på alle tilgængelige noder.

Kode oversigt 3.4: At starte openMosix

# /etc/init.d/openmosix start

4.  openMosix-brugerværktøjer

Kommandolinie værktøjer

openMosix-user installerer adskillige brugbare værktøjer på dit system. For at nævne nogle få:

  • mosmon - openMosix monitor. Tillader dig at se alle dine noder, inklusiv brug af cpu, installeret hukommelse, brugt hukommelse, osv.
  • mtop - Forbedret udgave af top der viser dig på hvilken node en proces rent faktisk kører.
  • mps - Forbedret udgave af ps. Viser også nodens nummer.
  • mosctl whois - Denne er meget brugbar, da mosmon og de andre værktøjer kun fortæller hvilket nodenummer, der kører. Med mosctl whois nodenumber kan du finde ud af ip'en eller værtsnavnet på den node.

openMosix-stresstesten kan bruges til at teste om alt på din cluster virker som det skal og hvordan det opfører sig under belastning. Denne pakke hedder openmosixtest:

Kode oversigt 4.1: At emerge openmosixtest

# emerge openmosixtest

Denne ebuild bør informere dig om, hvordan du kører testen.

Grafiske værktøjer

For at få et grafisk overblik over din cluster og se hvilke processer der bliver migreret kan du bruge openmosixview.

Kode oversigt 4.2: At emerge openmosixview

# emerge openmosixview

For at køre denne vidunderlige applikation, skal du bare skrive openmosixview:

Kode oversigt 4.3: At starte openmosixview

# openmosixview

5.  Ressourcer

openMosix

openMosix tilføjelser (ebuilds er tilgængelige)



Udskriv

Opdateret 20. november 2003

The original version of this translation is not maintained anymore

Opsummering: Denne HOWTO vil hjælpe dig med at lave en openMosix cluster under Gentoo.

Michael Imhof
Forfatter

Michael Andrews
Forfatter

Sven Vermeulen
Reviewer

Xavier Neys
Reviewer

Arne Mejlholm
Oversætter

Jesper Brodersen
Korrektur

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark

Linux World Expo

Linux World Expo

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