How To Add Swap Space on Ubuntu 20.04

Ten poradnik skupia się na tym, jak utworzyć przestrzeń wymiany w Ubuntu 20.04 za pomocą partycji wymiany lub pliku wymiany.

Dla administratorów systemu, to jest dość powszechne dla serwerów, aby zabrakło pamięci RAM.

W niektórych przypadkach, może masz uruchomione zbyt wiele programów lub niektóre z programów są już przy użyciu zbyt wiele zasobów.

W tym przypadku, nie masz wiele opcji.

Możesz albo zatrzymać niektóre procesy w celu uzyskania trochę pamięci RAM, ale może nie być w stanie tego zrobić.

Na szczęście, masz inne rozwiązanie : dodanie trochę miejsca wymiany.

W tym samouczku, dowiesz się, jak można dodać miejsce wymiany na Ubuntu 20.04 : poprzez partycję wymiany lub plik wymiany.

Table of Contents

Wymagania wstępne

Przed rozpoczęciem, upewnij się, że masz uprawnienia sudo na Ubuntu 20.04.

$ groups

Jeśli widzisz grupy „sudo” na liście grup, powinieneś być w stanie stworzyć partycję swap.

Sprawdzenie istniejących partycji swap

Aby sprawdzić istniejące partycje swap w systemie, musisz użyć polecenia „swapon”.

$ sudo swapon --show

Domyślnie, podczas instalacji Ubuntu, bardzo często zdarza się, że partycja wymiany jest już utworzona.

W konsekwencji powinieneś zobaczyć następujące wyjście na swojej konsoli.

Jak widzisz, posiadam partycję swap o nazwie „dm-1” o rozmiarze 980 Mb.

Jednakże moja obecna pamięć RAM jest wystarczająca dla mojego serwera, więc nie jest ona w ogóle używana.

Jeśli nie są skonfigurowane przestrzenie wymiany na serwerze, powinieneś zobaczyć następujące wyjście.

Dodaj przestrzeń wymiany na Ubuntu 20.04 używając partycji wymiany

Pierwszym sposobem na dodanie przestrzeni wymiany na Ubuntu jest dodanie partycji wymiany.

Aby dodać tę partycję, użyjemy :

  • komendy „lvcreate”, jeśli jesteś na urządzeniu LVM (czyli partycji dysku sformatowanej jako LVM)
  • komendy „fdisk”, jeśli jesteś na „zwykłym” dysku.

a – Tworzenie partycji Swap na urządzeniu LVM

Przede wszystkim, musisz sprawdzić istniejące partycje na twoim hoście.

$ sudo fdisk -l

Jak widać tutaj, mam już trzy partycje :

  • /dev/sda1 : moja partycja rozruchowa, ponieważ mam tutaj do czynienia z dyskiem MBR;
  • /dev/sda2 : partycja rozszerzona o rozmiarze 14,5 GB;
  • /dev/sda5 : moja podstawowa partycja LVM.

Wiedząc o tym, możesz utworzyć partycję wymiany na partycji rozszerzonej lub na swojej podstawowej partycji LVM.

W tym przypadku, wybieramy utworzenie tej partycji na partycji LVM.

W konsekwencji będziemy musieli sprawdzić, czy mamy na nią trochę miejsca.

Dla przypomnienia, /dev/sda5 jest partycją dyskową, zwaną również woluminem fizycznym, połączoną z grupą woluminów.

Aby sprawdzić, czy mamy trochę wolnego miejsca, musimy użyć polecenia „vgs”.

Jeśli nie jesteś zaznajomiony z LVM, polecam przeczytać najpierw nasz dedykowany artykuł na ten temat.

$ sudo vgs

W tym przypadku mamy około 980 Mb pozostałego miejsca, które powinno wystarczyć dla naszej partycji wymiany.

Aby utworzyć nowy wolumin logiczny na tej grupie woluminów, użyjemy polecenia „lvcreate”.

$ sudo lvcreate -L 500M -n lvswap vgubuntu

Uwaga : możesz zostać poproszony o usunięcie podpisu swap na danym woluminie logicznym. Możesz nacisnąć „y”, jesteś pytany o tę informację, ponieważ wcześniej istniała partycja o tej samej nazwie.

Możesz sprawdzić, czy twój wolumin logiczny został poprawnie utworzony, używając polecenia „lvs”.

$ sudo lvs

b – Utwórz partycję Swap na zwykłej partycji

Możesz pominąć tę sekcję i przejść do następnej, jeśli już utworzyłeś partycję na urządzeniu LVM.

Jeśli masz do czynienia ze „zwykłą” partycją linuksową, będziesz musiał użyć polecenia fdisk.

W naszym przypadku, nasza „zwykła” (typu linuksowego) partycja nosi nazwę „/dev/sda2”.

$ sudo fdisk /dev/sdaWelcome to fdisk (util-linux 2.34).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): n

Aby utworzyć nową partycję, musisz użyć opcji „n”.

Command (m for help): nPartition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions)Select (default p) :

Możesz wybrać utworzenie partycji „primary”. Jeśli masz więcej niż cztery partycje podstawowe, możesz utworzyć jedną logiczną.

Select (default p) : pPartition number (2-4, default 2):

W tym przypadku możesz pozostawić ustawienia domyślne.

Na następny monit, jesteś proszony o określenie pierwszego sektora, można również pozostawić domyślne.

All space for primary partitions is in useAdding logical partition 5First sector (48291898-65062911, default 48291840):

Na koniec, jesteś proszony o określenie całkowitego rozmiaru partycji, która ma być utworzona. W naszym przypadku, wybierzemy 1GB przestrzeni wymiany (lub „+1G”).

