Skip to Content

Serverne

Selvom jeg generelt godt kan lide alle mine computere, må jeg indrømme, at mine servere har en særlig plads i mit hjerte. Den store forskel mellem en almindelig computer og servere er ganske enkelt stabiliteten. Den almindelige computer (både stationære og bærbare) er sædvanligvis optimeret til at kunne yde mest muligt med de givne ressourcer, hvor man med serverne altid sørger for, at maskinen har lidt ekstra ressourcer i baghånden, der kan bruges i en presset situation. Og frem for alt går en server aldrig ned...

Jeg har i øjeblikket selv tre servere placeret på forskellige lokaliteter. To af disse servere står i Danmark, og den tredje befinder sig i England. Jeg har nogle helt grundlæggende principper for mine servere:

  • Der skal bruges server-hardware:

    En server er ikke bare en almindelig computer, og de fleste større hardware-poducenter har forskellige produktlinjer for servere og for almindelige computere, hvor server-udgaverne ofte er en smule mere stabile, gennemprøvede og pålidelige end udgaverne til almindelige computere. Og da stabilitet er alfa og omega for en server, er det vigtigt, at hardwaren bag serveren kan holde til opgaven (i årevis uden stop)

  • Der skal bruges et stabilt operativsystem:

    Angående stabilitet er der overhovedet ingen grund til at sammenligne de M$ Windows baserede servere og de Unix-baserede. For stabiliteten har de Unix-baserede systemer hele tiden været i en klasse for sig selv, hvor M$ Windows baserede serversystemer end ikke tilnærmelsesvist når dem til sokkeholderne. Så når jeg snakker om operativsystemer til servere, er det kun et spørgsmål om, hvilke Unix-baseret operativsystem, der skal bruges. Og indenfor de Unix-baserede operativsystemer er der rigtigt mange gode, hvor de allesammen har forskellige styrker. Igennem de sidste 12-13 år har jeg hovedsageligt til egne servere brugt OpenSolaris, *BSD (fx. NetBSD, FreeBSD, OpenBSD,...) eller Linux. Og Linux er i denne sammenhæng en fællesbetegnelse for hundredevis af forskellige Linux-distributioner, hvor nogle er rettet imod servere og andre er rettet imod andre opgaver. I øjeblikket bruger jeg Linux på alle mine servere. Helt konkret har jeg valgt én af de større Linux-distributioner, der igennem rigtigt mange år har leveret stabilitet igennem velgennemprøvede løsninger til servere. Og dette er det operativsystem, der hedder Debian Linux (jeg bruger i øjeblikket Debian “lenny” på alle mine servere). - Indenfor Linux-miljøet findes der næsten religiøse tendenser for og imod forskellige grene indenfor linux, hvor der overordnet er 4 forskellige grundstrukturer af systemerne (der stadig lever), hvorfra de mange forskellige Linux-distributioner har udviklet sig. De 4 grundstrukturer illustreres bedst ved at kigge på 4 forskellige repræsentanter for linjerne: Debian, Redhat, Gentoo og Slackware. Og selvom jeg i øjeblikket bruger Debian-linjen, er det ikke ensbetydende med, at de andre linjer er dårligere. Jeg kunne have opnået nøjagtigt den samme stabilitet vha. hver af de tre andre linjer. Og jeg har brugt Linux som mit hovedoperativsystem på arbejdscomputerne (og ligeledes ofte på serverne) siden foråret 1996, og igennem de sidste 14 år har jeg i perioder arbejdet indenfor alle 4 udviklingslinjer, så for mig er de 4 ovenfor nævnte grundstrukturer ækvivalente, hvor du kan opnå den samme styrke fra alle 4 linjer.

  • Datasikkerhed:

    Set fra mit synspunkt er datasikkerhed en meget stor og vigtig udfordring. For datasikkerhed er der i hvert fald 2 forskellige perspektiver:

    1. Selvom en harddisk bryder sammen eller en server rent fysisk bliver stjålet, skal det være muligt hurtigt og nemt at kunne genskabe dataene.
    2. For følsomme oplysninger skal disse kun kunne læses af de rette personer.

    Og begge disse elementer af datasikkerhed giver udfordringer, og det kan være vanskeligt at konstruere et system, der er sikkert på begge måder. Og jeg må indrømme, at jeg ikke har fundet en universalløsning på dette problem. Jeg har i øjeblikket 3 servere, der bruger hinanden til at gemme backups af data. Og på alle tre servere er harddiskene monteret enten i en RAID 1 eller en RAID 10 opsætning, så én af harddiskene kan bryde sammen uden datatab, og hvor serveren rent faktisk bare fortsætter med at køre selvom en enkelt harddisk bryder sammen, da alle data gemmes på mindst 2 harddiske samtidig, hvor den anden overtager opgaven ved en harddiskfejl. Denne del er faktisk ret enkel, og mere eller mindre standard blandt servere... Yderligere tages der så med jævne mellemrum backup af dataene på disse harddiske, hvor dette backup gemmes på en af de andre servere. Herved er det muligt at genskabe dataene ved harddiskfejl eller tyveri. - Men dette løser ikke problemet i forhold til punkt 2. For punkt 2 gør man selvfølgeligt alt muligt for at lave serveren sværest mulig at hacke, men her har man det lidt ligesom Don Quijotes kamp imod vindmøller. Man kan gøre sit bedste, men jeg har selv tilbragt nok tid i hackerkredse til at finde ud af, at der ikke findes et fuldstændigt sikkert system. Som systemadministrator kan du give hackerne så mange udfordringer, at alle hacker wannabees giver op og falder fra, men de rigtige hackere skal nok finde en vej igennem systemet. Og hvis hackeren kommer igennem sikkerheden, vil han/hun i første omgang bare være i samme situation som en person, der rent fysisk stjal serveren og dermed fik direkte adgang til dataene på harddisken. Og dette problem kæmper jeg stadig med ligesom resten af verdens systemadministratorer... På en arbejdscomputer kan du bare kryptere harddisken vha. en digital nøgle, der låses op af et password. Men af flere forskellige årsager er dette knap så hensigtsmæssigt (generelt) at gøre på servere, og da (størstedelen af) dataene så ikke er krypterede, vil dette udgøre et sikkerhedsproblem når hackeren kommer igennem de ydre forsvar eller hvis serveren rent fysisk stjæles.

  • Open Source software:

    Jeg er i øjeblikket ikke involveret i ret meget udvikling af software, men jeg følger da med i udviklingen af nogle af de projekter, som jeg tidligere har været involveret i. Jeg har tidligere været involveret i forskellige projekter, hvor jeg altid er gået efter nogle projekter, hvorigennem jeg har været i stand til at kombinere min viden om matematik med min relativt begrænsede programmeringskunnen (en lille smule C, C++, Perl, Python, Java, Javascript, PHP og bash-scripting). Dette har hovedsageligt været i relations til optimeringer af algoritmer (fx. reduktion af algoritmekompleksiteten ved databaseadgang), og ligeledes i relation til noget krypterings- og kodningsteori. Men yderligere er jeg storforbruger af open source software, hvor der på alle mine servere kun er installeret open source programmer, og alle min arbejdscomputere kører også fortrinsvis med linux og open source programmer.



Din IP-adresse er 38.107.191.85    ·    Drives af Drupal, et open source system til håndtering af indhold    ·    © 2010 Jacob Tranholm