Pereiti prie turinio

Virtualiojo įrenginio disko vietos išplėtimas

Virtualieji įrenginiai prisipildo: įrašai, archyvai, duomenų bazės ir žurnalai kaupiasi juos laikančiuose skaidiniuose. Šiame puslapyje vienas iš tų skaidinių išplečiamas taip, kad naudotų visą diske esančią vietą – Mediation Controller arba Edge Gateway serveryje.

Paprastai operacija atliekama sistemai veikiant, be jokio poveikio gamybinei aplinkai.

Viena sąlyga, ir ji neaptariama

Toliau pateiktos komandos daro prielaidą, kad naudojamas kartu su appliance pateiktas diskų išdėstymas ir skaidymas. Jei šios virtualiosios mašinos diskai arba skaidymas buvo pakeisti rankiniu būdu, jos netaikomos: jos panaikina ir iš naujo sukuria skaidinį, o tai darytų remdamosi prielaidomis, kurios nebėra teisingos. Tokiu atveju kreipkitės į CyberElements palaikymo tarnybą, užuot patys pritaikę komandas.

Leidžiamas tik vienas pakeitimas: tas, kurį jau atliko ši procedūra. Puslapis skirtas taikyti pakartotinai – šitaip išplėstas appliance lieka tinkamas, o kiekvienas naujas virtualiojo disko padidinimas tokiu pat būdu perduodamas skaidiniui.

Prieš pradėdami

Atlikite šiuos keturis veiksmus iš eilės. Būtent pirmasis užtikrina, kad visa kita būtų galima atkurti.

1. Virtualiosios mašinos atsarginės kopijos kūrimas

Prieš viską sukurkite virtualiosios mašinos atsarginę kopiją. Išplėtimas perrašo skaidinių lentelę: turint atsarginę kopiją, nepavykusi operacija baigiasi atkūrimu, o ne pakartotiniu diegimu.

2. Virtualiojo disko išplėtimas hipervizoriuje

Iš hipervizoriaus pridėkite reikiamą vietą prie appliance disko. Vien šis veiksmas kompiuterio viduje nieko nepakeičia – operacinė sistema ir toliau mato ankstesnį dydį, kol nebus įvykdytos toliau pateiktos komandos.

Parinktis pilka? Ieškokite momentinės kopijos

Hipervizorius atsisako išplėsti virtualiosios mašinos, turinčios momentinę kopiją, diską. Jei parinktis nepasiekiama, patikrinkite, ar dar liko momentinė kopija, ir ją pašalinkite – tada išplėskite diską.

3. Pasirinktinai – momentinės kopijos sukūrimas

Išplėtę diską, galite sukurti kompiuterio momentinę kopiją – tai tiesioginis kelias atgal po toliau pateiktų komandų. Kurkite ją po disko išplėtimo, niekada ne prieš: būtent momentinė kopija ir sutrukdytų šį išplėtimą.

4. Išplėtimo pritaikymas appliance viduje

Tik tada vykdykite kito skyriaus komandas.

Kurį skaidinį išplėsti

Komandoms nurodomas katalogas, ir jos išplečia jį talpinantį skaidinį. Galima nurodyti bet kurį sistemos katalogą, su viena išimtimi.

/boot neįtraukiamas

Nenurodykite /boot. Komandos veikia su appliance LVM tomu, į kurį /boot nepatenka. Toliau esantis laukas šį kelią atmeta.

Praktiškai kiekviename appliance du katalogai auga greičiau nei kiti – jie yra įprasta šios procedūros vykdymo priežastis:

Appliance Katalogas Kas jame laikoma
Mediation Controller /var Mediation Controller duomenys, įskaitant duomenų bazę.
Mediation Controller /var/log Sistemos žurnalai.
Edge Gateway /var/lib/ipdiva/carerecord/archives Įrašytų seansų grafiniai archyvai.
Edge Gateway /var/log Sistemos žurnalai.

Nurodomas katalogas, o ne skaidinys

Jums nereikia žinoti, kuriame skaidinyje ar loginiame tome kas laikoma: komandos tai nustato pagal jūsų nurodytą katalogą. Appliance vykdykite df -h, kad pamatytumėte, kuriame iš jų baigiasi vieta.

Skaidinio išplėtimas

Atidarykite SSH seansą appliance kaip root, tada vykdykite jį atitinkančias komandas.

Galite pritaikyti šių komandų kintamąjį:

Pasirinktinė reikšmė Kintamasis Komentaras
TARGET_DIRECTORY Katalogas, kurio skaidinį reikia išplėsti – žr. Kurį skaidinį išplėsti.

Arba užpildykite lauką vienu iš trijų katalogų, kurie prisipildo pirmiausia:

 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

Ką daro komandos

Jos sujungia keturias operacijas: priverčia branduolį matyti naują disko dydį be paleidimo iš naujo, perrašo paskutinį LVM skaidinį, kad jis siektų disko pabaigą, perduoda tą vietą LVM, tada išplečia jame failų sistemą. Abu variantai skiriasi tik kiekvieno appliance skaidinių išdėstymu – pasirinkite tą, kuris atitinka kompiuterį, kuriame esate.

Patikrinkite laisvą vietą prieš ir po

Paleiskite df -h kataloge prieš ir po. Padidėjimas turi atitikti 2 veiksme pridėtą vietą.

Jei failų sistema nepadidėjo, nevykdykite komandų iš karto dar kartą: skaidinių lentelė jau perrašyta, o antras vykdymas su tuo pačiu disko dydžiu prasidėtų nuo būsenos, kurios jos nesitiki. Vietoj to praneškite rezultatą CyberElements palaikymo tarnybai.

Pakartotinai vykdyti jas teisėta vienu atveju, ir tai įprastas atvejis: kai į virtualųjį diską pridėta daugiau vietos. Pradėkite iš naujo nuo 1 veiksmo – vėl taikoma visa procedūra, įskaitant atsarginę kopiją.