Jak zmniejszyć woluminy logiczne i fizyczne Ubuntu LVM?


26

Zainstalowałem Ubuntu 12.10 jako jedyny system operacyjny w moim systemie.

Powiedziałem Ubuntu, aby nadpisało wszystko, gdy mi się spieszyło, dlatego mam tylko dwie partycje, które tworzy Ubuntu, partycję rozruchową kilkaset MB, a potem wszystko inne.

Główna partycja ma około 600 GB,

Chcę zmienić rozmiar na 450 GB, aby móc zainstalować system Windows 8 jako podwójny rozruch.

Problem polega na tym, że nie mogę wymyślić, jak zmniejszyć partycję, zwykle jest to w porządku z Gparted (gparted-live-0.14.1-6-i486.iso) na żywo iso, po prostu zmień rozmiar i jesteś gotowy.

Ale tym razem Ubuntu zostało zainstalowane z LVM.

Tak więc na partycji Ubuntu znajduje się ikona kłódki. To uniemożliwia mi robienie czegokolwiek, mogę wybrać partycję, a istnieje opcja „dezaktywacji”, która, jeśli mam rację, to dezaktywacja zamiany? Jeśli to zrobię, mogę manipulować partycją.

Pytam tutaj, czy jest to właściwa rzecz, zanim zepsuję mój system.

  1. Rozruch z Live ISP Gparted.
  2. Wybierz partycję Ubuntu.
  3. „Dezaktywuj” partycję.
  4. Zmień rozmiar partycji.
  5. „Aktywuj” partycję.
  6. Zastosować.
  7. Zysk???

Czy moje myślenie jest prawidłowe?

Edytuj nr 1

Po dłuższym czacie sprowadziłem się do tego polecenia

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

Co skutecznie zmniejszyło partycję logiczną.

Gparted New Shot

Ale teraz mam trudną część.

Teraz muszę zmniejszyć partycję fizyczną, aby móc utworzyć nową partycję fizyczną z miejscem na instalację systemu Windows 8.

Więc pomyślałem, że mogę biec

pvresize --setphysicalvolumesize {any size here} /dev/sda5

Ale wracam:

/ dev / sda5: nie można zmienić rozmiaru do zakresu xxxxx, ponieważ przydzielono późniejsze.

Uważam, że jest to spowodowane wymianą z powodu tego obrazu:

Darn Swap!, więc jaki jest mój następny krok?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Informacje dodatkowe przed edycją nr 1

Zrzut ekranu Gparted
Uwaga: powyższe zdjęcie pochodzi z wersji Gparted w repozytoriach Ubuntu, a nie najnowszej wersji

matthew @ play: ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 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: 0x00000000

Disk /dev/mapper/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 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: 0x00000000

Disk /dev/mapper/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play: ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play: ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play: ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 

Upewnij się, że korzystasz z najnowszej wersji GParted (dopiero niedawno uzyskałeś wsparcie LVM - jesteś więc tylko notatką dla innych czytelników). A dezaktywacja to, jak sądzę, dezaktywacja grupy woluminów ( vgchange -an myvgname), która może być potrzebna, jeśli zamierzasz zmienić wolumin fizyczny. :) Och, to prawie odpowiedź.
gertvdijk

Więcej szczegółów podanych.
Hailwood

@gertvdijk Wyślij mi ping na czacie, jeśli potrzebujesz szybkich informacji.
Hailwood,

Czy to zostało rozwiązane? Szukam zmniejszenia partycji fizycznej, aby zainstalować kolejną wersję systemu operacyjnego obok siebie.
Jamess,

Odpowiedzi:


17

Są to wszystkie kroki wymagane do zmiany rozmiaru partycji LVM lub LVM2 -

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Musisz zmienić rozmieszczenie nieprzydzielonego miejsca na końcu LVM. Oznacza to po partycji root i swap_1. Tak więc musisz przenieść to wolne miejsce za pomocą poniższego polecenia

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

Teraz użyj poniższego polecenia, aby usunąć fragmentację zewnętrzną -

sudo pvmove --alloc anywhere /dev/sda5:yyy-zzz

Zobaczmy teraz, jak to idzie -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

Następnie użyj rozciętej i zmień rozmiar LVM do maksymalnej powierzchni użytkowej, a reszta będzie w nieprzydzielonym miejscu. Cieszyć się...


7

Teraz, gdy masz już mniejszy główny LV, lvremovezamień LV i odtwórz go. Powinno to zmusić go do bezpośredniego dołączenia do głównego LV pod względem pozycji. Gdy to zrobisz, powinieneś być w stanie do pvresizefizycznego woluminu. Następnie przerażające jest edytowanie tablicy partycji ( fdisk), aby zmniejszyć rozmiar partycji do nowego rozmiaru PV, tym samym zwalniając miejsce dla instalatora Windows.

