Контейнер LxD на зовнішньому диску не запускається на іншому хості


0

У мене однакові ОС (Ubuntu 16.04), які працюють на двох хостах, з однаковими оновленнями ОС.

Також у мене встановлено однакову службу LxD (через sudo apt-get install lxd) та налаштовано (через sudo lxd init) на обох хостах.

Тепер, з причин економії місця, переносимості та безперервності роботи (оскільки ці 2 хости знаходяться в різних фізичних місцях, позаду власних брандмауерів, які я не контролюю), я подумав: чому б не встановити всі мої зображення та контейнери LxD на зовнішній привід, який я міг би підключити один або інший хост, взаємозамінно.

Для цього я встановив мої потрібні зображення і створити потрібні контейнери на вузол A і скопійований /var/lib/lxd, /var/log/lxdі /var/cache/lxdпапки (і їх вміст) до зовнішнього приводу.

Коли я підключив зовнішній накопичувач до Host B, я фактично міг побачити мої списки зображень та (зупинених) контейнерів від Host A просто чудово. Я навіть міг запустити нові контейнери на Host B оригінальних зображень Host A.

Але коли Host BI спробував запустити контейнер, fooспочатку запустився і зупинився на Host A, я отримав таку помилку:

$ 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

Запитання:

Чи є певна для апаратури інформація про хост, який контейнер спочатку запускається на закодовану в дискову серіалізовану копію контейнера (наприклад, оперативна пам'ять, MAC-адреса), що унеможливлює запуск контейнера на іншому хості з дещо іншим технічним специфікацією ?

Що ще я можу зробити для мого використання портативних контейнерів через зовнішній жорсткий диск?

Відповіді:


1

Числа для різних імен для входу в /etc/subuidі /etc/subgidна 2 моїх хостах не збігалися, отже, збій у процесі запуску контейнера на хості він спочатку не створювався (або запускався).

Як тільки я зробив ці файли на двох хостах однаковими, я зміг запустити контейнери просто чудово.

Примітка для розробників LxD: Повідомлення про помилки LxD вищого рівня, більш зручне в користуванні, з підказками на можливі причини, буде корисним доповненням до цієї ВЕЛИКОЇ частини програмного забезпечення!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.