Delprosjekt:
Hardwarestatus på Al Mashriq

Ansvarlig:

Thomas Gundersen (thomas.m.gundersen@hiof.no)

Innledning

Ved prosjektstart viste det seg at flere av de andre delprosjektene sårt trengte mer plass for å kunne gjennomføres. Vi bestemte oss derfor å titte litt nærmere på serveren for å se om det var behov for flere utbedringer en bare større diskplass.

Mål med prosjektet

Skaffe til veie en oversikt over edmund2, slik at vi eventuellt kan anbefalle utbedringer til It-drift.

Gjennomføring

Al Mashriq er en Intel Pentum-maskin av noe eldre utgave med 64MB ram. Ellers består softwaren av Slackware Linux og Apache Webserver. Grunnlaget for en webserver er så absolutt tilstede, men maskinen hadde ved prosjektstart høyt minneforbruk og en høy load. Dette gav seg utslag på at maskinen hadde høy responstid, samt at det ble gjort stadige core-dumps. Ved å benytte oss av en rekke systemkommandoer, kunne vi ta rede på hva som foregikk på serveren, samt at vi kunne hente ut en del systeminformasjon.

  • df - Gir en oversikt over brukt/ledig plass på harddiskpartisjonen(e).
  • free - Gir oversikt over hvor mye minne som er brukt/tilgjengelig. Viser i tillegg informasjon om swapminne.
  • du - Viser diskforbruk for oppgitt path. Bruk "-s" ved oppramsing av mange kataloger.
  • top - Gir løpende oversikt over minne og cpu-forbruk på maskinen i tillegg til hvilke prosesser som kjører nå.
  • uptime - Forteller oss hvor lenge maskinen har gått siden forrige oppstart samt prosessorforbruk.

Ved prosjektstart ga top dette resultatet:

  2:16pm  up 6 days, 21:31,  2 users,  load average: 2.18, 2.11, 2.26
56 processes: 51 sleeping, 4 running, 0 zombie, 1 stopped
CPU states: 88.0% user, 19.6% system, 106.8% nice,  0.0% idle
Mem:  63156K av, 42192K used, 20964K free, 16268K shrd,  4732K buff
Swap: 130748K av, 24584K used, 106164K free               24876K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT  LIB %CPU %MEM   TIME COMMAND
 1784 almash    13   0   240  144    84 R       0 96.5  0.2 3490:21 format_weekl
y
29012 almash     2   0   456  456   344 R       0 10.3  0.7   0:00 top
28151 almash     0   0  3240 3240  2084 S       0  0.9  5.1   0:05 emacs
    1 root       0   0   112   60    44 S       0  0.0  0.0   0:18 init
    2 root       0   0     0    0     0 SW      0  0.0  0.0   0:01 kflushd
    3 root     -12 -12     0    0     0 SW<     0  0.0  0.0   0:02 kswapd
    4 root       0   0     0    0     0 SW      0  0.0  0.0   0:00 nfsiod
    5 root       0   0     0    0     0 SW      0  0.0  0.0   0:00 nfsiod
    6 root       0   0     0    0     0 SW      0  0.0  0.0   0:00 nfsiod
    7 root       0   0     0    0     0 SW      0  0.0  0.0   0:00 nfsiod
   91 root       0   0    56    0     0 SW      0  0.0  0.0   0:00 agetty
27963 root       0   0   912  908   456 S       0  0.0  1.4   0:00 sshd
   14 root       0   0    96   44    32 S       0  0.0  0.0   0:00 kerneld
 1154 almash     0   0   156   44    44 S       0  0.0  0.0   0:00 week.cron
   13 root       0   0    76   40    28 S       0  0.0  0.0   0:17 update
   50 root       0   0   104   32    32 S       0  0.0  0.0   0:00 klogd
   51 root       0   0   196  148   112 S       0  0.0  0.2   0:02 syslogd
   53 bin        0   0    68    8     8 S       0  0.0  0.0   0:00 rpc.portmap
   55 root       0   0    60    0     0 SW      0  0.0  0.0   0:00 inetd
   57 root       0   0    60    0     0 SW      0  0.0  0.0   0:00 lpd
   59 root       0   0    92   48    32 S       0  0.0  0.0   0:00 lpd
   60 root       0   0   128   64    40 S       0  0.0  0.1   0:00 rpc.mountd
   62 root       0   0   128   64    40 S       0  0.0  0.1   0:00 rpc.nfsd
   64 root       0   0   208  184   140 S       0  0.0  0.2   0:02 crond
   70 root       0   0   380  224   172 S       0  0.0  0.3   0:00 sendmail
   90 root       0   0   160    8     8 S       0  0.0  0.0   0:00 nlservd
   80 root       0   0   200   76    52 S       0  0.0  0.1   0:00 httpd
