Sem espaço de troca. troca criptografada no crypttab não criada

4

Hoje descobri que o meu Ubuntu 12.04LTS não tem espaço de troca.

Eu instalei este sistema do zero apenas algumas semanas atrás. Eu criptografei todas as partições para as minhas necessidades. Eu não instalei nenhum espaço de troca em primeiro lugar, porque o diálogo de instalação se comportou mal quando tentei configurar a troca criptografada. Eu adicionei o espaço de troca criptografado depois de terminar a instalação editando /etc/crypttab e /etc/fstab . Eu poderia ter emitido mais alguns comandos para propagar as mudanças (não me lembro). O espaço de troca usado para funcionar bem depois disso.

Hoje descobri por coincidência que não tenho nenhuma troca disponível. Não há mensagens de erro.

Algumas informações do sistema: (swap deve estar em sdb1_crypt)

/etc/crypttab :

sda1_crypt UUID=91cb1de3-0754-4aa3-89b9-807e9a95a55a /root/keyfileToHome luks
sdb1_crypt UUID=96558522-6c79-4ddc-8f93-7defee6a9255 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
sdb2_crypt UUID=5fd25f3a-de63-4a5d-94a7-3e509a70b68c none luks

/etc/fstab :

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/sdb2_crypt /               ext4    errors=remount-ro 0       1
# /boot used to be on /dev/sdb3 during installation
UUID=9cdce42f-3894-4878-af03-12284dd5cab9 /boot           ext4    defaults        0       2
/dev/mapper/sda1_crypt /home           ext4    defaults        0       2
/dev/mapper/sdb1_crypt none            swap    sw              0       0

$ ll /dev/mapper mostra que sdb1_crypt não é criado:

total 0
drwxr-xr-x  2 root root     120 Sep 29 16:26 ./
drwxr-xr-x 16 root root    4460 Sep 29 16:26 ../
crw-------  1 root root 10, 236 Sep 29 16:24 control
lrwxrwxrwx  1 root root       7 Sep 29 16:24 sda1_crypt -> ../dm-1
lrwxrwxrwx  1 root root       7 Sep 29 16:24 sdb2_crypt -> ../dm-0

Por isso, /proc/swaps está vazio, claro:

Filename                Type        Size    Used    Priority

Eu tentei atualizar o initramfs:

# update-initramfs -u

Isso não ajudou.

Eu posso ativar o espaço de troca temporariamente executando os seguintes comandos:

# cryptsetup -d /dev/urandom create sdb1_crypt /dev/disk/by-uuid/96558522-6c79-4ddc-8f93-7defee6a9255
# mkswap /dev/mapper/sdb1_crypt
# swapon -a

Eu tentei adicionar a saída do dmesg aqui. Recebi uma mensagem de erro dizendo que o corpo da mensagem é muito longo. Se puder ser útil, por favor, solicite seções específicas da saída do dmesg.

O que causa o problema? Como posso consertar isso? Como posso fazer com que o espaço de troca funcione como de costume? Qualquer ajuda apreciada.

    
por Birdy 29.09.2012 / 17:58

1 resposta

0

Ao configurar swap criptografado como este, você não pode usar o método "by-uuid" como acima, já que a partição swap será reformada com uma chave aleatória toda vez que o seu computador inicializar, e o UUID mudará toda vez que isso acontecer .

A maneira correta de fazer isso é usar outro método persistente, por exemplo, o método "by-id" ou "by-path". Se você listar o conteúdo de /dev/disk , verá quatro ou cinco entradas diferentes (dependendo do tipo de tabela de partição):

[root@computer~]# ls -lA /dev/disk/
total 0
drwxr-xr-x 2 root root 360 Feb 24 23:51 by-id
drwxr-xr-x 2 root root  80 Feb 24 23:51 by-label
drwxr-xr-x 2 root root  80 Feb 24 23:51 by-partlabel
drwxr-xr-x 2 root root 100 Feb 24 23:51 by-partuuid    # only available if your disk is GPT-formatted
drwxr-xr-x 2 root root 160 Feb 24 23:51 by-uuid
[root@computer ~]#

Você nunca listou seu blkid original ou lsblk -f, mas a partir do seu post original me leva a acreditar que você tem sdb1 é uma partição formatada de luks, cujo volume você monta como swap. Se assim for, quando você listar o conteúdo de '/ dev / disk / by-path / ´ você verá algo como isto:

[root@computer ~]# ls -lA /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 Feb 24 23:51 ata-MY_OTHER_HARD_DISK -> ../../sda
lrwxrwxrwx 1 root root 10 Feb 24 23:51 ata-MY_OTHER_HARD_DISK-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Feb 24 23:51 ata-MY_OTHER_HARD_DISK-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 Feb 24 23:51 ata-HARD_DISK_MAKE_MODEL -> ../../sdb
lrwxrwxrwx 1 root root 10 Feb 24 23:51 ata-HARD_DISK_MAKE_MODEL-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Feb 24 23:51 ata-HARD_DISK_MAKE_MODEL-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Feb 24 23:51 ata-HARD_DISK_MAKE_MODEL-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Feb 24 23:51 dm-name-luks-12345678-abcd-1234-5678-abcdef123456 -> ../../dm-0
lrwxrwxrwx 1 root root 10 Feb 24 23:51 dm-uuid-CRYPT-LUKS1-12345678abcd12345678abcdef123456-luks-12345678-abcd-1234-5678-abcdef123456 -> ../../dm-0
lrwxrwxrwx 1 root root  9 Feb 24 23:51 wwn-0x1234567890123456 -> ../../sda
lrwxrwxrwx 1 root root 10 Feb 24 23:51 wwn-0x1234567890123456-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Feb 24 23:51 wwn-0x1234567890123456-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 Feb 24 23:51 wwn-0x5555444433332222 -> ../../sdb
lrwxrwxrwx 1 root root 10 Feb 24 23:51 wwn-0x5555444433332222-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Feb 24 23:51 wwn-0x5555444433332222-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Feb 24 23:51 wwn-0x5555444433332222-part3 -> ../../sdb3
[root@computer ~]# 

desta saída:

  • Eu tenho dois discos, que fazem e modelam são "HARD_DISK_MAKE_MODEL" e "MY_OTHER_HARD_DISK", e que possuem "números de série" 1234567890123456 e 5555444433332222. Em ambos os casos, eles são sda e sdb , respectivamente.
  • A partir do sufixo -partX em cada um deles, você também pode identificar qual partição é qual também.
  • Esses valores também são inequívocos para identificar suas partições e discos, mas eles NÃO serão alterados, pois são baseados em valores rígidos dos seus discos.

Portanto, /dev/disk/by-id/ata-HARD_DISK_MAKE_MODEL-part2 será a mesma partição, não importa se o disco é /dev/sda , /dev/sdb ou se a partição for reformatada e suas alterações no UUID. Esta seria a melhor maneira de se referir à sua partição swap no crypttab, já que não depende de nada gravado dentro da partição.

Outras referências:

  • a explicação acima vem de aqui . (isso é do wiki do Arch Linux, mas a explicação é válida mesmo assim).
  • link (marque o item 2.3)
  • link
por Guto Andreollo 24.02.2015 / 03:17