我该如何解决 lxc 容器日志挂载问题
how can I solve lxc container journal mount problem
我有 lxc contariner,线路在其自己的配置中
lxc.mount.entry = /var/log/journal/56abd83f52ed4b53b6bd4c41f3564179 var/log/journal/56abd83f52ed4b53b6bd4c41f3564179 none bind,create=dir 0 0
但它们不同步。主机中的目录比容器中的目录旧,我创建了另一行
lxc.mount.entry = /srv/log/machine1 var/log none bind,create=dir 0 0
它对某些容器工作得很好,对其他容器不起作用。
这是什么原因
问题出在挂载的顺序上。
它已在 openstack victoria
中修复
添加了 insertbefore 部分。在将 ussuri 升级到 victoria 时,我们应该手动进行。
所以顺序是这样的
第一个var/log
然后/var/log/期刊
- name: Add bind mount configuration to container
lineinfile:
dest: "/var/lib/lxc/{{ inventory_hostname }}/config"
line: "lxc.mount.entry = {{ item['mount_path'] }} {{ item['bind_dir_path'].lstrip('/') }} none bind,create=dir 0 0"
insertbefore: "^lxc.mount.entry = .*\s{{ item['bind_dir_path'].lstrip('/') | regex_replace('/', '\/') }}.*"
backup: "true"
with_items:
- "{{ lxc_default_bind_mounts | default([]) }}"
- "{{ list_of_bind_mounts | default([]) }}"
delegate_to: "{{ physical_host }}"
register: _mc
tags:
- common-lxc
我有 lxc contariner,线路在其自己的配置中
lxc.mount.entry = /var/log/journal/56abd83f52ed4b53b6bd4c41f3564179 var/log/journal/56abd83f52ed4b53b6bd4c41f3564179 none bind,create=dir 0 0
但它们不同步。主机中的目录比容器中的目录旧,我创建了另一行
lxc.mount.entry = /srv/log/machine1 var/log none bind,create=dir 0 0
它对某些容器工作得很好,对其他容器不起作用。
这是什么原因
问题出在挂载的顺序上。 它已在 openstack victoria
中修复添加了 insertbefore 部分。在将 ussuri 升级到 victoria 时,我们应该手动进行。
所以顺序是这样的
第一个var/log
然后/var/log/期刊
- name: Add bind mount configuration to container
lineinfile:
dest: "/var/lib/lxc/{{ inventory_hostname }}/config"
line: "lxc.mount.entry = {{ item['mount_path'] }} {{ item['bind_dir_path'].lstrip('/') }} none bind,create=dir 0 0"
insertbefore: "^lxc.mount.entry = .*\s{{ item['bind_dir_path'].lstrip('/') | regex_replace('/', '\/') }}.*"
backup: "true"
with_items:
- "{{ lxc_default_bind_mounts | default([]) }}"
- "{{ list_of_bind_mounts | default([]) }}"
delegate_to: "{{ physical_host }}"
register: _mc
tags:
- common-lxc