5.4. Øke størrelsen på diskpartisjonene.

Det er for tiden 6 partisjoner av typen lvm i Skolelinux:

5.4.1. Endre størrelsen på partisjonen /usr

Det er på denne partisjonen at alle program ligger installert.

Å endre størrelsen på denne partisjonen er litt fiklete.

  1. For å umounte denne partisjonen så må du sette maskinen i såkalt runlevel 1, deretter må du starte et skall fra en annen partisjon.

    Gi alle dine innloggede brukere beskjed om å logge seg ut, kjør så init 1 fra kommandolinja..

  2. Når du nå har bragt maskinen ned i runlevel 1, så kan du kjøre

    exec /bin/ash

    Du vil se at du nå har et annet skall enn det vanlige, din kommandopromt vil se slik ut: \h:w\$. Hvis du skriver noe feil, så kan du ikke bruke Backspace for å viske det ut, men Ctrl-C og så starte på nytt.

  3. Først merker vi oss hvor stor partisjonen faktisk er, før vi endrer den, df -h /usr

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/vg_system/lv_usr
                                  1.0G  400M  600M  40%  /usr
  4. Så umounter vi partisjonen,

    umount /usr

  5. Så foretar vi en sjekk og reparasjon av filsystemet,

    fsck -yf /dev/vg_system/lv_usr

    [1]

  6. Så sjekker vi hvor mye plass vi har i volumegruppen,

    vgdisplay /dev/vg_system

    se etter en linje som sier noe slikt som
    Free  PE / Size       175 / 5.47 GB
    I dette tilfellet så har vi 5.47GB ledig plass som vi kan bruke.

    Hvis du ønsker å øke størrelsen med 1GB, så gjøres det med:

    e2fsadm -L +1G /dev/vg_system/lv_usr

    Hvis du ønsker å øke størrelsen med 100M, så gjøres det med:

    e2fsadm -L +100M /dev/vg_system/lv_usr

    Hvis du ønsker å minske partisjonen med 250M, så gjøres det med

    e2fsadm -L -250M /dev/vg_system/lv_usr

    Pga en bug[2]

    Pass på at du ser noe som likner på dette:

    resize2fs 1.27 (8-Mar-2002)
    Begin pass 1 (max = 2564)
    Extending the inode table     XXXXXXXXXXXXXXXXXXXXXXXXXXX
    Begin pass 2 (max = 160)
    Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXX
    Begin pass 3 (max = 52)
    Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXX
    Begin pass 5 (max = 9)
    Moving inode table            XXXXXXXXXXXXXXXXXXXXXXXXXXX
  7. Hvis du ikke ser en lang rekke med slike store-X'er, som dette

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    rullende over din skjerm når du endrer størrelsen på en partisjon, så har noe gått litt galt.

    Du må da mounte partisjonen igjen, deretter umounte den. deretter må du igjen endre størrelsen på partisjonen, men ikke med like mye som første gang,

    Advarsel

    Når du endrer størrelsen pånytt (fordi det ikke var vellykket første gang), så pass på at du ikke bruker en størrelse større en 32M, fordi når du gjør det pånytt, så vil den "huske" det den prøvde å gjøre første gang.

  8. Hvis endringen var vellykket, så kan du nå mounte partisjonen igjen, mount /usr, deretter så sjekker vi størrelsen df -h /usr,i dette tilfellet så skal det se ut som:

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/vg_system/lv_usr
                                  2.0G  400M  1.6G  20%  /usr

  9. Hvis du nå kjører init 6, så vil maskinen restarte og komme opp igjen i et såkalt multibruker miljø.

5.4.2. Endre størrelsen på partisjonen /skole/tjener/home0

Dette er partisjonen hvor brukerenes hjemmeområde ligger.

Måten å gjøre det på er veldig lik måten man endrer partisjonen /usr, det er faktisk mye lettere fordi vi ikke trenger å gjøre det i runlevel 1, vi trenger heller ikke å bruke et annet skall. Jeg nevner kort og raskt rekkefølgen kommandoene brukes, les avsnitt Seksjon 5.4.1 for mer info.

  1. Logg inn som root, og gi alle dine brukere beskjed om å logge seg ut.

  2. Sjekk størrelsen på partisjonen,df -h /skole/tjener/home0

  3. Umount partisjonen, umount /skole/tjener/home0

  4. Sjekk og reparer filsystemet, fsck -fy /skole/tjener/home0

  5. Sjekk hvor mye ledig plass du har i volumgruppen, vgdisplay /dev/vg_data

  6. Endre størrelsen på partisjonene, her økes den med 400M, e2fsadm -L +400M /skole/tjener/home0

  7. Mount partisjonen, mount /skole/tjener/home0

  8. Sjekk størrelsen på partisjonen, df -h /skole/tjener/home0

  9. Hvis endringen ikke var vellykkede, så burde du lese avsnitt om hva du skal gjøre om det skjer, se avsnittet om /usr Seksjon 5.4.1

