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 LVMPokud 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): rPro 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/sdaSpusť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.