Virtualization
為 lxc 容器內的文件系統設置 noatime 標誌
我的主機文件系統
ext4
掛載了該noatime
標誌。但是在 lxc 容器中,該標誌不存在。這是
mount
主機上的輸出:/dev/sdb1 on /home type ext4 (rw,noatime)
這
mount
是容器中的輸出:/dev/sdb1 on / type ext4 (rw)
我現在有兩個問題:
1. 如果
noatime
是在容器中設置有區別嗎?我的猜測是肯定的。
2.
noatime
容器的最佳設置方式是什麼?理想情況下,我想配置這樣一種方式,它始終尊重主機的文件系統標誌。
更新 顯示
/proc/mounts
略有不同的條目:rootfs / rootfs rw 0 0 /dev/sdb1 /home ext4 rw,noatime 0 0
- 它的確有所作為。容器中的 atime 會像您期望的那樣執行,這會對性能產生負面影響。
- 根據這張票,您需要使用一種解決方法,使用掛載鉤子而不是讓 LXC 為您進行掛載
我的猜測是,當系統呼叫寫入文件時,實現的核心程式碼會查看 noatime 標誌的狀態並從向 proc 文件系統提供資訊的同一核心常式中獲取該資訊。
但是,這遠非權威觀點,如果重要,您應該對其進行驗證。
atime 真的會更新嗎?檢查主機和託管系統。我懷疑時間的記錄方式不同,但同樣,這是一個猜測。
根據您需要多長時間來指望答案是否正確,您可能還需要尋找有關行為應該是什麼的權威答案。如果這目前沒有按預期工作,它可能會在未來發生變化,請記住,LXC 距離它的第一個生產版本還沒有那麼遠。提出問題可以幫助穩定答案,但也許將其帶到 LXC 開發人員列表中?