mxe
November 2, 2020, 5:45pm
1
Hey there,
I was testing my backup strategy today.
As I created VMs as well recently, i wanted to test, whether they can be copied easy to another host running LXD.
Both hosts run LXD 4.0.x LTS with ZFS file system.
But strange is, that a I cannot copy a VM instance snapshot to another host while the instance is running.
I mean it is clear that I cannot copy the raw (non-snapshot) instance while running (Error: Unable to perform VM live migration: Not implemented
), but I thought copying a snapshot would work (at least there is no error message). Is this supposed to work?
When issueing lxc copy test/snap0 backup:test
while the instance is running, the process starts as usual, but the disk is not copied over and the process takes forever (printing no error messages), while the instance is at least created in the database on the remote host.
When running lxc list
on the backup host, it seems that the instance created is of type container
instead of VM
… Very strange behavior.
+--------------+---------+-------------------+-----------------------------------------------+-----------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+--------------+---------+-------------------+-----------------------------------------------+-----------------+-----------+
| test3 | STOPPED | | | CONTAINER | 0 |
+--------------+---------+-------------------+-----------------------------------------------+-----------------+-----------+
Attempting to copy a stopped VM instance, copying of the raw instance (not a snapshot) works flawless (the created instance type is VM
).
However it is also not possible to copy the snapshot of a stopped VM (same behavior as stated before).
If it is not possible to copy a VM-instance’s snapshot while running, it would be nice to see an according error message there…
stgraber
(Stéphane Graber)
November 2, 2020, 7:43pm
2
It should be fine to do it, probably just a small bug in the receiving logic.
Do you get the same problem when performing a local copy from test/snap0
to test1 or something?
@tomp can you take a look at this one? should be an easy one to resolve.
tomp
(Thomas Parrott)
November 3, 2020, 1:02pm
3
@stgraber yep looks similar to
opened 12:09PM - 03 Nov 20 UTC
Required information
Distribution: ubuntu
Distribution version: 20.04
The output of "lxc info" or if that fails:
config:
cluster.https_address: 192.168.1.50:8443
core.https_address: '[::]'
core.trust_password: true
api_extensions:
storage_zfs_remove_snapshots
container_host_shutdown_timeout
container_stop_priority
container_syscall_filtering
auth_pki
container_last_used_at
etag
patch
usb_devices
https_allowed_credentials
image_compression_algorithm
directory_manipulation
container_cpu_time
storage_zfs_use_refquota
storage_lvm_mount_options
network
profile_usedby
container_push
container_exec_recording
certificate_update
container_exec_signal_handling
gpu_devices
container_image_properties
migration_progress
id_map
network_firewall_filtering
network_routes
storage
file_delete
file_append
network_dhcp_expiry
storage_lvm_vg_rename
storage_lvm_thinpool_rename
network_vlan
image_create_aliases
container_stateless_copy
container_only_migration
storage_zfs_clone_copy
unix_device_rename
storage_lvm_use_thinpool
storage_rsync_bwlimit
network_vxlan_interface
storage_btrfs_mount_options
entity_description
image_force_refresh
storage_lvm_lv_resizing
id_map_base
file_symlinks
container_push_target
network_vlan_physical
storage_images_delete
container_edit_metadata
container_snapshot_stateful_migration
storage_driver_ceph
storage_ceph_user_name
resource_limits
storage_volatile_initial_source
storage_ceph_force_osd_reuse
storage_block_filesystem_btrfs
resources
kernel_limits
storage_api_volume_rename
macaroon_authentication
network_sriov
console
restrict_devlxd
migration_pre_copy
infiniband
maas_network
devlxd_events
proxy
network_dhcp_gateway
file_get_symlink
network_leases
unix_device_hotplug
storage_api_local_volume_handling
operation_description
clustering
event_lifecycle
storage_api_remote_volume_handling
nvidia_runtime
container_mount_propagation
container_backup
devlxd_images
container_local_cross_pool_handling
proxy_unix
proxy_udp
clustering_join
proxy_tcp_udp_multi_port_handling
network_state
proxy_unix_dac_properties
container_protection_delete
unix_priv_drop
pprof_http
proxy_haproxy_protocol
network_hwaddr
proxy_nat
network_nat_order
container_full
candid_authentication
backup_compression
candid_config
nvidia_runtime_config
storage_api_volume_snapshots
storage_unmapped
projects
candid_config_key
network_vxlan_ttl
container_incremental_copy
usb_optional_vendorid
snapshot_scheduling
container_copy_project
clustering_server_address
clustering_image_replication
container_protection_shift
snapshot_expiry
container_backup_override_pool
snapshot_expiry_creation
network_leases_location
resources_cpu_socket
resources_gpu
resources_numa
kernel_features
id_map_current
event_location
storage_api_remote_volume_snapshots
network_nat_address
container_nic_routes
rbac
cluster_internal_copy
seccomp_notify
lxc_features
container_nic_ipvlan
network_vlan_sriov
storage_cephfs
container_nic_ipfilter
resources_v2
container_exec_user_group_cwd
container_syscall_intercept
container_disk_shift
storage_shifted
resources_infiniband
daemon_storage
instances
image_types
resources_disk_sata
clustering_roles
images_expiry
resources_network_firmware
backup_compression_algorithm
ceph_data_pool_name
container_syscall_intercept_mount
compression_squashfs
container_raw_mount
container_nic_routed
container_syscall_intercept_mount_fuse
container_disk_ceph
virtual-machines
image_profiles
clustering_architecture
resources_disk_id
storage_lvm_stripes
vm_boot_priority
unix_hotplug_devices
api_filtering
instance_nic_network
clustering_sizing
firewall_driver
projects_limits
container_syscall_intercept_hugetlbfs
limits_hugepages
container_nic_routed_gateway
projects_restrictions
custom_volume_snapshot_expiry
volume_snapshot_scheduling
trust_ca_certificates
snapshot_disk_usage
clustering_edit_roles
container_nic_routed_host_address
container_nic_ipvlan_gateway
resources_usb_pci
resources_cpu_threads_numa
resources_cpu_core_die
api_os
container_nic_routed_host_table
container_nic_ipvlan_host_table
container_nic_ipvlan_mode
resources_system
images_push_relay
network_dns_search
container_nic_routed_limits
instance_nic_bridged_vlan
network_state_bond_bridge
usedby_consistency
custom_block_volumes
clustering_failure_domains
resources_gpu_mdev
console_vga_type
projects_limits_disk
network_type_macvlan
network_type_sriov
container_syscall_intercept_bpf_devices
network_type_ovn
projects_networks
projects_networks_restricted_uplinks
custom_volume_backup
backup_override_name
storage_rsync_compression
network_type_physical
network_ovn_external_subnets
network_ovn_nat
network_ovn_external_routes_remove
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
tls
environment:
addresses:
192.168.1.50:8443
'[2a02:8106:22b:6d00:ec4:7aff:fee6:b4d5]:8443'
192.168.2.50:8443
'[2003🅰️70a:fc00:853:bfff:fe56:fd36]:8443'
10.0.3.1:8443
172.21.0.1:8443
172.17.0.1:8443
172.20.0.1:8443
172.19.0.1:8443
172.18.0.1:8443
172.22.0.1:8443
192.168.122.1:8443
architectures:
x86_64
i686
certificate: |
-----BEGIN...
mxe
November 3, 2020, 4:00pm
4
Nope, locally everything works. Copying succeeds if the VM is running or stopped.
steven
(Stevyn IronFeather Prothero)
November 4, 2020, 1:17am
5
Sounds similar to our situation:
Hello,
I am able to use LXC COPY to copy containers from one server to another with no problems but I am unable to do it with a VM.
Storage is LVM. LXD version 4.0.3, Ubuntu20. Remote server is LXDv4.0.3, Ubuntu18.
test example:
lxc launch ubuntu:18.04 example-vm --vm
lxc stop example-vm
lxc snapshot example-vm snap1999
lxc copy example-vm/snap1999 remotehost.com:example-vm2 --mode=relay
Using the monitor in a different terminal window of the original host server:
lxc monitor --type=log…
tomp
(Thomas Parrott)
November 13, 2020, 5:23pm
6
The PR working to enable the parent volume to be mounted to enable copying ZFS VM snapshots is being worked on here:
lxc:master
← tomponline:tp-storage-mount-refcounting
opened 10:30AM - 12 Nov 20 UTC