29013 almash    19  19  6872 3884  3800 R N     0  0.0  6.1   0:00 webxref
28772 nobody     0   0   588  548   412 S       0  0.0  0.8   0:00 httpd
 6897 almash     0   0   100   24    24 S       0  0.0  0.0   0:00 webxref.cron
28655 nobody     0   0   616  576   428 S       0  0.0  0.9   0:00 httpd
  
Som vi ser hadde Al Mashriq ved dette tilfellet en veldig høy load, men ut i fra denne utskriften av top kan vi ikke se hva som ligger til grunn for dette. (For å kunne se dette må vi benytte oss av noen av de valgene som finnes i top. Vi kan få frem disse valgene ved å trykke på ?.)

I tillegg er minneforbruket veldig høyt i forhold til tiden makinen har gått siden forrige stans. Noe av minneforbruket kan forklares i måten Linux håndterer minnet på. Men maskinen benytter også mye swapminne, så det virker som om det kan være minnelekasjer eller prosesser som ikke får avsluttet.

df ga en utskrift som så slik ut:

Filesystem         1024-blocks  Used Available Capacity Mounted on
  /dev/sda1             497667  445960    26005     94%   /
  /dev/sda3             101093   66103    29769     69%   /tmp
  /dev/sda5             202182  185195     6547     97%   /home
  /dev/sda6            3958767 3590807   163133     96%   /www
  /dev/sda7            1197108  500867   634393     44%   /var
  

Vi ser helt klart ut i fra tabelle at det var behov for mer minneplass, vi tenkte da spesielt på /www/-området og /home/-området. For å kunne klare å gjennomføre de andre delprosjektene i løpet av semesteret var det helt essensielt at vi fikk mer harddiskplass å boltre oss på.

Montering av ny harddisk

I løpet av de første månedene på prosjektet hadde vi helt klart problemer med gjennomføringen av flere delprosjekter på grunn av lite harddiskplass. I begynnelsen av mars fikk vi som ønsket, en ny harddisk til Al Mashriq. Fysisk montering og mounting av harddisken ble utført i sammarbeid med Nils O. Brekken. Selve kopiereingen og test av systemet utførte vi selv. Selve gjennomføringen skjedde uten problemer, og de dataene som skulle flyttes ble overført til riktig sted.

Hvordan har utviklingen vært

Ved prosjektstart så vi alle ganske mørkt på hvordan i det hele tatt vi skulle klare å gjennomføre flere av prosjektene med en maskin som slet på så mange områder som Al Mashriq. Delprosjektene har derfor blitt utført i den rekkefølgen vi hadde maskin kapasitet til å gjøre noe med dem.

Etter å ha fått montert inn en ny harddisk, samt at vi fikk stopp på de prosesser som hang grunnet plassmangler, fikk vi se at maskinen begynte å falle mer til ro igjen.

I slutten av mai ble top og df kjørt på nytt for å sammenligne med tidligere resultater.

  3:17pm  up 46 days,  5:22,  3 users,  load average: 0.07, 0.17, 0.22
66 processes: 64 sleeping, 2 running, 0 zombie, 0 stopped
CPU states:  9.5% user, 13.2% system, 22.1% nice, 77.6% idle
Mem:  63156K av, 62516K used,   640K free, 11592K shrd,   372K buff
Swap: 130748K av, 130748K used,     0K free               17752K cached
  PID USER     PRI  NI  SIZE  RSS SHARE STAT  LIB %CPU %MEM   TIME COMMAND
