swap - andyceo/documentation GitHub Wiki
swap - раздел или файл подкачки в Linux
sudo btrfs filesystem mkswapfile --size 2G /swapfile
sudo swapon /swapfile
Для постоянного использования данного Swap-файла при загрузке системы, нужно добавить следующую запись в fstab ПОСЛЕ того, как в том же fstab будет замонтирована файловая система, содержащая этот Swap-файл:
cat /etc/fstab
# swap, manually added at <DATE>
/swapfile none swap sw 0 0
См. https://btrfs.readthedocs.io/en/latest/Swapfile.html
Протестировано на Ubuntu 16.04
-
Создадим файл для использования в качестве подкачки:
sudo fallocate -l 4G /swapfile -
Убедимся, что файл создан:
ls -lh /swapfile -
Ограничим права на чтение/запись только для root:
sudo chmod 600 /swapfile -
Проверим, что права теперь корректны:
ls -lh /swapfile -
Скажем системе, что можно использовать файл
/swapfileв качестве подкачки:sudo mkswap /swapfile -
Включим своппинг в этот файл:
sudo swapon /swapfile -
Проверим, что своп расширился:
sudo swapon -s -
Если мы хотим, чтобы этот файл постоянно использовался в качестве свопа, нужно прописать это в файле
/etc/fstab:/swapfile none swap sw 0 0
Одной строкой:
fallocate -l 4G /swapfile && \
chmod 600 /swapfile && \
mkswap /swapfile && \
swapon /swapfile && \
swapon -s && \
echo "/swapfile none swap sw 0 0" >> /etc/fstab && \
reboot
-
Посмотрим текущую карту разделов диска:
sudo fdisk -l /dev/sda -
Проверим, к какой группе LVM относится граничащий со swap раздел:
sudo pvs -
Уберем этот раздел из группы:
sudo pvmove /dev/sda6 sudo vgreduce virtual-group-name /dev/sda6!!! Внимание! Если вашей файловой системе, которая лежит на граничащем разделе, не хватит места после удаления раздела из группы, то сначала нужно изменить (уменьшить) размер файловой системы с помощью команды
resize2fs! Т.е. последовательность команд будет такой:sudo resize2fs -p /dev/vg-your-virtual-group/your-logical-volume 20G sudo pvmove /dev/sda6 sudo vgreduce virtual-group-name /dev/sda6где
20G- новый размер в гигабайтах -
Уберем этот раздел из-под управления LVM:
sudo pvremove /dev/sda6 -
Проверим результат:
sudo pvs sudo fdisk -l /dev/sda -
Отключим старый своп:
sudo swapoff /dev/sda7 -
Удалим граничащий со swap раздел (свободное место будет использоваться, чтобы увеличить раздел подкачки), а также и раздел свопа:
sudo fdisk /dev/sdaИ далее в ручном режиме.
Потом, нужно заново создать сначала граничащий со свопом раздел, но уже другого размера (
/dev/sda6), потом на все оставшееся место создать swap-раздел (/dev/sda7). По умолчанию разделы создаются типаLinux filesystem, для свопа нужно тип поменять наLinux swap. Для граничащего раздела/dev/sda6тип менять не надо, это позже сделает сам LVM, когда мы добавим этот физический том к LVM. -
Добавим граничащий со swap раздел
/dev/sda6обратно в LVM и в ту группу где он раньше был:sudo pvcreate /dev/sda6 sudo vgextend virtual-group-name /dev/sda6 -
Отформатируем своп-раздел:
sudo mkswap /dev/sda7 -
Задействуем новый своп-раздел:
sudo swapon /dev/sda7 -
Удостоверимся, что раздел задействован:
sudo swapon -s -
Узнаем
UUIDсвежесозданного раздела подкачки (нужно значение из поляUUID, не из поляPARTUUID):sudo blkid -
Изменим ID раздела свопа в файле
/etc/fstab:sudo mcedit /etc/fstab -
Отключим своп-файл:
sudo swapoff /swapfile -
Проверим корректность изменений в
/etc/fstab(также см. fstab:sudo findmnt --verify --verbose -
Перезагрузим машину:
sudo reboot
Хорошая статья на тему свопа: How To Add Swap on Ubuntu 14.04