it-swarm.com.de

lxc-create bleibt hängen und schlägt schließlich fehl

Ich habe versucht, einige Juju-Charms auf Linux-Containern zu platzieren, und die Container konnten nicht gestartet werden. Um das Problem zu beheben, habe ich in den Knoten gewechselt, auf dem dies passiert ist, und versucht, einen LXC-Container manuell zu erstellen

[email protected]:~$ 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

Es macht überhaupt keine Fortschritte. Es ist hier für eine lange, lange Zeit stecken geblieben. Nach einer sehr langen Zeit heißt es:

ERROR: Unable to fetch GPG key from keyserver

und hängt weiter. Schließlich nach 20-30 Minuten gibt es gerne auf

E: Failed getting release file http://archive.ubuntu.com/ubuntu/dists/trusty/Release

Wo befinden sich die Protokolldateien für den Befehl lxc-create? Wie kann ich dieses Problem beheben?

EDIT: Ich habe herausgefunden, wie die Debug-Protokolle angezeigt werden, und habe daher den folgenden Befehl einige Male ausgeführt

Sudo lxc-create -t ubuntu -n pavan --logfile=test.txt --logpriority=DEBUG

test.txt enthält nur diesen

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

Aber es hängt immer noch und die Debug-Protokolle bieten nicht viel Hilfe.

4
Pavan Manjunath

Stehst du hinter einem Proxy? Wenn ja, können Sie Ihren Proxy in bash setzen. Ausgabe folgend,

export http_proxy="http://<proxy_Host>:<port>"
3
Pradeeper

Bitte --no-validate anhängen, um die GPG-Validierung zu überspringen:

lxc-create -t ubuntu -n pavan -- --no-validate

Siehe https://github.com/lxc/lxc/blob/master/templates/lxc-download.in#L24

6
Mukul

Vielen Dank an Felipe für die Umgehung - für eine vollständige Lösung, die auch Folgendes erfordert:

mkdir /var/lib/lxc/juju-trusty-lxc-template/rootfs/var/log/juju

Einzelheiten:

  1. lief lxc-create wie oben beschrieben
  2. die Bereitstellung eines Dienstes schlug durchgehend fehl. Der Juju-Status zeigt Folgendes an:

    agent-state-info: 'container failed to start and was destroyed: jjo-local-machine-1'
    
  3. zu finden unter /var/lib/juju/containers/jjo-local-machine-5/container.log:

    lxc-start 1427066682.951 ERROR    lxc_conf - conf.c:mount_entry:1711 - No such file or directory - failed to mount '/var/log/juju-jjo-local' on '/usr/lib/x86_64-linux-gnu/lxc/var/log/juju'
    
  4. Erstellen des Verzeichnisses behoben, weiter bereitstellt ok:

     mkdir /var/lib/lxc/juju-trusty-lxc-template/rootfs/var/log/juju
    
2
jjo

Eigentlich verwendet juju die 'Ubuntu-Cloud'-Vorlage, um ein Bild zu erfassen. Der Befehl, der ausgeführt wird, um die Vorlage in meinem vertrauenswürdigen System zu erstellen, lautet:

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

Ich schlage vor, dass Sie so etwas ausführen und sehen, welcher Fehler Sie gibt.

2
Felipe Reyes

Problem

Wenn Sie sich hinter einer Firewall befinden, die den Internetzugang einschränkt, kann folgende Fehlermeldung angezeigt werden:

$ 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

Fix

Stellen Sie über Port 80 eine Verbindung zum Schlüsselserver her:

$ lxc-create -t download -n my-container \
  -- --keyserver hkp://p80.pool.sks-keyservers.net:80

Einzelheiten

Der Schlüsselserver hkp://p80.pool.sks-keyservers.net:80 stammt aus dem Quellcode lxc:

apt source lxc
grep -ri hkp: .

Verweise

2

Ich hatte das gleiche problem Wir haben einen Proxyserver mit einer falschen http/1.0-Implementierung, der Probleme mit dem Abrufen des gpg-Keyservers verursacht. Um dieses Problem zu umgehen, können Sie den Schlüssel wie folgt manuell hinzufügen:

Gehen Sie zu http://keyserver.ubuntu.com und suchen Sie nach dem folgenden Schlüssel: 0xBAEFF88C22F6E216 (gefunden in/usr/share/lxc/templates/lxc-download, suchen Sie nach DOWNLOAD_KEYID). Laden Sie es herunter und speichern Sie es in einer Datei mit dem Namen Schlüsseldatei

Jetzt kann die gespeicherte Datei zum Systemschlüsselbund hinzugefügt werden, z. durch die Nutzung

Sudo apt-key add keyfile

Es gibt weitere Möglichkeiten, es hinzuzufügen, aber mit Ubuntu ist dies eine funktionierende Möglichkeit. Möglicherweise können Sie gpg auch direkt verwenden. Nach dem Hinzufügen muss lxc nicht mehr den Keyserver kontaktieren und das Problem wurde für mich behoben.

1
Sven

Basierend auf einem Antwort in hier fand ich heraus, dass das Deaktivieren von IPV6 funktionieren sollte. Und es hat bei mir funktioniert.

Diese Stapelüberlauf Antwort zeigt, wie es geht.

0
Jefferson