26944 almash    19  19 26624 26624     0 S N     0  0.0 42.1  29:58 webxref
27918 almash    19  19 27436 5464     0 S N     0  0.0  8.6  31:39 webxref
 8681 almash     0   0  3504 3504  1940 S       0  0.0  5.5   1:18 emacs-19.34-wit
32510 root       0   0   832  828    60 S       0  0.0  1.3   0:02 xterm
 4478 almash     0   0   704  704   408 S       0  0.0  1.1   0:00 wu.ftpd
 8664 root       0   0   700  696   300 S       0  0.1  1.1   0:00 sshd
   63 root      17   0   692  664   244 R       0 19.8  1.0 142:25 rpc.nfsd
 8678 almash     0   0   604  604   452 S       0  0.0  0.9   0:00 bash
 4553 nobody     0   0   624  588   424 S       0  0.0  0.9   0:00 httpd
 4571 nobody     0   0   624  588   420 S       0  0.0  0.9   0:00 httpd
 4532 nobody     0   0   612  572   424 S       0  0.0  0.9   0:00 httpd
 4584 nobody     0   0   608  568   420 S       0  0.0  0.8   0:00 httpd
 4593 nobody     0   0   600  560   420 S       0  0.0  0.8   0:00 httpd
 4595 nobody     0   0   600  560   420 S       0  0.0  0.8   0:00 httpd
 4610 nobody     0   0   596  556   412 S       0  0.0  0.8   0:00 httpd

  
Denne gangen ble top kjørt med en sortering etter minneforbruk, og som vi ser står webxref for det største minneforbruket. Dette var også tilfelle ved porsjektstart, men da var det i tillegg en del gamle webxref og statistikkprosesser som hang, og på den måten okkuperte masse resurser. I tillegg kunne vi nå observere at webservere ikke krever speiselt mye resurser i seg selv. Det er først når CGI-script og tyngre arbeidsoppgaver settes i gang at load og minneforbruk stiger. Vi kunne også observere at maskinen i slutten av prosjektperioden hadde vært oppe i over 40 dager uten stopp, noe som tilsier at maskinen ikke har noen problemer med å kjøre lengre perioder.

Prosessorforbruket hadde også blitt redusert til godt under 1, noe som igjen gjenspeilet at det var flere prosesser som ikke hadde klart å avslutte normalt. Maskinen har heller ingen tendenser til å utføre uforklarlige core-dumps lengre.

EN ny kjøring av df gav oss dette resultatet:

Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/sda1             497667  443562    28403     94%   /
/dev/sda3             101093   63586    32286     66%   /tmp
/dev/sda5             202182  190126     1616     99%   /home
/dev/sda6            3958767 2305662  1448278     61%   /www2
/dev/sda7            1197108  594863   540397     52%   /var
/dev/sdb1            6079051 4135247  1628932     72%   /www
  
Diskforbruket har vi gjennom utvildelser klart å øke betraktelig siden prosjektstart, men vi har også fått fordelt materialet ut over den nye disken som har blitt satt inn. Når denne oversikten ble produsert var det nok også en del midlertidige data spredd utover disken som har ført til at forbruket er noe høyere en reelt. Dette ble fjernet før prosjektavsluttning.

Konklusjon

Al Mashriq er i stadig vekst, og vil nok fortsette å gjøre det også i fremtiden. Mest sannsynlig vil derfor behovet for mer harddiskplass være gjeldene også i fremtiden da Børre Ludvigsen sitter på mengder av bilder som skal gjøres tilgjengelig for verden. Ved å få plassert inn en ny disk i maskinen har vi kunnet gjennomføre de prosjekter som krevde mer plass, samt at maskinen nå jobber mye lettere en den gjorde før utvidelsene. Øker trafikken vil det også kreve mer av maskinen fysisk, men da er nok minnebegrensninger det først vil stoppe opp ved.

Oversikt over delprosjekt

Tidsestimering

  • Thomas Gundersen
    • Skaffe tilveie og bearbeide informasjon om Al Mashriq: 10 timer
    • Administativt arbeide ved installasjon av ny harddisk: 26 timer
    • Rette opp symlinker mellom Al Mashriq og DDC-delen: 18 timer

Verktøy

  • Emacs
  • Perl
  • Generelle unixverktøy