5.4.3. Endre størrelsen på partisjonen /skole/backup

Dette er partisjonen som (i utgangspunktet) brukes av webmin-backup modulen.

Endringen av denne partisjonen foregår på samme måte som endringen av /skole/tjener/home0, se avsnitt Seksjon 5.4.2

Den spesifikke kommandoen (for økning på 600M) i dette tilfellet er

e2fsadm -L +600M /dev/vg_data/lv_backup

5.4.4. Endre størrelsen på partisjonen /var

Måten denne partisjonen endres på, er helt lik den som brukes for å endre /usr beskrevet i avsnitt Seksjon 5.4.1, bortsett fra at du ikke trenger å starte et skall. Men du er nødt til å også umounte partisjonen som inneholder swap-filene til tynnklientene,

umount /var/opt/ltsp/swapfiles

se avsnitt Seksjon 5.4.5

Den spesifikke kommandoen (for økning på 400M) i dette tilfellet er

e2fsadm -L +400M /dev/vg_system/lv_var

5.4.5. Endre størrelsen på partisjonen /var/opt/ltsp/swapfiles

Denne partisjonen inneholder de såkalte swap-filene tilhørende tynnklientene, med disse swap-filene så får hver tynnklient 32MB ekstra ram hver, [3][4]

Denne partisjonen endres på samme måte som /skole/tjener/home0, se avsnitt Seksjon 5.4.2

En fornuftig størrelse på denne partisjonen er da antall tynnklienter du har ganget med 32M hvis du bruker 32M store swap-filer. Hvis denne partisjonen er mindre en 32M x antall tynnklienter, så vil ikke alle dine tynnklienter starte.

Disse swap-filene blir plassert i katalogen /var/opt/ltsp/swapfiles, hvis det er nødvendig så kan disse slettes, de blir i såfall lagd pånytt når tynnklienten starter.

Den spesifikke kommandoen (for økning på 600M) i dette tilfellet er

e2fsadm -L +600M /dev/vg_system/lv_ltsp_swap

5.4.6. Legge inn et nytt logisk volum(lv)

Kanskje har du behov for enda et nytt logisk volum, f.eks til bilder og video. Hvis vi ønsker å ha et eget logisk volum til dette formålet, la oss kalle det /skole/video, og legge dette volumet inn i volum gruppa /dev/vg_data/lv_video

Sjekk først hvor mye plass du har med kommandoen vgdisplay /dev/vg_data, eventuelt kan du sjekke om du har mere plass i den andre volumgruppa vgdisplay /dev/vg_system

Først må vi lage monteringspunktet /skole/video

mkdir /skole/video

Deretter må vi lage et nytt logisk volum med kommandoen

lvcreate -L 2000M -n lv_video vg_data

Her blir størrelsen på partisjonen satt til 2000M. For å endre denne størrelsen, se
Seksjon 5.4.2. Deretter må vi lage et filsystem på dette logiske volumet

mke2fs -j /dev/vg_data/lv_video

Så må du legge til denne partisjonen i fila /etc/fstab så den blir automatisk mountet når maskinen startes. Hvis du har lagd lv_video i gruppa vg_data og ønsker å mounte den på /skole/video, så må du legge til denne linja i /etc/fstab

/dev/vg_data/lv_video  /skole/video          ext3    defaults                0       2

Nå skal du ved å kjøre mount /skole/video få se din nye partisjon med kommandoen df -h

Sluttnotater

[1]

Programmet som faktisk endrer partisjonsstørrelsen, e2fsadm, utfører faktisk også en sjekk av filsystemet, men for sikkerhets skyld så gjør vi det en ekstra gang.

[2]

Blir sikkert løst snart http://bugs.skolelinux.no/show_bug.cgi?id=439, så må vi være forsiktige når vi endrer størrelsen på en partisjon.

[3]

Men de må være låst til et IP-nummer i /etc/dhcp3/dhcpd-skolelinux

[4]

Du kan endre størrelsen på disse swap-filene i fila /opt/ltsp/i386/etc/lts.conf, se etter linja SWAPFILE_SIZE=32m

[5]

Fra Skolelinux pr47 må alle maskiner du ønsker å eksporte til være medlem av en nettgruppe, se Seksjon 5.5, linja vil da se slik ut /skole/video @ltsp-server-hosts(rw) @workstation-hosts(rw) @server-hosts(rw)