Mam maszynę wirtualną, której ostatnio obraz dysku został zwiększony z 20 GB do 50 GB, i fdisk -l
sprawdza, czy maszyna wirtualna widzi ten nowy rozmiar. Teraz muszę zmienić rozmiar głównej partycji LVM, aby wypełnić dodatkowe 30 GB.
Znalazłem kilka artykułów na temat zmiany rozmiaru LVM, ale kilka z nich dotyczy zmiany rozmiaru partycji głównej, wszystkie twierdzą, że musisz uruchomić komputer z LiveCD. Czy istnieje sposób, aby to zrobić bez wyłączania serwera? Serwer jest krytyczny, dlatego chciałbym zminimalizować przestoje.
Edycja: Dane wyjściowe fdisk -l
:
[root@fedora-host ~]# sudo fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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: 0x00097c90
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 83886079 41430016 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 36.1 GB, 36104568832 bytes
255 heads, 63 sectors/track, 4389 cylinders, total 70516736 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/VolGroup-lv_root doesn't contain a valid partition table
Disk /dev/mapper/VolGroup-lv_swap: 6308 MB, 6308233216 bytes
255 heads, 63 sectors/track, 766 cylinders, total 12320768 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/VolGroup-lv_swap doesn't contain a valid partition table
Edycja: Jak zmienić rozmiar partycji fizycznej? fdisk widzi wolne miejsce, ale nie wiem, jak zmienić rozmiar podstawowej partycji LVM, aby z niej skorzystać. Próbowałem uruchomić się na LiveCD i użyć resize
polecenia parted'd , ale wszystko, co mi to daje, to błąd „Nie można wykryć systemu plików”. Znalazłem ten przewodnik , który mówi, że muszę usunąć partycję i utworzyć nowy o odpowiednim rozmiarze, ale to brzmi bardzo niebezpiecznie.
Ostateczna edycja: resize
Polecenie Parted dziwnie nie może zmienić rozmiaru partycji LVM. Domyśl. Zamiast tego po prostu usunąłem starą partycję i utworzyłem nową z nowym zakresem, zgodnie z powyższym linkiem, i która prawidłowo zmieniła rozmiar partycji LVM. Następnie zastosowałem się do poniższych wskazówek, aby zmienić rozmiar woluminów i systemów plików wewnątrz partycji LVM.
Odpowiedzi:
Możesz rozwinąć wolumin logiczny online. Musisz go odmontować, aby go zmniejszyć (co wymaga trybu LiveCD / trybu ratunkowego).
pvresize /dev/sda2
(zakładając, że twoja partycja LVM tosda2
. Wymień w razie potrzeby.)lvextend /dev/mapper/root -l+100%FREE
(lub jakkolwiek nazywany jest główny wolumin logiczny).resize2fs /dev/mapper/root
(przy założeniu ext2 / 3/4)źródło
lvextend -L [size][unit] /dev/group/volume
, choćby dlatego, że mogę zwiększyć wolumen o 10 gigabajtów, określając-L +10G
Now I need to resize my root LVM partition to fill the extra 30GB.
(Który ma zwiększyć logiczny wolumen o dostępne wolne miejsce.)-r
opcjęlvextend
, zaczepi się,fsadm
aby zmienić rozmiar FS. To spowodowałoby, że trzeci krok stałby się zbędny.pvresize /dev/sda2
Komenda nic nie robi aż partycji / dev / sda2 został zmieniony z rozstał lub fdisk. Musiałem zmienić rozmiar mojego z fdisk, ponieważ parted w moim systemie nie wyświetlał lub nie miał polecenia zmiany rozmiaru. Zmiana rozmiaru Fdisk obejmuje usuwanie i ponowne tworzenie partycji.Czy Twój system naprawdę zmienił się z 20 na 50 GB? To wydaje się naprawdę dziwne, ponieważ twoje urządzenie sda2 ma ~ 40 GB, lv_root pokazuje 36 GB, a swap pokazuje 6 GB.
Twój wyjście
fdisk -l
pokazuje całkowitą sektorów/dev/sda
Is104857600
. Ostatnim wykorzystywanym sektorem/dev/sda2
jest83886079
. Mówi mi to, że nie dostosowałeś rozmiaru partycji, aby wykorzystać całe dostępne miejsce na dysku. Polecenie pvresize nie zmienia tablicy partycji. Najpierw musisz zmienić tablicę partycji.źródło
Zainstaluj gparted. Uruchom jako root (użyj zdalnego ssh -X lub x2go). Wybierz partycję. Powinien pokazywać wolne miejsce za końcem (po prawej). Jeśli tak się nie stanie, musisz ponownie uruchomić maszynę wirtualną, aby zobaczyć nowy rozmiar urządzenia wirtualnego. To powinno być minimalne przestoje z systemd.
Kliknij prawym przyciskiem myszy i wybierz Zmień rozmiar. Przeciągnij koniec na koniec dysku. Upewnij się, że nie dotykasz początku. gparted jest w stanie przenieść partycję podczas zmiany rozmiaru, ale to oczywiście zniszczy działający system. Ale przeniesienie końca jest w porządku. Przejrzyj oczekującą operację, którą wykona gparted, aby upewnić się, że rozszerzasz i nie przenosisz partycji. Kliknij Zastosuj. gparted zmieni partycję na dysku, a następnie wyda jądro ioctl, aby ponownie odczytać tablicę partycji, zmieniając również rozmiar urządzenia na żywo. Następnie, ponieważ widzi, że jest to PV LVM, uruchamia dla ciebie pvresize. Wyjdź z gparted, a vgs pokazuje teraz twoje nowe miejsce.
Słyszałem pogłoski, że rozstanie może zrobić to wszystko bez narzutu GUI, ale nigdy nie byłem w stanie zrozumieć voodoo. Parted musi być jednym z najgorszych interfejsów CLI, jakie kiedykolwiek próbowałem użyć.
Nie używaj fdisk, musisz usunąć i ponownie przypisać partycję, aby zmienić rozmiar, a domyślnie wyczyści podpis LVM2 podczas zapisu. Myślę, że widziałem „zaawansowaną” opcję wyłączenia tego destrukcyjnego zachowania, ale nigdy go nie testowałem.
Możesz także spróbować cfdisk (curses fdisk). Może mieć możliwą zmianę rozmiaru partycji. Łatwo jest uruchomić pvresize ręcznie i istnieje polecenie, aby jądro ponownie odczytało tablicę partycji. Ale musiałbym przetestować, aby upewnić się, że nie czyści podpisu LVM jak fdisk.
źródło
Jeśli wolumin fizyczny LVM znajduje się na partycji, nie, nie można zmienić jego rozmiaru bez ponownego uruchomienia.
Możesz edytować tablicę partycji na dysku, ale Linux odmówi jej użycia do momentu ponownego uruchomienia.
Jeśli używasz XFS, przełącz się
resize2fs
naxfs_growfs
.Możesz wyświetlić używane PV i LV w grupie głośności za pomocą
pvs
ilvs
.PV na dysku surowym
PV na partycji
Najpierw trzeba zmienić rozmiar partycji, stosowanie
parted
,fdisk
lub podobnego narzędzia do tego. Pamiętaj, że te narzędzia edytują tylko opis, w którym znajdują się partycje, nie przenoszą danych. Innymi słowy, łatwo można rozszerzyć tylko ostatnią partycję na dysku. Następnie uruchom ponownie komputer, a następnie powinieneś być w stanie poinformować LVM, że ma dostępną dodatkową przestrzeń:źródło
sudo pvresize /dev/sda2
zgłasza „zmiana rozmiaru 1 woluminu fizycznego”, alesudo lvextend /dev/mapper/VolGroup-lv_root -L +10G
kończy się błędem „niewystarczająca ilość wolnego miejsca: potrzeba 320 zakresów, ale dostępne jest tylko 0”.sudo fdisk -l
raporty, że mam 54G dostępne, asudo pvdisplay
raporty tylko 40G są w użyciu. Dlaczego Lvextend zawodzi?resize
polecenia parted, aby zwiększyć rozmiar partycji podstawowej, ale pojawił się błąd „Nie można wykryć systemu plików”. Jak zmienić rozmiar partycji za pomocą parted lub fdisk?Rozważę sprawdzenie ssm (system-storage-manager), jeśli jest dostępny w twojej dystrybucji.
Sprawdź to, aby uzyskać więcej informacji: /unix//a/293173
Wydaje się, że ssm ułatwia zmianę wielkości woluminów logicznych bez konieczności robienia wszystkiego samemu.
Po ponownym uruchomieniu systemu operacyjnego i zalogowaniu się jako root, mogłem użyć go do rozszerzenia partycji domowej. (W sumie musiałem zrestartować się dwa razy, ale w końcu zadziałało i mam teraz dodatkowe 50G w mojej / domowej wersji).
źródło
Po połączeniu 25 poradników w końcu mam takie rozwiązanie. Nie wymaga płyty CD na żywo, jest całkowicie w ruchu.
Krok 1. sformatuj partycję z parted (bez GUI). W tym przykładzie maksymalny rozmiar dysku został zwiększony z 8BG do 32 GB w wirtualnym pudełku.
Krok 2. Utwórz wolumin fizyczny na podstawie nowej partycji
Krok 3. Dodaj wolumin fizyczny do grupy woluminów. W zwykłej instalacji serwera fedora 28 grupa woluminów nosi nazwę fedora.
Krok 4. Dodaj dostępne miejsce w grupie woluminów do woluminu logicznego. W zwykłej instalacji serwera Fedora 28 wolumin logiczny nazywa się root.
Krok 5. Powiedz systemowi plików w woluminie logicznym, aby wykorzystał dodatkową przestrzeń. W Fedorze system plików to XFS.
Uwaga! xfs_growfs używa punktu podłączenia do identyfikacji systemu plików, a nie nazwy systemu plików znalezionego w danych wyjściowych df !!!!!!!
Polecenie „xfs_growfs / dev / mapper / fedora-root” powie ci, że / dev / mapper / fedora-root nie jest zamontowanym systemem plików XFS. Jeśli używasz innego systemu plików, zapoznaj się z https://www.tldp.org/HOWTO/LVM-HOWTO/extendlv.html
Krok 6. Ciesz się
źródło
Wypróbuj testdisk
sudo dnf zainstaluj testdisk
sudo testdisk
Wystarczy ustawić plik dziennika, a następnie wyświetli listę partycji, - wybierz nośnik / partycję - następnie wpisz - i przeanalizuj - szybkie wyszukiwanie - wybierz i zapisz
źródło