Centos Ansible使用Ansible任务授权密钥挂起系统日志(停止日志记录并淹没dmesg)

Centos Ansible使用Ansible任务授权密钥挂起系统日志(停止日志记录并淹没dmesg),centos,ansible,ssh-keys,systemd,Centos,Ansible,Ssh Keys,Systemd,我的剧本中有什么错误阻止journald记录日志 /var/log/messages不再更新 我可以用这个简单的独立剧本重现这个问题: - name: Reproduce journald hang hosts: test vars: - keys: - kp_XXX.pub - kp_YYY.pub tasks: - name: Verify journalctl before command: journalctl --

我的剧本中有什么错误阻止journald记录日志

/var/log/messages不再更新

我可以用这个简单的独立剧本重现这个问题:

- 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
XXX键将使日志挂起,但YYY键不会挂起。
转载于CentOs 7.2和ansible 1.9.4

文件kp_XXX.pub:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCLd9k03Hvf3QVL8+dYd1KZY9p1ju/RkxHr+t6l6YbMcMfYcLHW6lsNIw2aLC7qpRopQPe/prQZkbXQBy8sYzNUcVtohPTD/V6wX7RXDCiVME9uUztY96Wust1Uc4Z28DhWyC55WFKhetGzfyxK+hMrtORnzdruo/bxHKmGu3rT5HYquB8SlPN/cSG/7itwy6QkXsqzmQUbEvaLPZNwU7qd9LiySFxsbhI2vJz+FiBS+CzkoTKOSZt60I0jRs4wIjXOZjQApcgddGa2ls3vq5HH39Xdr66+PnRU/rrRpaMTrcOTLPzzeWUQoF8VbkSiDXsI8ds+M842DKAT0DFVXnR kp_XXX
文件kp_YYY.pub:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBM9IuDxubRnbFh1e1dvFSKE91vrME5h/nQMsZo1Bmt8FXIQ7wJdNh+ANLYyQA7Q0tiXD1n97QQ9r89iwHFEUZVSXc7VM01AE27N45ybfLmLwtNm+kny6ncoPy7+MHcOQS9Ra56u6Bi6xXUc7vM4pL2iB/m0GnUSmECZZ5EVuOpMeJltf04/+PldQGOqxp9BzVF8XKEPlW5uc6UBesPCoHpR9lGA5UIIYq1sUDIGBy3T7FEXu8KhiHrtb1wuDGJU62SqR/fxgJDypjAtedm41TFcTZOMqTR29KYCKC4OjRaUTu7kf4rWq7/HWJViK2NLaeoy9xyG1BUUTqrGY6qRo85 kp_YYY
虽然添加了两个键,但第三个任务失败,日志挂起:

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记录了大量的行:

[  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
使用
journalctl验证日志文件时--验证

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)
这是我、ansible或centos的错误吗

怎么能修好呢

找到以下两个相关链接:

  • 打开控制台
  • 扎根
  • 检查“journalctl-xn”和“dmesg”的输出
  • 如果你得到这个或类似的东西

    [12.713167]systemd journald[113]:无法写入条目(9项,245字节),忽略:无法分配请求的地址

  • 使用“journalctl--verify”验证日记账

  • 检查日志大小是否在“journalctl--磁盘使用率”范围内
  • 到那时,你已经对损坏的日志有了一个概念——它们以红色显示,你无法忽略它们
  • 创建新文件夹并移动这些文件
  • 执行journalctl--verify重新运行verify和以确保
  • 重新启动

您是否尝试在主机上手动设置密钥,然后运行journalctl以查看是否可以重现该问题?是的,手动设置密钥不是问题。再次运行playbook时,即使任务正常,日志文件也会损坏。