
Aufstellen
Zu Testzwecken habe ich MAAS in einer VirtualBox-VM installiert und möchte, dass es eine zweite VM per PXE bootet.
Beide VMs sind mit einem internen VirtualBox-Netzwerk verbunden.
Die MAAS-VM ist ein Ubuntu Server 14.04.2 und ich habe Version 1.7.5+bzr3369-0ubuntu1~trusty1 der folgenden Pakete installiert:
maas
maas-region-controller
maas-cluster-controller
maas-dhcp
maas-dns
Im Abschnitt „Images“ der MAAS-GUI habe ich das 14.04 LTS-Image aus dem Standardarchiv hinzugefügt (http://archive.ubuntu.com/ubuntu). Der Standardcluster („Clustermaster“) konnte dann erfolgreich synchronisiert werden.
Auf der MAAS-VM habe ich auch SSH-Schlüssel generiert ssh-keygen
und sie am Standardspeicherort (~/.ssh/) gespeichert. Anschließend habe ich im Abschnitt „Benutzereinstellungen“ der GUI den öffentlichen SSH-Schlüssel hinzugefügt.
Im Abschnitt „Cluster“ der GUI habe ich eine Schnittstelle (eth2) zu „Cluster Master“ hinzugefügt und sie für die Verwaltung von DHCP und DNS konfiguriert. Die Schnittstelle eth2 ist mit der anderen VM verbunden (über das interne Netzwerk von VirtualBox).
In der GUI habe ich einen Knoten zum „Standardcluster“ hinzugefügt und das Feld „Stromversorgungstyp“ leer gelassen, da Wake On Lan mit VirtualBox nicht funktioniert.
Fragen
Nach dem manuellen Starten der Client-VM erhält diese eine IP-Adresse und beginnt erfolgreich mit dem Startvorgang. Irgendwann bleibt sie jedoch für volle 120 Sekunden hängen und die folgende Meldung wird mehrmals wiederholt:
url_helper.py[WARNUNG]: Aufruf von 'http://169.254.169.254/2009-04-04/meta-data/instance-id' fehlgeschlagen [70/120s]: Anforderungsfehler [HTTPConnectionPool(host='169.254.269.254', port=80): Max. Wiederholungsversuche überschritten mit URL: /2009-04-04/meta-data/instance-id (Verursacht durch: [Errno 101] Netzwerk ist nicht erreichbar)]
Nachdem ich online darüber gelesen hatte, fand ich heraus, dass es sich hierbei um ein Cloud-Image von Ubuntu handelt und dass das Image versucht, Instanzmetadaten abzurufen.
1) Wie kann ich dieses Verhalten deaktivieren?
2) Wie gehe ich vor, um einen Metadatendienst (Cloud-Init?) auszuführen (und wo? auf der MAAS-VM?), um die Metadaten der Instanz bereitzustellen?
Ich bin nicht sicher, ob dies mit dem ersten Problem zusammenhängt. Nach 120 Sekunden wird der Startvorgang fortgesetzt und ich erhalte eine Anmeldeaufforderung. Nachdem ich online nachgelesen hatte, stellte ich fest, dass ich mich nicht lokal anmelden kann. Stattdessen muss ich mich per SSH mit Publickey-Authentifizierung verbinden. Wie oben erwähnt habe ich SSH-Schlüssel generiert und sie zu MAAS hinzugefügt, dennoch wird meine SSH-Verbindung abgelehnt.
test@ubuntuServer1404:~$ ssh [email protected] -v
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.7.101 [192.168.7.101] port 22.
debug1: Connection established.
debug1: identity file /home/test/.ssh/id_rsa type 1
debug1: identity file /home/test/.ssh/id_rsa-cert type -1
debug1: identity file /home/test/.ssh/id_dsa type -1
debug1: identity file /home/test/.ssh/id_dsa-cert type -1
debug1: identity file /home/test/.ssh/id_ecdsa type -1
debug1: identity file /home/test/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/test/.ssh/id_ed25519 type -1
debug1: identity file /home/test/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 06:16:8e:d2:22:3a:0b:67:64:3d:7b:17:69:fb:ee:29
debug1: Host '192.168.7.101' is known and matches the ECDSA host key.
debug1: Found key in /home/test/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/test/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/test/.ssh/id_dsa
debug1: Trying private key: /home/test/.ssh/id_ecdsa
debug1: Trying private key: /home/test/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
Jede Hilfe ist willkommen. Danke.
Antwort1
Ich hatte das gleiche Problem und es lag daran, dass maas mit der falschen IP konfiguriert worden war (es war DHCP, als ich die Maschine zum ersten Mal baute). Das Problem wurde nach dem Ausführen von behoben
dpkg-reconfigure maas-region-controller
und die richtige IP angeben.