Virtualization

為 lxc 容器內的文件系統設置 noatime 標誌

  • September 5, 2014

我的主機文件系統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
  1. 它的確有所作為。容器中的 atime 會像您期望的那樣執行,這會對性能產生負面影響。
  2. 根據這張票,您需要使用一種解決方法,使用掛載鉤子而不是讓 LXC 為您進行掛載

我的猜測是,當系統呼叫寫入文件時,實現的核心程式碼會查看 noatime 標誌的狀態並從向 proc 文件系統提供資訊的同一核心常式中獲取該資訊。

但是,這遠非權威觀點,如果重要,您應該對其進行驗證。

atime 真的會更新嗎?檢查主機和託管系統。我懷疑時間的記錄方式不同,但同樣,這是一個猜測。

根據您需要多長時間來指望答案是否正確,您可能還需要尋找有關行為應該是什麼的權威答案。如果這目前沒有按預期工作,它可能會在未來發生變化,請記住,LXC 距離它的第一個生產版本還沒有那麼遠。提出問題可以幫助穩定答案,但也許將其帶到 LXC 開發人員列表中?

引用自:https://serverfault.com/questions/622641