Файл подкачки на btrfs
Размещение файла подкачки на разделе btrfs.
Содержание
1 Общая информация
- btrfs поддерживает файл подкачки (начиная с ядра версии 5.0).
- Файл подкачки не может находиться на любом рейде btrfs.
- btrfs не позволяет создавать снапшоты, если на подтоме есть рабочий файл подкачки.
- Рекомендуется размещать файл подкачки на отдельном подтоме.
- Файл подкачки должен иметь свойство NODATACOW.
- Файл подкачки должен быть без сжатия.
2 Создание файла подкачки
- Подмонтируем раздел с btrfs:
mkdir /mnt/gentoo mount -tbtrfs -orelatime,space_cache,discard,autodefrag,compress=zstd:9 /dev/sda4 /mnt/gentoo/
- Создадим подтом для файла подкачки на btrfs:
cd /mnt/gentoo/ btrfs subvol create @swap
- Отмонтируем том btrfs:
umount /mnt/gentoo
- Создадим точку монтирования:
mkdir /swap
- Подмонтируем подтом
@swap
:mount -o subvol=@swap /dev/sda4 /swap
- Отключим для этого подтома CoW:
chattr +C /swap
- Создадим файл подкачки:
truncate -s 0 /swap/swapfile
- Отключим сжатие:
btrfs property set /swap/swapfile compression ""
- Установим права доступа
600
к файлу подкачки:chmod 600 /swap/swapfile
- Установим размер файла подкачки.
- Можно задать размер вручную (например, 4GiB):
fallocate -l 4G /swap/swapfile
- Можно установить размер файла подкачки исходя из размера оперативной памяти:
fallocate -l $(free -h --si | awk 'NR == 2 {print $2}') /swap/swapfile
- Можно задать размер вручную (например, 4GiB):
- Отформатируем файл подкачки:
mkswap /swap/swapfile
- Активируем файл подкачки:
swapon /swap/swapfile
- Добавим запись в
/etc/fstab
, чтобы подключать файл подкачки при загрузке (для устройства сUUID="f8963df3-1320-4bc0-a125-62be185b029e"
):UUID="f8963df3-1320-4bc0-a125-62be185b029e" /swap btrfs relatime,discard,autodefrag,compress=zstd:9,subvol=@swap 0 0 /swap/swapfile none swap sw 0 0
- Проверьте, что файл
/etc/fstab
не содержит ошибок:findmnt --verify --verbose