![lxc-create зависает и в итоге дает сбой](https://rvso.com/image/1048298/lxc-create%20%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B0%D0%B5%D1%82%20%D0%B8%20%D0%B2%20%D0%B8%D1%82%D0%BE%D0%B3%D0%B5%20%D0%B4%D0%B0%D0%B5%D1%82%20%D1%81%D0%B1%D0%BE%D0%B9.png)
Я пытался разместить некоторые чары juju на контейнерах linux, и контейнеры не запустились. Чтобы отладить проблему, я подключился по sshed к узлу, где это произошло, и попытался вручную создать контейнер LXC, например
ubuntu@slot13:~$ sudo lxc-create -t ubuntu -n pavan
Checking cache download in /var/cache/lxc/trusty/rootfs-amd64 ...
Installing packages in template: ssh,vim,language-pack-en
Downloading ubuntu trusty minimal ...
I: Retrieving Release
Он вообще не делает никакого прогресса. Он застрял здесь на долгое-долгое время. После очень долгого времени он говорит:
ERROR: Unable to fetch GPG key from keyserver
и продолжает висеть. Наконец, через 20-30 минут, он сдается, как
E: Failed getting release file http://archive.ubuntu.com/ubuntu/dists/trusty/Release
Где находятся файлы журнала, соответствующие lxc-create
команде? Как мне отладить эту проблему?
РЕДАКТИРОВАТЬ: Я понял, как просмотреть журналы отладки, и поэтому выполнил следующую команду несколько раз
sudo lxc-create -t ubuntu -n pavan --logfile=test.txt --logpriority=DEBUG
test.txt
содержит только это
lxc-create 1414897265.204 ERROR lxc_container - Error: pavan creation was not completed
lxc-create 1414897407.757 ERROR lxc_container - Error: pavan creation was not completed
lxc-create 1414897407.759 WARN lxc_log - lxc_log_init called with log already initialized
Но он все равно зависает, а журналы отладки не особо помогают.
решение1
Пожалуйста, добавьте --no-validate
флаг, чтобы пропустить проверку gpg:
lxc-create -t ubuntu -n pavan -- --no-validate
Ссылатьсяhttps://github.com/lxc/lxc/blob/master/templates/lxc-download.in#L240
решение2
Вы за прокси? Если да, то вы можете установить свой прокси в bash. Проблема следующая,
export http_proxy="http://<proxy_host>:<port>"
решение3
На самом деле juju использует шаблон «ubuntu-cloud» для захвата образа. Команда, выполняемая для создания шаблона в моей системе, работающей под управлением trusty, выглядит следующим образом:
lxc-create -n juju-trusty-lxc-template \
-t ubuntu-cloud \
-f /var/lib/juju/containers/juju-trusty-lxc-template/lxc.conf \
-- --debug \
--userdata /var/lib/juju/containers/juju-trusty-lxc-template/cloud-init \
--hostid juju-trusty-lxc-template
-r trusty
Предлагаю вам запустить что-то подобное и посмотреть, какую ошибку выдаст.
решение4
Проблема
Если вы находитесь за брандмауэром, ограничивающим доступ в Интернет, вы можете получить следующую ошибку:
$ lxc-create -t download -n my-container
Setting up the GPG keyring
ERROR: Unable to fetch GPG key from keyserver.
lxc-create: lxccontainer.c: create_run_template: 1297 container
creation template for my-container failed
lxc-create: tools/lxc_create.c: main: 318 Error creating
container my-container
Исправить
Подключитесь к серверу ключей через порт 80:
$ lxc-create -t download -n my-container \
-- --keyserver hkp://p80.pool.sks-keyservers.net:80
Подробности
Ключевой сервер, hkp://p80.pool.sks-keyservers.net:80
, взят из lxc
исходного кода:
apt source lxc
grep -ri hkp: .