it-swarm.dev

Zvětšit velikost oddílu, na kterém je nainstalován Ubuntu?

Mám nainstalovaný Ubuntu na jednotce. Problém spočívá v nedostatku místa na disku. To je nainstalováno na vmware. Rozšířil jsem virtuální disk a zavedl do ubuntu. Ale když jsem otevřel gparted (Sudo gparted), možnost přesunout/změnit velikost není k dispozici. Toto je oddíl, na kterém je Ubuntu nainstalován, ale musím jej změnit. Nějaké nápady? Jsem pohodlný pomocí příkazového řádku

66
user51447

Už jste skoro tam.
nemůžete změnit velikost oddílu pomocí GParted, zatímco Ubuntu běží.
Budete muset připojit GParted ISO jako CD k počítači VM a restartovat počítač tak, aby GParted byl načten namísto Ubuntu (myslím, že můžete spustit z virtuální CD stisknutím klávesy F12 ihned po spuštění stroje).
Jakmile nabootujete do GPartedu, bude možné přesunout/změnit velikost, protože Ubuntu v současné době není spuštěno.

19
yossile

Ve skutečnosti můžete [~ # ~] [~ # ~] zvětšit kořenový souborový systém, zatímco Ubuntu běží (naučil jsem se to nedávno sám zde ) - to zní neuvěřitelně, ale je to pravda :)

Zde je seznam kroků pro jednoduchý scénář, kde máte dvě oddíly, /dev/sda1 je oddíl ext4, ze kterého je spuštěn OS a /dev/sdb2 je výměna. Pro toto cvičení chceme odebrat odkládací oddíl a rozšíření /dev/sda1 na celý disk.

  1. Jako vždy se ujistěte, že máte zálohu vašich dat - protože budeme upravovat tabulku oddílů, existuje například možnost ztratit všechna vaše data, pokud například uděláte překlep.

  2. Spustit Sudo fdisk /dev/sda

    • použijte p k zobrazení oddílů. Poznamenejte si počáteční válec /dev/sda1
    • použijte d k odstranění nejprve odkládacího oddílu (2) a poté /dev/sda1 oddíl. To je velmi děsivé, ale ve skutečnosti je neškodné, protože data nejsou zapsána na disk, dokud nezapíšete změny na disk.
    • použijte n k vytvoření nového primárního oddílu. Ujistěte se, že jeho počáteční válec je přesně stejný jako starý /dev/sda1 míval. Pro koncový válec souhlasíte s výchozím výběrem, kterým je rozdělování oddílu na celý disk.
    • použijte a k přepnutí zaváděcího příznaku na nové /dev/sda1
    • zkontrolujte své změny, zhluboka se nadechněte a pomocí w zapište novou tabulku oddílů na disk. Zobrazí se zpráva, že jádro nemůže znovu načíst tabulku oddílů, protože zařízení je zaneprázdněno, ale to je v pořádku.
  3. Restartujte pomocí Sudo reboot. Když se systém zavede, budete mít menší souborový systém žijící uvnitř větší oddíl.

  4. Další magický příkaz je resize2fs. Spustit Sudo resize2fs /dev/sda1 - tento formulář bude standardně nastaven tak, aby souborový systém zabíral veškerý dostupný prostor v oddílu.

To je vše, právě jsme změnili velikost oddílu, na kterém je nainstalován Ubuntu, aniž bychom museli bootovat z externí jednotky.

152
Sergey

Dvě metody

1. Testováno na serveru Ubuntu 16.04 až 18.10

Po rozšíření svazku ve VMware ESXi (vypnutí vm, záloha/export vm, odstranění všech snímků, poté zvětšení počtu disků, pořídte snímek vm ještě před provedením dalších kroků, abyste mohli vrátit chybu/chybu).

Následující příklad rozšiřuje svazek v kořenovém oddílu v systému, který již používá LVM.

  1. ssh do systému, přepněte na root a spusťte cfdisk
    # cfdisk

  2. enter image description here

  3. enter image description here

  4. enter image description here

  5. enter image description here

  6. enter image description here

  7. enter image description here

  8. enter image description here

  9. enter image description here

  10. enter image description here

  11. enter image description here

  12. enter image description here

  13. Po ukončení cfdisk

     # fdisk -l /dev/sda 
     Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 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
     Disklabel type: dos
     Disk identifier: 0xc8b647ff
    
     Device     Boot    Start      End  Sectors  Size Id Type
     /dev/sda1  *        2048   999423   997376  487M 83 Linux
     /dev/sda2        1001470 16775167 15773698  7.5G  5 Extended
     /dev/sda3       16775168 41943039 25167872   12G 8e Linux LVM (***** See new partition /dev/sda3*****)
     /dev/sda5        1001472 16775167 15773696  7.5G 8e Linux LVM
    
  14. Restartujte systém před dalším krokem (jinak byste mohli dostat Device /dev/sda3 not found (or ignored by filtering))

     # shutdown now -r
    
  15. Inicializujte nový svazek

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  16. Získejte název svazku, který chcete rozšířit

     # vgdisplay
       --- Volume group ---
       VG Name               linuxetc1-vg (***** this is vg i'm extending*****)
       System ID             
       Format                lvm2
       Metadata Areas        1
       Metadata Sequence No  3
       VG Access             read/write
       VG Status             resizable
       MAX LV                0
       Cur LV                2
       Open LV               2
       Max PV                0
       Cur PV                1
       Act PV                1
       VG Size               7.52 GiB
       PE Size               4.00 MiB
       Total PE              1925
       Alloc PE / Size       1925 / 7.52 GiB
       Free  PE / Size       0 / 0  
       ...
    
  17. Rozšiřte skupinu svazků

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  18. Rozšiřte kořen

     # lvextend -l+100%FREE /dev/linuxetc1-vg/root
       Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).
       Logical volume root successfully resized.
    
    
     Or if you only wanted to give 5 more GB to root
     # lvextend -L +5g /dev/linuxetc1-vg/root
    
  19. Získejte název systému souborů pro další krok

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  20. Rozšiřte souborový systém

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  21. Podívejte se na zvětšenou velikost

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

2. Rychlejší metoda testovaná na serveru Ubuntu 18.04.3 LTS

Tato metoda je o něco rychlejší než ta první. Je to kvůli nové možnosti v nabídce cfdisk nazvané "Resize", která ukládá některé kroky.

Po rozšíření svazku ve VMware ESXi (vypnutí vm, záloha/export vm, odstranění všech snímků, poté zvětšení počtu disků, pořídte snímek vm ještě před provedením dalších kroků, abyste mohli vrátit chybu/chybu).

Následující příklad rozšiřuje svazek v kořenovém oddílu v systému, který již používá LVM.

  1. ssh do systému, přepněte na root a spusťte cfdisk.

  2. Vyberte oddíl, který chcete rozšířit, a vyberte „Změnit velikost“. enter image description here

  3. Nastavte "Nová velikost". enter image description here

  4. Po stisknutí klávesy Enter uvidíte obrazovku s následující poznámkou „Velikost oddílu [someNumber] změněna“: enter image description here

  5. Dále budete muset "napsat" (uložit) vaše změny: enter image description hereenter image description hereenter image description here

  6. Ukončete cfdisk. Po ukončení se zobrazí zpráva „synchronizace disků“. enter image description hereenter image description here

  7. Nyní jsem restartoval svůj systém, ale nemusí to být nutné. Nyní můžete vyzvednout z kroku 19 z první metody (opakuje se níže).

  8. (19) Získat název systému souborů pro další krok

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  9. (20) Rozšiřte souborový systém

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  10. (21) Viz zvětšená velikost

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

Články:
https://wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm

26
jtlindsey

Podařilo se mi rozšířit svůj primární oddíl ext4 pomocí popsané metodologie zde .

Několik poznámek z mé osobní zkušenosti:

  • Příklad odkazu je pro zmenšení oddílu, proto je pořadí nejprve resize2fs a poté fdisk. Při zvětšování oddílu (stejně jako v mém případě) by mělo být pořadí nejprve fdisk, restartujte počítač a pak změňte velikost2fs. Pokud používáte fdisk, měly by být odstraněny a znovu definovány primární i rozšířené oddíly.
  • Zavedl jsem Ubuntu z jiné jednotky a poté jsem pracoval na této jednotce, která byla ve skutečnosti zrcadlem (pomocí dd) starší jednotky. Díky GPartedu bylo zaváděcí
  • Aktuální verze resize2fs (používám Ubuntu 12.04LTS) podporuje ext4 - není třeba provádět akce popsané v odkazu na změnu ext2.
0
Elchanan

Odpověď od Sergeje byla vynikající. Pokud však nemáte prázdné místo přímo v dalším zařízení, budete muset odstranit jiná zařízení. Například:

Device     Boot    Start       End  Sectors Size Id Type
/dev/sda1  *        2048  33556477 33554430  16G 83 Linux
/dev/sda2       33556478  41940991  8384514   4G  5 Extended
/dev/sda3       41940992 125829119 83888128  40G 83 Linux
/dev/sda5       33556480  41940991  8384512   4G 82 Linux swap / Solaris

Ve výše uvedeném případě, pokud chcete sloučit /dev/sda3 s /dev/sda1, budete muset odebrat /dev/sda1, /dev/sda2, a /dev/sda3 (s příkazem d) a znovu přidejte /dev/sda2 a aktualizujte jeho typ (pomocí příkazů n a t).

0
jaycode