Změna velikosti logického svazku v Linuxu není příliš obtížná a lze ji dosáhnout velmi přímočarým přístupem. Zde jsou obvyklé kroky:
- Vytvořte nový oddíl na pevném disku.
- Přidejte oddíl, který jste právě vytvořili, jako fyzický svazek.
- Přidejte nový fyzický svazek do skupiny svazků.
- Přiřaďte prostor ze skupiny disků logickému disku.
- Změňte velikost souborového systému.
Ale v tomto scénáři máte kořenový souborový systém (jako oddíl LVM) připojený pod rozšířeným oddílem, nikoli v rámci primárního oddílu. Máte pouze jeden primární oddíl, který je připojen k /boot a zbytek místa je součástí tohoto rozšířeného oddílu.
Zní to obtížně? Dovolte mi, abych vám ukázal, jak změnit velikost LVM uvnitř rozšířeného oddílu.
Změna velikosti oddílu LVM uvnitř rozšířeného oddílu
V tomto tutoriálu používám Linux nainstalovaný ve virtuálním počítači.
Mějte prosím na paměti, že byste měli být velmi opatrní při práci s diskovými oddíly.Krok 1: Vypněte virtuální počítač a zvětšete velikost disku
Nejprve vypněte virtuální počítač a zvětšete velikost disku. Zde jsem zvětšil velikost disku /dev/sda o 20 GB na přibližně 40 GB. Poté spusťte virtuální počítač a přejděte do konzoly.
Podívejte se na naše diskové oddíly.
[email protected]:~# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extended
/dev/sda5 501760 41940991 20719616 8e Linux LVM
Pokud analyzujete místo na disku pomocí příkazu df, zobrazí se mi toto:
[email protected]:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 989M 4.0K 989M 1% /dev
tmpfs tmpfs 201M 716K 200M 1% /run
/dev/dm-0 ext4 19G 1.5G 16G 9% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 1001M 0 1001M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 236M 40M 184M 18% /boot
Zde je cílem zvětšit velikost oddílu /dev/dm-0, který je připojen k /dev/sda5.
Dovolte mi také ukázat aktuální stav fyzických svazků, skupin svazků a logických svazků:
[email protected]:~# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
root ubuntu14-vg -wi-ao--- 18.74g
swap_1 ubuntu14-vg -wi-ao--- 1020.00m
[email protected]:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 ubuntu14-vg lvm2 a-- 19.76g 20.00m
[email protected]:~# vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu14-vg 1 2 0 wz--n- 19.76g 20.00m
Všechny mají přiděleno přibližně 20 GB úložného prostoru.
Krok 2:Zahajte proces změny velikosti LVM
Zde jsou kroky pro změnu velikosti oddílu LVM:
Otevřete nástroj fdisk a podívejte se na oddíly:
[email protected]:~# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extended
/dev/sda5 501760 41940991 20719616 8e Linux LVM
Smažte rozšířený oddíl (/dev/sda2) pomocí příkazu d
, což automaticky odstraní základní oddíl LVM, kterým je /dev/sda5.
Command (m for help): d
Partition number (1-5): 2
Vytvořte nový oddíl znovu jako rozšířený pomocí příkazu n
s výchozími počátečními a koncovými hodnotami cylindru.
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
Partition number (1-4, default 2):
Using default value 2
First sector (499712-83886079, default 499712):
Using default value 499712
Last sector, +sectors or +size{K,M,G} (499712-83886079, default 83886079):
Using default value 83886079
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 499712 83886079 41693184 5 Extended
Vytvořte logický oddíl (dev/sda5) pomocí výchozích hodnot počátečního a koncového cylindru.
Command (m for help): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (501760-83886079, default 501760):
Using default value 501760
Last sector, +sectors or +size{K,M,G} (501760-83886079, default 83886079):
Using default value 83886079
Přepněte do expertního režimu stisknutím x
.
Command (m for help): x
Spusťte expertní příkaz b
upravit začátek oddílu (tím se změní velikost oddílu, nikoli místo, kde končí). Zadejte počáteční hodnotu, jaká byla dříve před odstraněním oddílů. Tady je 501760.
Expert command (m for help): b
Partition number (1-5): 5
New beginning of data (499713-83886079, default 501760): 501760
Poté spusťte r
pro návrat do hlavní nabídky.
Expert command (m for help): r
Pro jistotu zkontrolujte číslo oddílu.
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 499712 83886079 41693184 5 Extended
/dev/sda5 501760 83886079 41692160 83 Linux
Nyní změňte typ oddílu na LVM stisknutím t
a vyberte typ 8e
.
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)
Stiskněte w
zapsat všechny změny na disk.
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.
Krok 3:Proveďte ruční změny fyzického a logického svazku
Spusťte příkaz partprobe a informujte OS o změnách tabulky oddílů:
[email protected]:~# partprobe /dev/sda
Spusťte příkaz lsblk a zjistěte, že /dev/sda5 má nyní velikost přibližně 40 GB (pro mě).
[email protected]:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 243M 0 part /boot
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 39.8G 0 part
├─ubuntu14--vg-root (dm-0) 252:0 0 18.8G 0 lvm /
└─ubuntu14--vg-swap_1 (dm-1) 252:1 0 1020M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
Spusťte příkaz df a všimnete si, že /dev/dm-0 stále zobrazuje staré podrobnosti o velikosti:
[email protected]:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 989M 4.0K 989M 1% /dev
tmpfs tmpfs 201M 716K 200M 1% /run
/dev/dm-0 ext4 19G 1.5G 16G 9% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 1001M 0 1001M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 236M 40M 184M 18% /boot
Totéž platí pro fyzické svazky, skupiny svazků a logické svazky:
[email protected]:~# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
root ubuntu14-vg -wi-ao--- 18.74g
swap_1 ubuntu14-vg -wi-ao--- 1020.00m
[email protected]:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 ubuntu14-vg lvm2 a-- 19.76g 20.00m
[email protected]:~# vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu14-vg 1 2 0 wz--n- 19.76g 20.00m
Zde budete muset vynaložit nějaké ruční úsilí.
Změňte velikost fyzického svazku:
[email protected]:~# pvresize /dev/sda5
Physical volume "/dev/sda5" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Nyní zkontrolujte stav fyzického svazku a skupiny svazků a zkontrolujte, zda správně zobrazuje novou velikost:
[email protected]:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 ubuntu14-vg lvm2 a-- 39.76g 20.02g
[email protected]:~# vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu14-vg 1 2 0 wz--n- 39.76g 20.02g
Podobně změňte velikost logického svazku:
[email protected]:~# lvextend -l +100%FREE /dev/ubuntu14-vg/root
Extending logical volume root to 38.76 GiB
Logical volume root successfully resized
Nakonec změňte velikost souborového systému:
[email protected]:~# resize2fs /dev/ubuntu14-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu14-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/ubuntu14-vg/root is now 10161152 blocks long.
Ověřte stav disku a zjistěte, že velikost LVM je nyní správně změněna:
[email protected]:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 989M 4.0K 989M 1% /dev
tmpfs tmpfs 201M 716K 200M 1% /run
/dev/dm-0 ext4 39G 1.5G 35G 4% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 1001M 0 1001M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 236M 40M 184M 18% /boot
To je vše! Úspěšně jste změnili velikost oddílu LVM uvnitř rozšířeného oddílu.
Otázky nebo návrhy? Zanechte komentář níže.