Import logical volume to ceph storage

unam

Active Member
Nov 21, 2019
25
3
43
37
Hi,
I just started a lab with 3 hypervisors :
- 2x Intel Xeon
- 256Gb ram
- 4x960Gb SSD Intel
- 4x4To WD

I just configured a ceph storage with crush replication rules for ssd and hdd.
A the moment, I just configured two nodes, the latest is in production, using Debian and libvirt to provide lxc and kvm created and managed with libvirtd.

My question is : how can I import lxc containers and kvm from libvirt to proxmox. Anyway I can recreate vms and containers in the new cluster but I did not find how to import and attach storage.

I already tried to import storage via ssh such as :

Code:
dd if=/dev/vg1/vm-xy | pv | ssh root@hypervisor01 'rbd --image-format 2 import - ceph_pool_ssd/vm-999-disk-0'

This is working and I can see the img in proxmox file manager and using rbd cli on the host.

I create a container, delete created storage, mv imported disk to new name and try to start
Code:
rbd -p ceph_pool_ssd rm vm-100-disk-0
rbd -p ceph_pool_ssd mv vm-999-disk-0 vm-100-disk-0
lxc-start -n 100 --logfile /tmp/100 -l  --logpriority DEBUG

Here is the output :

Code:
lxc-start 100 20191121090851.715 INFO     seccomp - seccomp.c:parse_config_v2:789 - Processing "keyctl errno 38"
lxc-start 100 20191121090851.715 INFO     seccomp - seccomp.c:parse_config_v2:975 - Added native rule for arch 0 for keyctl action 327718(errno)
lxc-start 100 20191121090851.715 INFO     seccomp - seccomp.c:parse_config_v2:984 - Added compat rule for arch 1073741827 for keyctl action 327718(errno)
lxc-start 100 20191121090851.715 INFO     seccomp - seccomp.c:parse_config_v2:994 - Added compat rule for arch 1073741886 for keyctl action 327718(errno)
lxc-start 100 20191121090851.715 INFO     seccomp - seccomp.c:parse_config_v2:1004 - Added native rule for arch -1073741762 for keyctl action 327718(errno)
lxc-start 100 20191121090851.715 INFO     seccomp - seccomp.c:parse_config_v2:1008 - Merging compat seccomp contexts into main context
lxc-start 100 20191121090851.715 INFO     conf - conf.c:run_script_argv:372 - Executing script "/usr/share/lxc/hooks/lxc-pve-prestart-hook" for container "100", config section "lxc"
lxc-start 100 20191121090852.103 DEBUG    conf - conf.c:run_buffer:340 - Script exec /usr/share/lxc/hooks/lxc-pve-prestart-hook 100 lxc pre-start produced output: mount: /var/lib/lxc/100/rootfs: wrong fs type, bad option, bad superblock on /dev/rbd0, missing codepage or helper program, or other error.

lxc-start 100 20191121090852.103 DEBUG    conf - conf.c:run_buffer:340 - Script exec /usr/share/lxc/hooks/lxc-pve-prestart-hook 100 lxc pre-start produced output: command 'mount /dev/rbd0 /var/lib/lxc/100/rootfs//' failed: exit code 32

lxc-start 100 20191121090852.113 ERROR    conf - conf.c:run_buffer:352 - Script exited with status 32
lxc-start 100 20191121090852.113 ERROR    start - start.c:lxc_init:897 - Failed to run lxc.hook.pre-start for container "100"
lxc-start 100 20191121090852.113 ERROR    start - start.c:__lxc_start:2032 - Failed to initialize container "100"
lxc-start 100 20191121090852.113 DEBUG    lxccontainer - lxccontainer.c:wait_on_daemonized_start:862 - First child 539882 exited
lxc-start 100 20191121090852.113 ERROR    lxccontainer - lxccontainer.c:wait_on_daemonized_start:865 - No such file or directory - Failed to receive the container state
lxc-start 100 20191121090852.114 ERROR    lxc_start - tools/lxc_start.c:main:329 - The container failed to start
lxc-start 100 20191121090852.114 ERROR    lxc_start - tools/lxc_start.c:main:332 - To get more details, run the container in foreground mode
lxc-start 100 20191121090852.114 ERROR    lxc_start - tools/lxc_start.c:main:335 - Additional information can be obtained by setting the --logfile and --logpriority options

I tried a fsck on the volume without success

Code:
root@rpk-hv01:~# pct fsck 100
fsck from util-linux 2.33.1
fsck.ext2: Unable to resolve 'rbd:ceph_pool_ssd/vm-100-disk-0:conf=/etc/pve/ceph.conf:id=admin:keyring=/etc/pve/priv/ceph/ceph_pool_ssd.keyring'
command 'fsck -a -l 'rbd:ceph_pool_ssd/vm-100-disk-0:conf=/etc/pve/ceph.conf:id=admin:keyring=/etc/pve/priv/ceph/ceph_pool_ssd.keyring'' failed: exit code 8

Any help is welcome !

Regards,
 
Thanks for your answer, I already checked this page but I did not find a solution.

I was reading again in the morning and find a kind of solution :

- On my libvirt host :
Code:
qemu-img convert -O qcow2 /dev/VG00/vm-XYZ ./vm-XYZ.qcow2
scp ./vm-XYZ.qcow2 root@mynewhost

- On my new proxmox host
Code:
qm create 110 --name vm-XYZ --bootdisk virtio0
qm importdisk 110 ./vm-XYZ.qcow2 my_ceph_pool
qm set --virtio0 my_ceph_pool:vm-110-disk-0

Tested with success on two vm. I'll check for lxc containers.

Thanks for reply.

Regards,
 
Last edited: