2016-03-31 4 views
2

Was ist falsch in meinem Playbook zu stoppen journd von der Protokollierung?Ansible hängt systemd-journald (stoppt die Protokollierung und überflutet dmesg) mit anisable task authorized_key

/var/log/messages wird nicht mehr aktualisiert!

kann ich das Problem mit diesem einfachen isolierten Textbuch reproduzieren:

- name: Reproduce journald hang 
    hosts: test 
    vars: 
    - keys: 
     - kp_XXX.pub 
     - kp_YYY.pub 
    tasks: 
    - name: Verify journalctl before 
     command: journalctl --verify 

    - name: Add SSH keys 
     authorized_key: user=cloud key="{{ item }}" 
     with_file: keys 

    - name: Verify journalctl after 
     command: journalctl --verify 

Der Schlüssel XXX wird journald hängen, aber nicht die YYY ein.
Abgebildet auf einem CentOs 7.2 mit ansible 1.9.4

Datei kp_XXX.pub:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCLd9k03Hvf3QVL8+dYd1KZY9p1ju/RkxHr+t6l6YbMcMfYcLHW6lsNIw2aLC7qpRopQPe/prQZkbXQBy8sYzNUcVtohPTD/V6wX7RXDCiVME9uUztY96Wust1Uc4Z28DhWyC55WFKhetGzfyxK+hMrtORnzdruo/bxHKmGu3rT5HYquB8SlPN/cSG/7itwy6QkXsqzmQUbEvaLPZNwU7qd9LiySFxsbhI2vJz+FiBS+CzkoTKOSZt60I0jRs4wIjXOZjQApcgddGa2ls3vq5HH39Xdr66+PnRU/rrRpaMTrcOTLPzzeWUQoF8VbkSiDXsI8ds+M842DKAT0DFVXnR kp_XXX 

Datei kp_YYY.pub:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBM9IuDxubRnbFh1e1dvFSKE91vrME5h/nQMsZo1Bmt8FXIQ7wJdNh+ANLYyQA7Q0tiXD1n97QQ9r89iwHFEUZVSXc7VM01AE27N45ybfLmLwtNm+kny6ncoPy7+MHcOQS9Ra56u6Bi6xXUc7vM4pL2iB/m0GnUSmECZZ5EVuOpMeJltf04/+PldQGOqxp9BzVF8XKEPlW5uc6UBesPCoHpR9lGA5UIIYq1sUDIGBy3T7FEXu8KhiHrtb1wuDGJU62SqR/fxgJDypjAtedm41TFcTZOMqTR29KYCKC4OjRaUTu7kf4rWq7/HWJViK2NLaeoy9xyG1BUUTqrGY6qRo85 kp_YYY 

Obwohl beide Tasten hinzugefügt werden, schlägt die dritte Aufgabe und journald hängt:

TASK: [Verify journalctl after] *********************************************** 
failed: [test] => {"changed": true, "cmd": ["journalctl", "--verify"], "delta": "0:00:00.008351", "end": "2016-03-31 12:49:58.669585", "rc": 1, "start": "2016-03-31 12:49:58.661234", "warnings": []} 
stderr: 248668: invalid object 
File corruption detected at /run/log/journal/cf9b563caf2bc11cab56d6a504ff6a29/system.journal:248668 (of 8388608 bytes, 28%). 
FAIL: /run/log/journal/cf9b563caf2bc11cab56d6a504ff6a29/system.journal (Cannot assign requested address) 

dmesg logs reichlich o f thes Linien:

[ 761.806277] systemd-journald[366]: Failed to write entry (27 items, 719 bytes), ignoring: Cannot assign requested address 
[ 761.807514] systemd-journald[366]: Failed to write entry (23 items, 633 bytes), ignoring: Cannot assign requested address 
[ 761.859245] systemd-journald[366]: Failed to write entry (24 items, 718 bytes), ignoring: Cannot assign requested address 

Wenn Dateien überprüfen journald mit journalctl --verify:

248668: invalid object 
File corruption detected at /run/log/journal/cf9b563caf2bc11cab56d6a504ff6a29/system.journal:248668 (of 8388608 bytes, 28%). 
FAIL: /run/log/journal/cf9b563caf2bc11cab56d6a504ff6a29/system.journal (Cannot assign requested address) 

Ist das ein Fehler von mir, von ansible oder CentOS?

Wie kann es behoben werden?

Gefunden diese 2 Links zum Thema:
https://access.redhat.com/solutions/2117311?tour=6#comments
Claudio's blog

+0

Hast du die Schlüssel auf dem Host manuell einrichten versuchen zu machen und dann journalctl laufen, um zu sehen, ob Sie das Problem reproduzieren könnte ? – Petro026

+0

Ja, die manuelle Einstellung der Schlüssel ist kein Problem. Wenn das Playbook erneut ausgeführt wird, wird die Journaldatei beschädigt, auch wenn die Aufgabe in Ordnung ist. – Gwenn

Antwort

0
  • öffnen Sie die Konsole!
  • erhalten root die Ausgabe von "journalctl -xn" und "dmesg" sein
  • , wenn Sie dies oder etwas ähnliches

    [12,713167] systemd-journald [113] erhalten untersuchen: auf Fehlgeschlagen Eintrag schreiben (9 Titel, 245 Bytes), ignoriert: nicht-Adresse angefordert Kann zuordnen

  • überprüfen Sie die Zeitschriften mit "journalctl --verify"

  • überprüfen, ob die Protokolle innerhalb Größen sind "journalctl --disk-usage"
  • bis dann haben Sie eine Idee von den beschädigten Protokollen - sie erscheinen in rot, keine Möglichkeit, die Sie ignorieren können
  • erstellen Sie einen neuen Ordner verschieben Sie diese Dateien.
  • tun, um eine journalctl --verify des überprüfen laufen wieder und sicher
  • Neustart
Verwandte Themen