Criptografe a partição e permita que o qemu a use como a unidade guest

2

Estou tentando criptografar uma partição de 25gb no meu SSD com cryptsetup de tal forma que permita que QEMU-KVM a use como a unidade de convidados.

Eu tentei luksformatando a unidade:

cryptsetup luksFormat /dev/disk/by-id/...

abrindo-o:

cryptsetup luksOpen /dev/disk/by-id/... windows-vm

embora o QEMU receba permissão negada ao tentar acessar o dispositivo /dev/mapper/windows-vm com este script:

#!/bin/bash
exec qemu-system-x86_64 \
    --enable-kvm \
    -netdev user,id=vmnic -device virtio-net,netdev=vmnic \
    -usbdevice tablet \
    -monitor stdio \
    -machine type=pc,accel=kvm \
    -cpu host \
    -m 4G \
    -balloon virtio \
    -name Windows \
    -smp cores=2 \
    -vga std \
    -soundhw ac97 \
    -drive file=/dev/mapper/windows-vm,cache=none,if=virtio \
    "$@"

Eu também tentei montá-lo, mas o mount reclama que ele tem o tipo fs errado, o que faz sentido, já que eu não executei mkfs no dispositivo. Embora eu suponha que não precisaria, pois o Windows formataria o dispositivo de qualquer maneira.

Existe alguma maneira de emparelhar a criptografia cryptsetup luks com uma partição de tal forma que uma vez aberta QEMU-KVM possa ler / gravar / inicializar como se fosse um arquivo de imagem qcow2 / raw normal? ?

Editar: Acontece que isso pode ser um problema de permissões com o dispositivo de bloqueio /dev/mapper/windows-vm , pois quando executo o QEMU com acesso raiz, o processo de instalação começou, em vez de me conceder um erro de permissão negada. Existe uma maneira de permitir que um usuário normal tenha acesso direto ao dispositivo de bloco? Por padrão, cryptsetup deu a raiz do dispositivo '/ dev / mapper / windows-vm: root 0600.

Obrigado.

    
por randy newfield 12.11.2015 / 20:06

1 resposta

2

Eu acredito que o QEMU quer um arquivo de imagem de disco e /dev/mapper/windows-vm é um dispositivo de bloco. De acordo com o Wiki do Arch , você pode passar uma partição ao QEMU, mas isso exigiria que você executasse mkfs no dispositivo de bloco. O wiki continua dizendo que esta abordagem é problemática, já que você não pode instalar um gerenciador de inicialização em uma partição (o que eu acho que não é 100% preciso). Pode haver alguma esperança de que isso funcione, uma vez que o Xen, que, na minha opinião, depende muito do QEMU, pode manipular um dispositivo de bloco.

A opção mais fácil, se você não estiver preocupado com a sobrecarga de usar um arquivo de imagem de disco bruto, seria criar um sistema de arquivos na partição e criar um arquivo de imagem de disco bruto nesse novo sistema de arquivos. Este arquivo de imagem de disco será criptografado, pois está na partição criptografada.

    
por 12.11.2015 / 21:09