Zwiększ Swap w Ubuntu 18.04 pod Lvm i zaszyfrowanym systemem plików

22

Zrobiłem czystą instalację Ubuntu 18.04 Desktop.

Użyłem graficznego instalatora i wybrałem „Szyfruj nową instalację Ubuntu dla bezpieczeństwa”.

Używał domyślnie LVM i utworzył partycję dla wymiany zamiast pliku. Oto sudo swapon -swynik:

eviatan89@leviatan89-K55VD:~$ sudo swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-2                               partition   1003516 999448  -2

Muszę zwiększyć rozmiar, ponieważ mam dużo problemów z brakiem pamięci RAM.

Jako ciekawostkę pojawiają się problemy przy korzystaniu z Cassandry i Firefoksa z kilkoma otwartymi kartami (w tym YouTube). Mój system ma 6 GB pamięci RAM.

Bardzo dziękuję za Twoją pomoc!

leviatan89
źródło
centos.org/docs/5/html/5.1/Deployment_Guide/… pracował dla mnie (szyfrowanie pełnego dysku 18.04)
olejorgenb
1
Wędruję, czy możemy po prostu powiększyć partycję. LVM powinien to ułatwić, prawda? Czy ktoś tego próbował? Nie można znaleźć odpowiedzi z tą opcją.
AlikElzin-kilaka
Próbowałem zmienić rozmiar partycji za pomocą aplikacji dyskowej, ale opcja nie była dostępna. Nawet po tym, jak go „zatrzymałem”. Próbowałem również uruchomić komputer z napędu USB, który nie montuje niczego na dysku twardym, ale opcja zmiany rozmiaru nie była dostępna dla partycji LVM. Może to dlatego, że „główna” partycja jest zablokowana? Po odblokowaniu opcja była nadal niedostępna.
AlikElzin-kilaka
@ AlikElzin-kilaka: tak, musisz użyć,kpvm aby zmienić rozmiar swapwoluminu, i rzeczywiście jest to bardzo łatwe.
Dan Dascalescu,
@DanDascalescu Rozszerz wolumin logiczny ... jest wyłączony dla mojej swap_1partycji, podobnie jak Zmniejsz wolumin logiczny ... dla root. Co robić?
Bojan P.

Odpowiedzi:

29

Najłatwiejszym rozwiązaniem byłoby dodanie pliku wymiany. Jeśli już szyfrujesz swój główny system plików, nie zawracałbym sobie głowy zaszyfrowanym plikiem wymiany, który jest tylko trochę trudniejszy, ale wolniejszy. Zaletą pliku wymiany jest to, że można go później usunąć, aby odzyskać miejsce na dysku. A dysk jest już zaszyfrowany!

Kroki są proste. Najpierw utwórz plik. Na przykład spowoduje to utworzenie 1 GB nowej wymiany:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

of=/swapfileMówi ddumieścić nowy plik wymiany w /swapfile. Możesz to nazwać jak chcesz. Możesz także dodać wiele plików wymiany. W najnowszych jądrach Linuksa prędkość jest taka sama jak partycji wymiany.

Następnie musisz sformatować plik wymiany jako przestrzeń wymiany, tak jak poniżej:

sudo mkswap /swapfile

To polecenie da ci dane wyjściowe, takie jak:

Setting up swapspace version 1, size = 1048576 KiB

no label, UUID=83352590-ef57-49f5-84c4-7fb847e4e4e0

I to jest twój nowy plik wymiany. Na koniec musisz aktywować wymianę na swoim komputerze za pomocą następującego polecenia:

sudo swapon /swapfile

Teraz sudo swapon -spowinien pokazać zarówno partycję wymiany, jak i plik wymiany.

Następnie zalecam dodanie niektórych zabezpieczeń poprzez zmianę uprawnień w następujący sposób:

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Jeśli do tej pory wszystko wydawało się dobre, możesz dodać plik wymiany na stałe, dodając następujący wiersz do /etc/fstabswojego ulubionego edytora:

/swapfile       none    swap    sw      0       0

Oczywiście możesz dodać wiele plików wymiany. I możesz usunąć plik wymiany za pomocą sudo swapoff /swapfile.

Mam nadzieję że to pomoże.

Martin W.
źródło
2
Dzięki! Zadziałało. To polecenie dd użytym do dodawania 4G plik wymiany sudo dd if = / dev / zero = / swapfile bs = 1024 zliczania = 4096k
leviatan89
Dlaczego to 1024k? Moja intuicja powiedziałaby, że to był 1 megabajt, a nie koncert.
grofte
4
Parametr rozmiaru bloku „bs” jest w bajtach. Tak więc liczba 1024k lub 1 milion bloków 1KB to 1 GB.
Martin W
Ponieważ OP używa LVM, jeszcze łatwiej byłoby po prostu zmienić rozmiar swapwoluminu za pomocą kpvm.
Dan Dascalescu,
@DanDascalescu… łatwiej, chyba że OP woli nie instalować bibliotek KDE dla tego problemu
törzsmókus
3

Dodanie do najwyższej odpowiedzi . Ponieważ nie mam reputacji do komentowania. Przeprosiny.

W przypadku, gdy próbujesz zwiększyć przestrzeń wymiany i już masz przydzieloną przestrzeń wymiany.

Ostrzeżenie : Zamknij aplikacje korzystające z przestrzeni wymiany.

Najpierw zrób to, inaczej pojawi się błąd :

sudo swapoff -a

A następnie postępuj zgodnie z instrukcjami powyżej.

Powyższy proces spowoduje również usunięcie poprzedniej przestrzeni wymiany, więc jeśli masz 2 Gigi wymiany i chcesz dodatkowe 6 Giga, będziesz musiał przydzielić 9 nowych Giga przestrzeni wymiany. Lub nazwij plik wymiany na coś innego niż inne pliki wymiany.

sudo dd if=/dev/zero of=/swapfile2 bs=1024 count=6144k

Błąd:

~ $sudo dd if=/dev/zero of=/swapfile bs=1024 count=6144k                     
dd: failed to open '/swapfile': Text file busy

UWAGA: To sugeruje Rozszerzenie @Martin W za odpowiedź

CRAYonhere
źródło
Dzięki LVM nie potrzebujesz pliku wymiany. Możesz bardzo łatwo zmienić rozmiar swapgłośności za pomocą kpvm.
Dan Dascalescu
1

Pamiętaj, że jeśli Twoja instalacja korzysta z LVM, być może masz już wolumin wymiany. Sprawdź za pomocą kvpm. Jeśli tak nie jest, tutaj są zwięzłe kroki, aby utworzyć nowy plik wymiany 4 GB. Najpierw zamknij wszystkie aplikacje korzystające z przestrzeni wymiany (lub uruchom ponownie komputer). Następnie:

sudo swapoff -a                                    # Turn off all swap space.
sudo rm /swapfile                                  # Delete current swap file.
sudo dd if=/dev/zero of=/swapfile bs=1G count=4    # Make a new 4GB swap file.
sudo chown root:root /swapfile                     # Set owner to root, group root
sudo chmod 0600 /swapfile                          # Set permission to root
sudo mkswap /swapfile                              # Convert file to swap format
sudo swapon /swapfile                              # Enable swap space

Uruchom htoplub inny monitor systemu, aby sprawdzić, czy nowa zamiana obowiązuje. Jeśli wszystko wygląda dobrze, ustaw plik wymiany na stałe, dodając następujący wiersz do /etc/fstab:

/swapfile       none    swap    sw      0       0
rubel
źródło
Jeśli potrzebuję 12 GB wymiany, muszę po prostu zmienić count = 12288, prawda?
user_6396
1
Rzeczywiście4096*3=12288
Alexis Paques
Dzięki LVM nie potrzebujesz pliku wymiany. LVM ułatwia zmianę rozmiaru swapwoluminu za pomocą kpvm.
Dan Dascalescu
0

Używał domyślnie LVM i utworzył partycję dla wymiany zamiast pliku.

To nie jest właściwie partycja; raczej jest to wolumin LVM ( Logical Volume Management ). Możesz zobaczyć woluminy LVM, używając kvpm:

zrzut ekranu kpvm z głośnością wymiany

Tak więc poprawną odpowiedzią na twoje pytanie nie jest utworzenie kolejnego miejsca docelowego wymiany (pliku wymiany), ale zmiana rozmiaru wolumenu wymiany za pomocą kvpm: kliknij prawym przyciskiem myszy swapwolumin i wybierz Extend logical volume.

Jeśli ta opcja nie jest dostępna, konieczne może być najpierw zmniejszenie rozmiaru innego woluminu.

Dan Dascalescu
źródło
Czy to zadziała podczas używania zfsna Ubuntu 19.10?
AlikElzin-kilaka
1
Rozszerz wolumin logiczny ... jest wyłączony dla mojej swap_1partycji, podobnie jak Zmniejsz wolumin logiczny ... dla root. Co robić?
Bojan P.
-1

Jeśli korzystasz z mennicy 19.X, oto kilka zwięzłych kroków:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=10240k # make 10G swapfile
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
sudo mkswap /swapfile

edytować /etc/fstab

linia komentarza: /dev/mapper/mint--vg-swap_1 none swap sw 0 0

dodaj linię: /swapfile none swap sw 0 0

Następnie uruchom ponownie.

Tom Berghuis
źródło