В прошлой статье "Linux. Создание SWAP файла" рассказывал, как добавить файл подкачки. В этот раз расскажу про создание целого диска подкачки.
Выносить всю подкачку на отдельный диск - это не такая уж и плохая идея. Если swap файл находится на системном диске, то он может рано или поздно протереть в нём дырку, ведь даже у самых надёжных дисков есть свой ресурс к перезаписи информации. Поэтому я стараюсь использовать отдельные диски для подкачки.
Чтобы добавить в систему целый диск подкачки необходимо проделать следующие шаги. Делать их надо только от лица суперпользователя. Внимание! В результате этих действий все данные будут удалены с диска.
Сначала находим нужный диск командой:
lsblk
В моём случае название твердотельного диска оказалось nvme1n1. Очевидно, что выбрал его из-за скорости записи/чтения, в сравнении со старыми HDD. К сожалению, пришлось пожертвовать объёмом, но уже сейчас можно купить nvme ssd на m2 разъем на 2 ТБ за вменяемые деньги по сравнению с тем же объемом оперативной памяти. Но так как у меня только один разъём m2 на плате, то купил за стоимость пачки гречки разъём m2 (4x) - PCIe (16x). Обратите внимание, что если тоже решите покупать подобные разъёмы с несколькими слотами m2, то у материнской платы обязательно должна быть функция бифуркации (PCI Bifurcation).
После выполнения команды lsblk путь к диску нашёлся как:
/dev/nvme1n1
Начнём создавать раздел подкачки на этом диске. Выполняем команду:
fdisk /dev/nvme1n1
Создаём новый раздел, отвечая буквами на вопросы следующий образом:
- n - это новый раздел;
- p - главный раздел;
- 1 - первый по счёту.
Соглашаемся с последующими предложениями сделать раздел равный размеру диска. Затем выберем тип диска и сохраним изменения, вводя следующие ответы в консоль:
- t - хотим указать тип раздела;
- 82 - это будет SWAP раздел (можно нажать L и посмотреть полный список возможных кодов);
- w - сохранить и выполнить все изменения.
Будет создан новый раздел на диске. Смотрим через lsblk его название. У меня получилось:
/dev/nvme1n1p1
Теперь необходимо указать системе, чтобы она использовала этот раздел для подкачки. Для этого выполняем несколько команд. Сначала подготовим раздел:
mkswap /dev/nvme1n1p1
Включаем новый swap раздел:
swapon /dev/nvme1n1
И проверяем, что он появился в списке:
swapon --show
Чтобы каждый раз при старте системы раздел подкачки автоматически монтировался, необходимо вписать его в файл /etc/fstab. Открываем этот файл редактором и пишем в конец, на новую строку:
/dev/nvme1n1p1 none swap sw,nofail,pri=100 0 0
Тут можно заметить несколько директив:
- sw - это swap;
- nofail - если он не подключится, то система всё равно сможет загрузиться без него;
- pri=100 - имеет приоритет 100. Чем больше цифра, тем больше вероятность использования раздела системой. Если у нескольких разделов/файлов подкачки приоритеты будут совпадать, то оба используются равновероятно.