libvirt: Support native TLS for migration and disks over NBD
The encryption offered by Nova (via `live_migration_tunnelled`, i.e.
"tunnelling via libvirtd") today secures only two migration streams:
guest RAM and device state; but it does _not_ encrypt the NBD (Network
Block Device) transport—which is used to migrate disks that are on
non-shared storage setup (also called: "block migration"). Further, the
"tunnelling via libvirtd" has a huge performance penalty and latency,
because it burns more CPU and memory bandwidth due to increased number
of data copies on both source and destination hosts.
To solve this existing limitation, introduce a new config option
`live_migration_with_native_tls`, which will take advantage of "native
TLS" (i.e. TLS built into QEMU, and relevant support in libvirt). The
native TLS transport will encrypt all migration streams, *including*
disks that are not on shared storage — all of this without incurring the
limitations of the "tunnelled via libvirtd" transport.
Reviewed: https:/ /review. openstack. org/625216 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=9160fe50987 131feda9429c4e9 5d573e176916b6
Committed: https:/
Submitter: Zuul
Branch: master
commit 9160fe50987131f eda9429c4e95d57 3e176916b6
Author: Kashyap Chamarthy <email address hidden>
Date: Wed Dec 12 16:51:52 2018 +0100
libvirt: Support native TLS for migration and disks over NBD
The encryption offered by Nova (via `live_migration _tunnelled` , i.e.
"tunnelling via libvirtd") today secures only two migration streams:
guest RAM and device state; but it does _not_ encrypt the NBD (Network
Block Device) transport—which is used to migrate disks that are on
non-shared storage setup (also called: "block migration"). Further, the
"tunnelling via libvirtd" has a huge performance penalty and latency,
because it burns more CPU and memory bandwidth due to increased number
of data copies on both source and destination hosts.
To solve this existing limitation, introduce a new config option migration_ with_native_ tls`, which will take advantage of "native
`live_
TLS" (i.e. TLS built into QEMU, and relevant support in libvirt). The
native TLS transport will encrypt all migration streams, *including*
disks that are not on shared storage — all of this without incurring the
limitations of the "tunnelled via libvirtd" transport.
Closes-Bug: #1798796 qemu-native- tls-for- live-migration
Blueprint: support-
Change-Id: I78f5fef41b6fbf 118880cc8aa4036 d904626b342
Signed-off-by: Kashyap Chamarthy <email address hidden>