Lxc
是否可以辨識程序的 LXC 非特權容器所有者?
我有一個 linux 伺服器,Debian buster,為非特權容器配置了 LXC。我也有很多來自 sssd_be 的崩潰,來自伺服器的 dmesg 說:
dmesg|grep segfault sssd_be[6739]: segfault at 8 ip 00007f080b190714 sp 00007ffc24a170a8 error 4 in libdbus-1.so.3.19.7[7f080b15d000+52000] sssd_be[7517]: segfault at 8 ip 00007fec6ca4f714 sp 00007ffc71eec028 error 4 in libdbus-1.so.3.19.7[7fec6ca1c000+52000] sssd_be[8853]: segfault at 8 ip 00007f9d181be714 sp 00007ffd42f784e8 error 4 in libdbus-1.so.3.19.7[7f9d1818b000+52000] sssd_be[15961]: segfault at 8 ip 00007f1560855714 sp 00007ffc784710e8 error 4 in libdbus-1.so.3.19.7[7f1560822000+52000] sssd_be[16728]: segfault at 8 ip 00007fa83b9df714 sp 00007fff1432b228 error 4 in libdbus-1.so.3.19.7[7fa83b9ac000+52000] sssd_be[30789]: segfault at 8 ip 00007f0c21213714 sp 00007ffd37808908 error 4 in libdbus-1.so.3.19.7[7f0c211e0000+52000] sssd_be[13515]: segfault at 8 ip 00007f67fd079714 sp 00007ffdae2dac78 error 4 in libdbus-1.so.3.19.7[7f67fd046000+52000] sssd_be[26637]: segfault at 8 ip 00007fa775531714 sp 00007ffd3bd1b9a8 error 4 in libdbus-1.so.3.19.7[7fa7754fe000+52000] sssd_be[4466]: segfault at 8 ip 00007f10cc150714 sp 00007ffe8e909a08 error 4 in libdbus-1.so.3.19.7[7f10cc11d000+52000] sssd_be[11382]: segfault at 8 ip 00007f0bcddee714 sp 00007fffcd021998 error 4 in libdbus-1.so.3.19.7[7f0bcddbb000+52000]
我想辨識正在執行的程序導致崩潰的容器,怎麼辦?htop 報告 openvz 容器名稱,但不報告 lxc 容器名稱。所以我嘗試了 ps 但出現了非常奇怪的結果
ps -efww -O lxc PID LXC S TTY TIME COMMAND 31825 - S pts/9 00:00:00 bash 1478 - R pts/9 00:00:00 \_ ps
有什麼辦法可以看到容器的名稱?
我找到了解決方法。使用 ansible,並創建一個域正在執行 sssd_be 的腳本
#!/bin/sh pgrep -a sssd cat /etc/hostname
我用這個“劇本”執行腳本,它在標準輸出上顯示結果
- name: Transfer and execute a script. hosts: all become_user: root tasks: - script: script.sh register: results - debug: var: results.stdout
執行腳本後,我發現了兩個具有程序 sssd_be 的域,因此我禁用了該機器的 sssd,現在工作正常。