Gå til indholdet

Udvid diskpladsen på en virtuel appliance

De virtuelle appliances fyldes op: optagelser, arkiver, databaser og logs hober sig op på de partitioner, der rummer dem. Denne side udvider en af disse partitioner, så den bruger al den plads, der er til rådighed på disken — på en Mediation Controller eller på en Edge Gateway.

Handlingen udføres normalt i drift, uden indvirkning på produktionen.

Én betingelse, og den er ikke til forhandling

Kommandoerne nedenfor forudsætter den diskopsætning og den partitionering, der leveres med appliancen. Hvis diskene eller partitioneringen på denne virtuelle maskine er blevet ændret manuelt, gælder de ikke: de sletter og genopretter en partition, og de ville gøre det ud fra forudsætninger, der ikke længere holder. Kontakt i så fald Systancia-supporten i stedet for selv at tilpasse kommandoerne.

Én enkelt ændring tolereres: den, som netop denne procedure allerede har foretaget. Siden er tænkt til at blive anvendt igen — en appliance, der er udvidet på denne måde, er fortsat omfattet, og hver ny forøgelse af den virtuelle disk gives videre til partitionen på samme måde.

Før du går i gang

Gennemgå disse fire trin i rækkefølge. Det første er det, der gør det muligt at komme tilbage efter de øvrige.

1. Tag en backup af den virtuelle maskine

Tag en backup af den virtuelle maskine, før du gør noget andet. Udvidelsen omskriver partitionstabellen: en backup er det, der gør en mislykket handling til en gendannelse i stedet for en geninstallation.

2. Udvid den virtuelle disk fra hypervisoren

Tilføj den nødvendige plads til appliancens disk fra din hypervisor. Dette trin alene ændrer intet inde i maskinen — operativsystemet ser fortsat den tidligere størrelse, indtil kommandoerne nedenfor køres.

Er indstillingen nedtonet? Se efter et snapshot

En hypervisor nægter at udvide disken på en virtuel maskine, der har et snapshot. Hvis indstillingen ikke er tilgængelig, skal du kontrollere, om der stadig findes et, og fjerne det — og derefter udvide disken.

3. Tag eventuelt et snapshot

Når disken er udvidet, kan du tage et snapshot af maskinen som en umiddelbar vej tilbage for de kommandoer, der følger. Tag det efter diskudvidelsen, aldrig før: et snapshot er netop det, der ville forhindre den udvidelse.

4. Anvend udvidelsen inde i appliancen

Kør først derefter kommandoerne i det næste afsnit.

Hvilken partition skal udvides

Kommandoerne tager en mappe og udvider den partition, der rummer den. Enhver mappe i systemet kan angives, med én undtagelse.

/boot er udelukket

Sigt ikke mod /boot. Kommandoerne arbejder på appliancens LVM-volume, som /boot holdes uden for. Feltet nedenfor afviser den sti.

I praksis vokser to mapper pr. appliance hurtigere end de øvrige — de er den sædvanlige grund til at køre denne procedure:

Appliance Mappe Hvad den indeholder
Mediation Controller /var Data for Mediation Controller, heriblandt databasen.
Mediation Controller /var/log Systemlogfilerne.
Edge Gateway /var/lib/ipdiva/carerecord/archives De grafiske arkiver fra de optagede sessioner.
Edge Gateway /var/log Systemlogfilerne.

Du angiver en mappe, ikke en partition

Du behøver ikke at vide, hvilken partition eller hvilket logisk volume der rummer hvad: kommandoerne læser det ud fra den mappe, du giver dem. Kør df -h på appliancen for at se, hvilken der er ved at løbe tør.

Udvid partitionen

Åbn en SSH-session på appliancen som root, og kør derefter de kommandoer, der passer til den.

Du kan tilpasse variablen i følgende kommandoer:

Tilpasset værdi Variabel Kommentar
TARGET_DIRECTORY Mappe, hvis partition skal udvides — se Hvilken partition skal udvides.

Eller udfyld feltet med en af de tre mapper, der fyldes op først:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
directory=TARGET_DIRECTORY

echo 1 > /sys/class/block/sda/device/rescan

start_lvm_partition=`fdisk -l /dev/sda | grep LVM | awk '{print $2}'`
mountpoint=`df $directory | awk 'NR==2 {print $1}'`

echo -e "d\n2\nn\ne\n2\n\n\nn\n$start_lvm_partition\n\nn\nt\n5\n8E\nw" | fdisk /dev/sda

pvresize /dev/sda5
lvresize -l +100%FREE $mountpoint
resize2fs $mountpoint
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
directory=TARGET_DIRECTORY

echo 1 > /sys/class/block/sda/device/rescan

start_last_lvm_partition=`fdisk -l /dev/sda | grep LVM | awk '{print $2}' | sort -nr | head -n1`
last_lvm_partition=`fdisk -l /dev/sda | grep $start_last_lvm_partition | awk '{print $1}'`
mountpoint=`df $directory | awk 'NR==2 {print $1}'`

echo -e "d\n${last_lvm_partition: -1}\nn\np\n${last_lvm_partition: -1}\n$start_last_lvm_partition\n\nn\nt\n${last_lvm_partition: -1}\n8E\nw" | fdisk /dev/sda

pvresize $last_lvm_partition
lvresize -l +100%FREE $mountpoint
resize2fs $mountpoint

Hvad kommandoerne gør

De kæder fire handlinger sammen: få kernen til at se den nye diskstørrelse uden genstart, omskrive den sidste LVM-partition, så den når til slutningen af disken, give den plads videre til LVM og derefter udvide filsystemet ud på den. De to varianter adskiller sig kun ved partitionsopsætningen på hver appliance — vælg den, der passer til den maskine, du er på.

Kontrollér den ledige plads før og efter

Kør df -h på mappen før og efter. Gevinsten skal svare til den plads, der blev tilføjet i trin 2.

Hvis filsystemet ikke er vokset, skal du ikke køre kommandoerne igen med det samme: partitionstabellen er allerede omskrevet, og en ny kørsel over den samme diskstørrelse ville tage udgangspunkt i en tilstand, som de ikke forventer. Meld i stedet resultatet til Systancia-supporten.

Det er legitimt at køre dem igen i ét tilfælde, og det er det sædvanlige: når der er tilføjet mere plads til den virtuelle disk. Start forfra ved trin 1 — hele proceduren gælder igen, backup inklusive.