Miten voin kasvattaa järjestelmän juuriosion kokoa ajonaikana?
Minulla on osio, jota ei ole varattu juuriosion jälkeen (joka on myös ext4), miten voin lisätä tuon varaamattoman tilan juuriosioon varattuun tilaan ilman, että palvelin sammutetaan?
GUI (Ubuntu 14.04 ja uudempi): GParted v0.17 ja uudemmat versiot tarjoavat mukavan graafisen käyttöliittymän tätä varten. (Vanhemmat versiot kieltäytyvät muuttamasta asennetun osion kokoa).
Komentorivi (mikä tahansa Ubuntu-versio): Tässä on kolme vaihetta.
Vaihe 1. Osion kokoa on ensin muutettava. Jos käytät LVM:ää, se on helppoa, ja oletettavasti tiedät, miten toimia. Jos käytät klassisia osioita, se on hieman monimutkaisempaa ja voi vaatia uudelleenkäynnistyksen (vaikka sinun ei koskaan tarvitse käynnistää toista järjestelmää tai live-CD:tä).
Minä teen sen näin: Käytä fdisk
-ohjelmaa ensin osion poistamiseen (ajatuksena on, että levyllä olevat tiedot säilyvät), ja luo se sitten varovasti uudelleen suuremmalla koolla samaan paikkaan.
Esimerkki:
$ sudo fdisk /dev/sda
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 9437183 4717568 83 Linux
Command (m for help): d
Selected partition 1
Command (m for help): p
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sda1 2048 10485759 5241856 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Jälleen kerran on tärkeää, että uusi osio alkaa samasta lohkosta kuin vanha. Myös id:n pitäisi täsmätä (83 Linux-järjestelmissä). Varaudu siihen, että menetät kaikki tietosi pienimmästäkin kirjoitusvirheestä.
Varmuuden vuoksi voit myös palauttaa käynnistyslippulaitteen (jota Wikipedian mukaan tarvitaan edelleen joissakin tietokoneissa) painamalla a
.
Katso kommenttiosasta, mitä tehdä, jos swap-osio on tiellä.
Nyt pitäisi olla selvää, miksi ihmiset suosittelevat live-CD:n käyttöä ;-).
Vaihe 2.
Kuten fdisk
avuliaasti muistuttaa, sinun on ladattava osiotaulukko uudelleen ennen jatkamista. Turvallisin tapa on yksinkertaisesti käynnistää uudelleen, mutta voit myös käyttää partprobe
tai kpartx
(lisätietoja).
Vaihe 3.
Kun osion kokoa on muutettu ja osiotaulukko on ladattu uudelleen, on yksinkertaista suorittaa resize2fs
tiedostojärjestelmälle, ja voit tehdä tämän vaikka se olisi asennettu root-osiona.
Esimerkki:
$ sudo resize2fs /dev/sda1
Ext4-tiedostojärjestelmän kokoa on mahdollista muuttaa on-line, vaikka se olisikin root-osio. Käytä komentoa resize2fs
.
sudo resize2fs /dev/sda1
EDIT: On-line-koon pienentäminen ei ole sallittua:
root@brunojcm-htpc:/home# resize2fs /dev/sda5 2654693
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/sda5 is mounted on /; on-line resizing required
resize2fs: On-line shrinking not supported
Voit myös käyttää GPartedia - kunhan se osio, jonka kokoa muutat, ei ole se, josta olet käynnistänyt järjestelmän - muuten ehdotan, että live CD -vaihtoehto on hieman helpompi aloittelijoille.
GParted tekee periaatteessa kaikki vaiheet - vain graafisen käyttöliittymän perusteella.