Re: BSD Trivia spørgsmål of the week - #1

From: Søren Hansen (none@svindler--gmail.com.lh.bsd-dk.dk)
Date: Tue 14 Nov 2006 - 17:17:53 CET


Date: Tue, 14 Nov 2006 17:17:53 +0100
From: "Søren Hansen" <none@svindler--gmail.com.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: Re: BSD Trivia spørgsmål of the week - #1

Glimrende initiativ!

Løsning 1)
Ryd op! Kig disken efter og se om der er noget værd at slette. "find .
-ctime +365" viser de filer, der ikke har været ændret i mere end et
år. Hvis det ser fornuftigt ud, kan du slette med "find . -ctime +365
-exec rm {}\;"
Udføres med varsomhed og husk at checke at din backup har kørt.

Løsning 2)
tar kan bruges til at arkivere filerne, hvis ellers du har en enkelt
inode ledig (fremgår ikke af Phils oplæg).
"tar -cf arkiv.tar directorytoarchive; rm directorytoarchive"

Løsning 3)
Igen, hvis der er en enkelt inode ledig, kan du lave en virtuel
partition, der er stor nok til at holde de nødvendige filer med med
driveren md. Den kan lave det i memory eller i en fil, alt efter, hvad
du vurderer der er behov for.
Tag udgangspunkt i "man mdconfig":
     To create a 5MB file-backed disk:

           dd if=/dev/zero of=somebackingfile bs=1k count=5k
           mdconfig -a -t vnode -f somebackingfile -u 0
           bsdlabel -w md0 auto
           newfs md0c
           mount /dev/md0c /mnt

/mnt skal erstattes med et directory, der ligger på den disk, hvor der
er plads men mangel på inoder. Hvis du ikke kan bruge et eksisterende
directory, kræver denne løsning en inode mere fri.
Nu kan du flytte filer over på "/mnt" og derefter bruge symlinks. Det
kræver selvfølgelig, at du kan flytte filerne directory-vis, da en
symlink også tager en inode.

Løsning 4)
Hvis der ikke er bare en enkelt inode ledig, men du har plads lokalt
på den maskine du tilgår problembarnet fra, kan du skrive lokalt:
ssh root@problembarn "tar -cf - directorytoarchive" > arkiv.tar
(hvis du sidder på en tynd linie, kan du tilføje -z for at komprimere
tar-filen. Så bør du kalde den arkiv.tgz istedet.)
Derefter sletter du filerne på problembarnet og flytter rundt og laver
dit sysadmin magi, så du får inoder ledige igen.
Når du så er færdig med at trylle rundt på filerne på problembarnet
kopierer du arkiv.tar over på problembarnet og untar'er dem igen med
"tar -xf arkiv.tar".
Du kan også pakke dem ud, uden at kopiere filen først med:
cat arkiv.tar | ssh root@problembarn "cd directorytoarchive;tar -xf -"

Løsning 5)
NFS. Hvis du ikke allerede har NFS oppe, så er det ikke lige oplagt
som en nødløsning, medmindre du forventer nødløsningen skal køre i
længere tid.

Mvh
Søren Hansen

Den 14/11/06 skrev Phil Regnauld <none@regnauld--x0.dk.lh.bsd-dk.dk>:
> Undskyld the danglish. Men her er en sjov lille idé jeg har haft (det
> sker en gang imellem) -- der er en del mennesker der stiller spørgsmål her,
> og ofte får de svar, nogen gang ikke. For at motivere lidt spillet, har jeg
> tænkt mig at sende en t-shirt[1] til dem der yder en ekstra stor indsats ved
> at hjælpe andre, f.eks. ved at give en dybere forklaring på en løsning,
> eller giver gode eksempler i deres svar.
>
> Derudover har jeg tænkt mig at sende til listen et spørgsmål hver uge
> (+/- afhængig af travlhed), som har udgangspunkt i et eller andet
> problem som skal løses på *BSD. Jeg vil prøve at gøre det sådan at det
> bliver BSD neutralt (altså, ikke altid FreeBSD-specifikt :). Idéen er at
> man vil (også mig) kunne lære en smart trick eller to som kunne hjælpe
> senere henne, eller bare bruges til at blære sig.
>
> Hvem bestemmer ? Det gør jeg. Selvfølgelig kan der ske at flere svarer
> korrekt, eller at jeg vurderer forkert om svarer er den rigtige -- så må
> i råbe, og så ser vi hvad der sker :) Svar som "read the fine manual"
> er ikke gode nok.
>
> [1] Vi har (catpipe) en del NetBSD "toaster" t-shirts tilbage som vi vil
> gerne af^H^H^H^Hforære væk til dem der svarer korrekt.
>
> Så her er den første spørgsmål, for at kickstarte tingene:
>
> "På en UFS partition løber man tør for inodes. Der er ikke plads nok på
> de andre partitioner for at flytte data og lave en symbolic link, og man
> kan ikke tilføje flere diske til maskinen. (Den sidder typisk i et rack,
> med remote adgang only). Hvilket workaround vil man kunne anvende for at
> løse problemet ?"
>
> Husk: der skal en detaljeret beskrivelse af løsningen -- endnu bedre
> hvis der er eksempler til flere BSDer :)
>
> Phil
>



This archive was generated by hypermail 2b30 : Thu 30 Nov 2006 - 23:00:03 CET