Sistema de arquivos corrompido após a hibernação

4

Após cada processo de hibernação, recebo um sistema de arquivos raiz corrompido. Minha configuração é uma partição raiz e swap criptografada LUKS no LVM. Eu uso uma chave criptografada GPG para o sistema de arquivos raiz e um arquivo de chave não criptografada na partição raiz para descriptografia de swap. O initramfs é gerado pelo genkernel com

genkernel --lvm --luks --gpg initramfs

Para a configuração de hibernação, segui o Wiki do Gentoo . Eu tentei usar

pm-hibernate
s2disk -r /dev/mapper/swap
echo disk > /sys/power/state

mas todos resultam em uma partição raiz corrompida. Eu não estou usando o tuxonice como (afaik) eu precisaria mudar para outras fontes do kernel ou aplicar patches.

Sistema:

Gentoo
Kernel 4.9.6-gentoo-r1
genkernel 3.4.52.4-r2
pm-utils 1.4.1-r7

Layout do disco:

NAME         MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda            8:0    0  477G  0 disk  
├─sda2         8:2    0  128M  0 part  /boot
├─sda3         8:3    0  410G  0 part  
│ ├─vg1-swap 253:1    0   30G  0 lvm   
│ │ └─swap   253:3    0   30G  0 crypt [SWAP]
│ └─vg1-root 253:0    0  380G  0 lvm   
│   └─root   253:2    0  380G  0 crypt /
└─sda1         8:1    0    2M  0 part  
    
por Daniel Hauck 27.02.2017 / 14:37

1 resposta

2

I use a GPG encrypted key for the root filesystem and a unencrypted key file on the root partition for swap decryption.

Isso significa que você precisa montar o sistema de arquivos raiz para poder descriptografar o swap? Se assim for, isso provavelmente pode ser a causa de seus problemas. Você não tem permissão para acessar (gravar) sistemas de arquivos enquanto estiver em hibernação (porque eles ainda estão "montados" pelo sistema hibernado).

link

 * BIG FAT WARNING *********************************************************
 *
 * If you touch anything on disk between suspend and resume...
 *              ...kiss your data goodbye.
 *
 * If you do resume from initrd after your filesystems are mounted...
 *              ...bye bye root partition.
 *          [this is actually same case as above]
 *

A hibernação é um negócio muito arriscado, basicamente você tem que esperar por qualquer sabor do Initramf para lidar com todos os casos corretamente. É melhor usar uma partição de swap simples que possa ser acessada sem qualquer perplexidade.

    
por 27.02.2017 / 15:04