LINUX.ORG.RU

Не работает suspend-to-disk на шифрованном swap

 , , ,


0

2

Добрый день.

Пытаюсь настроить suspend-to-disk с использованием шифрованного swap раздела.

На данный момент данная схема не работает: swap работает нормально, systemctl hibernate отрабатывает нормально, но resume не происходит и система загружается по-новой. Сейчас такое сообщение ошибки в journalctl:

Timed out waiting for device dev-disk-by\x2duuid-ec422827\x2d8d03\x2d4547\x2da107\x2dd6b9797c1d58.device.

Если swap не шифрован, то suspend-to-disk работает нормально.

Конфигурация системы: Fedora 28.

Информация, которая может быть полезна:

swapon -s

Имя файла                               Тип             Размер  Исп-но  Приоритет
/dev/dm-2                               partition       25708540        0       -2

free -m
              total        used        free      shared  buff/cache   available
Mem:          24053        7374       13517         283        3161       16062
Swap:         25105           0       25105
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 rd.luks.uuid=luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680 rhgb quiet resume=UUID=ec422827-8d03-4547-a107-d6b9797c1d58"
GRUB_DISABLE_RECOVERY="true"
fdisk -l
Диск /dev/nvme0n1: 465,8 GiB, 500107862016 байт, 976773168 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: D155F5DD-C780-4729-B274-A4D64830F158

Устр-во            начало     Конец   Секторы Размер Тип
/dev/nvme0n1p1       2048   1023999   1021952   499M Среда для восстановления Microsoft
/dev/nvme0n1p2    1024000   1226751    202752    99M EFI
/dev/nvme0n1p3    1226752   1259519     32768    16M Зарезервированный раздел Microsoft
/dev/nvme0n1p4    1259520 204799999 203540480  97,1G Microsoft basic data
/dev/nvme0n1p5  204800000 562978815 358178816 170,8G Microsoft basic data
/dev/nvme0n1p6  614400000 614924287    524288   256M EFI
/dev/nvme0n1p7  614924288 616972287   2048000  1000M Файловая система Linux
/dev/nvme0n1p8  616972288 723472383 106500096  50,8G Файловая система Linux
/dev/nvme0n1p9  723472384 976773119 253300736 120,8G Файловая система Linux
/dev/nvme0n1p10 562978816 614399999  51421184  24,5G Linux своп

Элементы таблицы разделов упорядочены не так, как на диске.


Диск /dev/mapper/luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680: 50,8 GiB, 54525952000 байт, 106496000 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/mapper/luks-a631bb86-8605-4145-931d-e95bfe6d5e72: 120,8 GiB, 129687879680 байт, 253296640 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/mapper/swap: 24,5 GiB, 26325549056 байт, 51417088 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
cat /etc/crypttab
luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680 UUID=384de2b6-3fdf-4fa7-9f62-a34d6d82f680 none discard
luks-a631bb86-8605-4145-931d-e95bfe6d5e72 UUID=a631bb86-8605-4145-931d-e95bfe6d5e72 none discard
swap /dev/nvme0n1p10 none luks
cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Tue Jul  3 01:18:50 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680 /                       ext4    defaults,x-systemd.device-timeout=0 1 1
UUID=ae87099a-7a6b-42bd-93f2-fb5a0a685cd9 /boot                   ext4    defaults        1 2
UUID=4508-3B24          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/luks-a631bb86-8605-4145-931d-e95bfe6d5e72 /home                   ext4    defaults,x-systemd.device-timeout=0 1 2
/dev/mapper/swap swap swap defaults 0 0
Ответ на: комментарий от MikeWortin

Потому что мне нужна гибернация, а оперативы у меня 24 гига. А почему 25, а не 24 в точности - просто так разметил случайно с запасом.

zamazan4ik ★★
() автор топика
Ответ на: комментарий от zamazan4ik

кстати, до сих пор в точности не разобрался: ведь до гибернации заполняется и своп и память, значит для гибернации нужен размер своп + память. Но у меня работает своп = память.

На федоре 27, на ноуте, luks < lvm < swap, работает.

По теме, попробуй запустить dracut с обычными ключами, может ему чего-то в initram не хватает.

и смотри логи, иначе.

Deleted
()
Ответ на: комментарий от Deleted

кстати, до сих пор в точности не разобрался: ведь до гибернации заполняется и своп и память, значит для гибернации нужен размер своп + память. Но у меня работает своп = память.

Запусти что-нибудь тяжёлое, что займёт в совокупности (swap+RAM) больше места, чем есть в swap. Когда у меня такое случилось (16G RAM, 8G swap), у меня всё наглухо зависло на полчаса, дальше ждать просто не стал и вырубил принудительным reset (ибо Magic SysRq и Ctrl+Alt+Del не работали).

r3lgar ★★★★★
()
Ответ на: комментарий от Deleted

А ты пробовал suspend to disk? так то без него у меня тоже всё работает.

То, что в логах, я в топике указал. Больше ничего про эту ошибку там нет. Мб стоит попробовать включить логи пообширнее.

dracut пробовал - не помогает.

zamazan4ik ★★
() автор топика
Ответ на: комментарий от zamazan4ik

Тебе придётся распаковать initramfs, найти там код обработки resume, если он там конечно есть, и написать перед ним код открытия шифрованного контейнера.

По аналогии с кодом открытия шифрованного конейтера при запуске системы в обычном режиме.

anonymous
()
Ответ на: комментарий от zamazan4ik

Если у вам свап зашифрован то прежде чем из него прочесть (естественно!) надо настроить устройство задав ключ. Это как бы математика и элементарная логика так что да, это везде так.

Но вообще, какой в этом смысл, если можно комп/ноут просто отправить в спящий режим, там энергопотребление вообще смешное

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Swap зашифрован с парольной фразой. Логично что я ожидаю поля для ввода пароля, как это сейчас работает с шифрованными рутом и хомяком.

Нужна гибернация, а не спящий режим. Причины - дуалбут. И не хочется при переключении ОС заново все программы запускать.

zamazan4ik ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.