On 9/30/19 3:26 PM, Craig Mull wrote:
> How can have QEMU backup write the output to an encrypted target?
>  
> Blocks in the dirty bitmap are unencrypted, and as such when I write
> them with QEMU backup they are written to the target unencrypted.
>  
> I've experimented with providing a json string as the target but with no
> luck.
>  
> 
> transaction='{ "execute": "transaction", 
> 
>   "arguments": { 
> 
>     "actions": [
> 
>       {"type": "block-dirty-bitmap-add", 
> 
>        "data": {"node": "drive-virtio-disk0", "granularity": 2097152,
> "name": "mybitmap"} },
> 
>       {"type": "drive-backup",
> 
>        "data": {"device": "drive-virtio-disk0", "target":
> "json:{\"encrypt.format\": \"luks\", \"encrypt.key-secret\":
> \"virtio-disk0-luks-secret0\", \"driver\": \"qcow2\", \"file\":
> {\"driver\": \"file\", \"filename\": \"/tmp/target-encrypt-test.qcow2\"}}",
> 
>                 "sync": "full", "format": "qcow2"} } 
> 
>     ] 
> 
>   } 
> 
> }'
> 
>  
> 
> virsh -c qemu:///system qemu-monitor-command --pretty 28 $transaction
> 
>  
> 
> {
> 
>   "id": "libvirt-45",
> 
>   "error": {
> 
>     "class": "GenericError",
> 
>     "desc": "Unknown protocol 'json'"
> 
>   }
> 
> }
> 
>

I'll be honest, I'm not very good at the json specifications and don't
really know when they're appropriate to use. At the basic level,
drive-backup expects a filename. Sometimes the filename can get fancy,
but... I stay away from that.

Try using qmp-blockdev-create to create the target node instead, and
then using blockdev-backup to backup to that target.

--js

Reply via email to