W celu zmniejszenia rozmiaru partycji polecam nieco większy, o kilka MB, niż raport PV, jego rozmiar jako i powiększenie PV i root LV, aby wypełnić wolne zakresy. W ten sposób możesz mieć pewność, że A) używasz całej wielkości partycji dla LVM i nie tracisz przestrzeni, czyniąc ją niedostępną, i B) nie odcinasz ważnych danych z PV przez błędną interpretację binarnego KiB / MiB / GiB dla dziesiętnego KB / MB / GB lub odwrotnie podczas operacji fdisk.

Nowa zamiana, jeśli utworzysz nową, aby upewnić się, że jest dołączona do głównego LV, jak sugeruję powyżej, będzie miała inny identyfikator UUID, a zatem twój plik / etc / fstab nie będzie pasował. Po zakończeniu zmiany rozmiaru będziesz musiał mount /dev/ubuntu/root /mntedytować / mnt ** / etc / fstab **.

W pliku fstab musisz znaleźć pozycję wymiany podobną do poniższej i zaktualizować wartość szesnastkową po UUID = wartością zgłoszoną przez blkid.

Kroki blkidw moim systemie są następujące:

  1. biegać

    blkid /dev/ubuntu/swap_1
    

    które wyjścia

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. skopiuj wartość UUID

    9e99b37a-38af-4987-85eb-92048abd9825

  3. edytuj plik / etc / fstab z głównego katalogu LV i wstaw wartość UUID zamiast starego UUID.

    odnaleźć

    UUID=**old-uuid** none swap sw 0 0
    

    zastąp swój nowy UUID zamiast old-uuid

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    alternatywnie możesz wymienić mechanizm UUID i użyć /dev/ubuntu/swap_1np

    /dev/ubuntu/swap_1 none swap sw 0 0
    

Ta procedura wraz z omawianymi edycjami pomogła mi zmienić rozmiar partycji. Nie mogłem znaleźć polecenia lvdelete (12.04) i użyłem lvremove do usunięcia partycji wymiany. Rozmiar pvres działał jak urok. Następnie użyłem gparted Live CD, aby zmienić rozmiar partycji na mniejszy. zakończył operację i utworzono nieprzydzielony rozmiar. Sugerowałbym, aby pytający udzielił pełnej odpowiedzi.
Jamess,

Nawiasem mówiąc, nie używałem UUID (czy to zmieniłem, nie pamiętam), może systyem nigdy nie używał UUID do zamiany. Więc mogłem pominąć kroki edycji UUID.
Jamess,

Jak odtworzyć zamianę lv 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, następnie sprawdź poprawność wpisów / etc / fstab i jeśli potrzebna zmiana UUID.
Jamess,

Dzięki za wzmiankę o lvdeletemojej błędnej odpowiedzi. Poprawiłem teraz tekst, aby cytował właściwą lvremovenazwę.
Daniel Llewellyn

6

Użyj KVPM z Software Center. Zainstalowałem Ubuntu 14.10 LTS, używając całego dysku, jednego ogromnego LVM (wiem o co chodzi z jednym wielkim LVM), ale chciałem dodać kolejne dwa LVM dla innego systemu operacyjnego i napędu danych. Użyłem KVPM, mówi w opisie menedżer partycji KDE, ale działa świetnie 14.04. Oto kroki.

  1. Pobierz 14.04LTS i utwórz bootowalny USB.
  2. Uruchom z USB, używając opcji TRY UBUNTU, więc korzystasz z pamięci USB.
  3. Zainstaluj KVPM z Software Center.
  4. Uruchom KVPM z wybranego terminala,

    sudo kvpm- jeśli po prostu uruchomisz kvpm, płyta CD na żywo wyświetli błąd i zawiesi się.

  5. Gdy kvpm otworzy GUI, przejdź do zakładki oznaczonej some_drive-vg

  6. Podświetl głośność, której rozmiar chcesz zmienić, i kliknij prawym przyciskiem myszy, aby wyświetlić opcje, wybierz zmniejsz głośność.
  7. Możesz ponownie oznakować LVM w tym samym czasie, gdy wprowadzasz nowy rozmiar.
  8. Postępuj zgodnie z instrukcjami, aby zatwierdzić zmianę i voila, będziesz mieć nieprzydzielone wolne miejsce.
  9. Z dostępnej przestrzeni możesz zrobić tyle nowych LVM, ile potrzebujesz. Mój wyświetlacz pokazał jasnozielone nieprzydzielone miejsce, wystarczy kliknąć prawym przyciskiem myszy zielony obszar, jedyną opcją będzie „Utwórz nowy wolumin logiczny”.

Napisanie tego zajęło mi więcej czasu niż wykonanie całego procesu.

Nawiasem mówiąc, partycja / root, której rozmiar I zmieniłem, działa doskonale po wszystkich zmianach. Po prostu uruchom ponownie dysk twardy w wybranym systemie operacyjnym i ciesz się nowymi znalezionymi woluminami.


0

KVPM to droga, bez konieczności ponownego uruchamiania.

  1. Kliknij prawym przyciskiem myszy Odłącz partycję
  2. zmniejsz rozmiar
  3. kliknij prawym przyciskiem myszy inny rozmiar rozszerzenia partycji
  4. zamontuj oryginalną partycję

GOTOWY!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.