Eu tenho sistemas operacionais idênticos (Ubuntu 16.04) rodando em 2 hosts, com atualizações de SO idênticas.
Eu também tenho o serviço LxD idêntico instalado (via sudo apt-get install lxd
) e configurado (via sudo lxd init
) em ambos os hosts.
Agora, para economia de espaço, portabilidade / continuidade de trabalho (porque esses dois hosts estão em locais físicos diferentes, atrás de seus próprios firewalls que eu não controle), eu pensei, por que não instalar todos minhas imagens e containers LxD em uma unidade externa que eu poderia conectar em um host ou outro, de forma intercambiável.
Para isso, instalei as imagens desejadas, configurei os contêineres desejados no Host A e copiei as pastas /var/lib/lxd
, /var/log/lxd
e /var/cache/lxd
(e seu conteúdo) para a unidade externa.
Quando eu conectei o drive externo no Host B, eu pude realmente ver minhas listas de container de imagens e (paradas) do Host A bem. Eu poderia até mesmo lançar novos containers no Host B de imagens originais do Host A.
Mas quando no Host B eu tentei iniciar um contêiner, foo
, originalmente iniciado e interrompido no Host A, recebi o seguinte erro:
$ lxc start foo
error: Error calling 'lxd forkstart foo /var/lib/lxd/containers /var/log/lxd/foo/lxc.conf': err='exit status 1'
lxc 20161217084040.956 ERROR lxc_start - start.c:lxc_spawn:1162 - failed to set up id mapping
lxc 20161217084041.013 ERROR lxc_start - start.c:__lxc_start:1354 - failed to spawn 'foo'
lxc 20161217084041.564 ERROR lxc_conf - conf.c:run_buffer:347 - Script exited with status 1
lxc 20161217084041.564 ERROR lxc_start - start.c:lxc_fini:555 - failed to run post-stop hooks for container 'foo'.
lxc 20161217084041.566 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.566 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/systemd//lxc/foo
lxc 20161217084041.568 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.568 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/pids//lxc/foo
lxc 20161217084041.569 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.569 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/net_cls//lxc/foo
lxc 20161217084041.571 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.571 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/hugetlb//lxc/foo
lxc 20161217084041.573 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.573 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/cpu//lxc/foo
lxc 20161217084041.575 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.575 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/freezer//lxc/foo
lxc 20161217084041.576 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.576 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/cpuset//lxc/foo
lxc 20161217084041.578 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.578 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/blkio//lxc/foo
lxc 20161217084041.580 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.580 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/devices//lxc/foo
lxc 20161217084041.581 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.581 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/memory//lxc/foo
lxc 20161217084041.583 ERROR lxc_conf - conf.c:userns_exec_1:4334 - Error setting up child mappings
lxc 20161217084041.583 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:983 - Error destroying /sys/fs/cgroup/perf_event//lxc/foo
Try 'lxc info --show-log foo' for more info
Perguntas:
Existem algumas informações específicas de hardware do host em que o contêiner é originalmente lançado codificado na cópia serializada em disco do contêiner (como RAM, endereço MAC), tornando impossível iniciar o contêiner em outro host com um pouco especificações diferentes de hardware?
O que mais posso fazer pelo meu caso de uso de contêineres portáteis por meio de um disco rígido externo?