Last sector, +/-sectors or +/-size{K,M,G,T,P} : +1GCreated a new partition 5 of type 'Linux' and of size 1 GiB.

Domyślnie, twoja partycja zostanie utworzona z typem „Linux” domyślnie.

Chcesz zmienić to na typ partycji wymiany.

Aby to osiągnąć, wpisz „t” dla „type” i zmień na „82” (dla swap)

Command (m for help): tPartition number (1,2,5, default 5): 1Hex code (type L to list all codes): 82

Wciśnij Enter, i upewnij się, że typ partycji został poprawnie zmieniony.

Changed type of partition 'Linux' to 'Linux swap / Solaris'

Nie zapomnij zapisać swoich zmian na dysku za pomocą polecenia „w”.

Command (m for help): wThe partition table has been alteredSyncing disks.

c – Włączenie partycji swap

Po pierwsze, upewnij się, że uruchomiłeś mkswap, aby nagłówki swap zostały poprawnie ustawione dla partycji.

# For a regular partition$ sudo mkswap /dev/sda5# For a LVM partition$ sudo mkswap /dev/vgubuntu/lvswap

Teraz, gdy nagłówki są ustawione, jest to tak proste jak aktywowanie przestrzeni wymiany używając „swapon”.

# For a regular partition$ sudo swapon /dev/sda5# For a LVM partition$ sudo swapon /dev/vgubuntu/lvswap

Teraz, gdy twoja swap jest włączona, upewnij się, że lista partycji swap jest ponownie dostępna z opcją „-show”.

$ sudo swapon --show

Niesamowite, udało ci się stworzyć partycję wymiany w Linuksie!

d – Uczyń swoją przestrzeń wymiany trwałą

Jak każdą inną partycję, musisz uczynić ją trwałą.

Jeśli miałbyś zrestartować swój serwer właśnie teraz, zmiany nie zostałyby zachowane.

Po pierwsze, musisz uzyskać identyfikator UUID dla nowo utworzonej partycji.

$ sudo blkid | grep "swap"

Skopiuj wartość UUID i edytuj plik fstab, aby dodać następujące zmiany.

$ sudo nano /etc/fstabUUID=<copied value> none swap defaults 0 0

Zapisz plik i uruchom ponownie system, aby upewnić się, że zmiany są trwałe.

$ sudo reboot$ sudo swapon --show

Dobrze, twoje zmiany są teraz trwałe!

Dodanie przestrzeni wymiany w Ubuntu 20.04 za pomocą pliku wymiany

Innym popularnym sposobem na dodanie przestrzeni jest stworzenie pliku do tego przeznaczonego.

Wiele tutoriali nie precyzuje tego szczegółu, ale pliki wymiany nie mogą zawierać żadnych dziur w ogóle.

To oznacza, że nie powinieneś używać polecenia cp na swoim hoście do tworzenia pliku wymiany.

Do tego celu będziesz używał polecenia „dd”, które upewni się, że nie masz żadnych dziur w swoim pliku.

a – Utwórz plik wymiany używając dd

Aby dodać przestrzeń wymiany, uruchom następujące polecenie

$ sudo dd if=/dev/zero of=swapfile bs=1MB count=$((1*2014))

W tym przypadku, zamierzasz utworzyć przestrzeń wymiany 2Gb.

Upewnij się, że plik wymiany został utworzony wydając następujące polecenie.

$ ls -l swapfile

b – Zabezpiecz swój plik wymiany uprawnieniami

Pliki wymiany mają być używane do celów optymalizacji pamięci.

W związku z tym nie powinny być w żaden sposób edytowane lub modyfikowane.

W związku z tym zmienimy jego uprawnienia.

$ sudo chmod 600 swapfile

W tym przypadku plik jest tylko do odczytu i zapisu dla konta root.

c – Włącz swój plik wymiany

Aby włączyć swój plik wymiany, możesz użyć polecenia „mkswap”, a następnie „swapon”.

$ sudo mkswap swapfile$ sudo swapon swapfile

Niesamowite, udało Ci się stworzyć swój plik wymiany!

Ostatnią rzeczą, którą musisz zrobić jest uczynienie go trwałym przy użyciu fstab.

d – Uczyń swój plik wymiany trwałym

Aby uczynić swoją przestrzeń wymiany trwałą, edytuj plik /etc/fstab i wklej następujące zmiany.

$ sudo nano fstab<path_to_file>/swapfile none swap defaults 0 0

Zapisz swój plik i uruchom ponownie, aby upewnić się, że przestrzeń wymiany jest nadal zamontowana.

$ sudo reboot$ sudo swapon --show

Pomyślnie dodałeś trochę przestrzeni wymiany na swoim Ubuntu 20.04!

Rozwiązywanie problemów

Podczas dodawania przestrzeni wymiany na Ubuntu 20.04, możesz napotkać następujący błąd.

  • swapon: /swapfile: read swap header failed.

Błąd ten występuje, gdy nie uruchomisz polecenia mkswap przed uruchomieniem polecenia swapon.

Dla przypomnienia, mkswap ustawia nagłówek dla pliku lub partycji, która ma być używana jako przestrzeń wymiany.

Jeśli zapomnisz uruchomić polecenie mkswap, Linux nie będzie w stanie przypisać go jako przestrzeń wymiany na hoście.

  • Nie udało się znaleźć woluminu logicznego „vg/lv”

Ten błąd występuje, gdy usunąłeś wolumin logiczny, który został zdefiniowany do załadowania w konfiguracji initramfs.

Aby to naprawić, masz dwa wyjścia :

  • Uruchom „update-initramfs -u”
  • Upewnij się, że żaden wolumen logiczny nie był pierwotnie wymieniony w pliku „resume” twojego initramfs.

Ikony wykonane przez Freepik z FlatIcon.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.