Archive for June, 2006

IPv6-problemer

Tuesday, June 27th, 2006

Midt inne i en relativt hektisk lansering oppdager vi plutselig at det å tar 10 sekunder å opprette en tcp-forbindelse mellom applikasjonstjeneren og LDAP-tjeneren. Strace – en av de beste verktøyene en i verktøyskuffen min – viser at serveren forsøker seg å bruke IPV6-adresser når den skal prate med LDAP-serveren.

Hvorfor det var slik vet jeg ikke. Jeg skulle ønske vi hadde mer tid til å grave i det – men med snarlig lansering var det lite tid til slikt. Vi svartelistet ipv6-modulen og startet om maskinen – og jammen forsvant ikke problemet. Frustrerende.

Hvordan få (flere lag) med md-enheter til å spille med LVM

Tuesday, June 20th, 2006

LVM(2) går ofte i beina på MD. LVM scanner de underliggende enhetene og da finner den selvsagt PV-iden der også. Dette kan skape mye gnøkka. Det finnes to løsninger på problemet:

  1. Bruk LVM sin MD-deteksjon. Sett md_component_detection = 1 i lvm.conf. Dette vil ikke fungere hvis du har flere lag med md (RAID10).
  2. Filtrer eksplisitt. Du må angi alle filterne på en gang. I mitt tilfelle gjorde filter = [ "a|^/dev/md4$|","r/.*/" ] susen. md4 består her av md2 og md3 – som jeg ikke vil at LVM skal rote med.

Hvordan bruke mer enn 4GB minne i en 32bits maskin.

Monday, June 19th, 2006

Å ha noe særlig over 4GB minne i en 32bits maskin bærer ikke så mye mening for de fleste applikasjoner. I og med at kjerne gjør en 3:1-split av adresserommet (3GB til hver prosess – 1GB til kjernen) kan ingen prosess nyttiggjøre seg av mer enn 3GB minne. Den mest alvorlige begrensningen er allikvel at kjernen må holde seg innenfor 1GB – dermed kan ikke Linux sin filsystemcache (den generiske page-cachen) cache noe særlig data.

Støtter maskinen amd64 eller em64t er det ikke noe problem – bruk en 64bits kjerne – men gjør den ikke det blir det litt verre.

Redhat Enterprise Linux 4 sin kjerne “hugemem” har en patch som gjør at problemet blir noe mindre – en 4GB-4GB split av adresserommet. Den krever PAE og gjør at overheaden på systemkall blir større – men resultatet er at en enkelt applikasjon kan bruke 4GB samtidig som kjernen kan bruke 4GB. Jeg er ikke 100% sikker på om page-cachen faktisk kan bruke alt minnet kjernet nå har tilgang til – jeg skal teste litt til og se hvordan det funker.

Oppdatering: Suksess! Boksen bruker nå i underkant av 2GB med minne til page-cache og 500MB til “Buffers”. Jeg kan egentlig ikke helt se hva buffers skal være nå om dagen – i og med at Linux fra og med 2.6 bare har en page-cache. LowTotal – mengden lowmem i kjernen – er nå 2GB – i motsetning til det sedvanlige 900MB.
Redhat sin kjerne lar seg nesten uten videre installeres på Ubuntu Dapper. Jeg brukte alien for å lage en deb av fila og yaird for å lage et nytt initrd. Det er selvsagt ikke like enkelt som å bare dytte inn en ferdig deb-kjerne – men det er gjørbart.

En bonus er at maskinvarestøtten til Redhat virker noe mer solid enn Debian og Ubuntu sin. Tross alt har Redhat temmelig betydelig backing fra IBM, Sun, Dell og HP – Ubuntu og Debian er ikke helt der enda.

Det hadde vært skikkelig praktisk om noen laget en Debian-install-CD med RHEL AS sine kjerne – særlig hvis denne holdes løpende oppdatert. Allerede idag merkes det at Debian Sarge er blitt litt geriatrisk av seg – å installere Sarge på splitter nye servere er ikke bare-bare.

Har vi en frivillig? :-)

Oppdatering: Det virker som om dette er gjørbart. Dokumentasjon her.

Nok en blog.

Sunday, June 18th, 2006

Jeg fant ut at verden trenger enda en blog. Det er vel bare rundt 70 millioner av dem der ute og ingen av dem ser ut til å ta for seg hva jeg driver med. Så, hva driver jeg med?

  • Systemadminstrasjon – utelukkende på Linux
  • Test og utvikling av systemadministrasjonsverktøy på Linux
    • Virtualisering – med Xen
    • Clustering med RHCM og Heartbeat

Jeg håper å kunne holde en frekvens på omtrent en posting i uka. Jeg skulle ønske engelsken min var god nok til at jeg kunne bruke den her – men det er den dessverre ikke.