Archive for the “ubuntu” Category

For å feire at ferien er slutt og jeg endelig kan svette på driftskontoret igjen har jeg satt i gang med å teste en virtualiseringsløsning for Linux kalt OpenVZ. Foreløpig inntrykk er at den er like enkel å installere og konfigurere som et FreeBSD jail, samt mer fleksibel og skalerbar i bruk. Jeg har skrevet en liten logg/howto mens jeg installerte så andre enkelt kan komme i gang hvis noen vil teste ut løsningen, og selvfølgelig som en referanse til meg selv ;)

Når du installerer OpenVZ må det settes opp en custom kernel. Dette gjøres i Ubuntu enkelt og greit ved å installere ferdige pakker:

# apt-get install linux-openvz
# apt-get install vzctl vzquota

Etter du har installert disse pakkene (den første er selve OpenVZ, de to neste er verktøy) må du reboote serveren. Dette trekker litt ned men er uungåelig siden du har installert ny kernel.

Når du har rebootet, kjør en “uname -r” og se at du kjører en kernel-versjon som ender med -openvz.

Følgende må ligge inne i /etc/sysctl.conf. Sjekk hva du har der og legg eventuelt inn det som mangler:

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 07

Når du har gjort dette, og hvis du får opp riktig kernel ved “uname -r” er du klar til å sette opp en virtuell maskin. OpenVZ støtter images av de aller fleste Linux-varianter. Du kan hente ned ferdige images eller lage dine egne. På denne siden finner du en liste over images du kan hente ned, mens du her finner instruksjoner for hvordan du kan lage dine egne.

Jeg hentet ned samme image som jeg allerede har på serveren jeg tester på, nemlig Ubuntu 8.04 64-bit LTS. Imaget legges i template/cache-mappen til OpenVZ, på Ubuntu er dette /var/lib/vz/template/cache. Filen skal ikke pakkes ut.

Etter filen er lagret kjører du følgende:

# vzctl create 101 –ostemplate <filnavn uten extension>

Her er 101 mitt valgte nummer for denne virtuelle maskinen. Det er samme hva du velger, bare alle VM’s har unik ID.

–ostemplate skal peke til filen du lastet ned, men uten extension. For mitt image ble det for eksempel “ubuntu-8.04-x86_64″

For å få imaget til å starte automagisk ved boot kjører du følgende:

# vzctl set 101 –onboot yes –save

Så kan du sette ip, hostnavn og navneservere:

# vzctl set 101 –hostname test.example.com –save
# vzctl set 101 –ipadd 80.239.119.123 –save
# vzctl set 101 –nameserver 80.239.119.109 –nameserver 213.236.227.56 –save

Sett så antall sockets til 120 (ikke sikker på hvorfor enda, wiki sier du skal):

# vzctl set 101 –numothersock 120 –save

Aner du et mønster i kommandoene? Jepp, det er ganske enkelt og rett frem foreløpig :) Det lagres også configfiler i /etc/vz/conf/<id>.conf, altså 101.conf i mitt tilfelle. De kan redigeres direkte.

For å styre den virtuelle maskinen kan du bruke disse kommandoene:

# vzctl start 101 Starter maskinen.
# vzctl stop 101 Stopper maskinen.
# vzctl restart 101 Restarter maskinen.
# vzctl exec 101 <kommando> (bruk denne til å sette root passord med en gang, altså “vzctl exec <id> passwd”.
# vzctl destroy 101 Sletter den virtuelle maskinen. Fungerer kun når den er stanset med vzctl stop.
# vzctl enter 101 Starter et shell i maskinen.

Andre nyttige kommandoer:

# vzlist -a Lister alle virtuelle maskiner på serveren.

# vzctl exec 101 cat /proc/user_beancounters Lister ressursbruk på maskinen spesifisert med ID. Legg merke til “failcnt”, kolonnen. Hvis det står noe annet enn 0 der betyr det at den virtuelle maskinen ikke har fått tilfelt nok ressurser. Du kan tweake ressurstildelingen ved å redigere konfigurasjonsfilen til maskinen.

Denne siden fra OpenVZ-wikien inneholder en tabell som viser eksempler på ressursallokering.  Den tar utgangspunkt i en server med 2gb ram. Eksempel A er den “letteste” VM’en. Tallet bak 2GB/ er antallet slike maskiner hostserveren kan kjøre.

Du kan også bruke kommandoen vzsplit for å få verdier basert på din server. Hvis du vil kjøre 20 virtuelle maskiner på serveren skriver du for eksempel

# vzsplit -n20

vzsplit lister da ut alle variablene du trenger til konfigurasjonsfilen(e), basert på at du skal kjøre 20 virtuelle maskiner på serveren.

Har du fulgt disse instruksjonene har du nå forhåpentligvis en “klar til bruk” virtuell maskin. Neste skritt blir å sette den opp som du vil. Dette dekkes ikke av denne guiden :)

Les OpenVZ-wikien for å finne ut av alt du kan gjøre. Jeg har ikke kommet lenger enn dette selv enda, men jeg skal prøve å huske å oppdatere artikkelen med mer info etterhvert som jeg kommer over det.

Comments No Comments »

Oppgradering av server-OS pleier å være litt mas. Heldigvis har flere av de vanlige server plattformene blitt lettere å ha med å gjøre de siste åra. Ubuntu Server Edition er ikke noe untak. Her er hva du må gjøre for å oppgradere fra Ubuntu 8.10 Server til Ubuntu 9.04 Server.

Pass på at du har oppgradert alle installerte pakker før du setter i gang:

$ sudo apt-get update
$ sudo apt-get upgrade

Installer update-manager-core hvis den ikke er installert fra før:

$ sudo apt-get install update-manager-core

Start oppgraderingsverktøyet og følg instruksjonene på skjermen:

$ sudo do-release-upgrade

Husk at selv om prosessen er enkel må du bruke hodet og følge med på hva som skjer ;)

Tags: , , , , , ,

Comments 1 Comment »