Linux
在實時伺服器上重新掛載根分區
我們在這裡執行了一些 apache/PHP/mysql 伺服器,我注意到它們中沒有一個具有在它們的
noatime
任何 fstab 中指定的選項。鑑於在它們上執行的 PHP 應用程序傾向於為每個請求爬出數十個包含,我認為我們應該能夠通過關閉atime
跟踪來減少文件系統上的一些負載。我已經檢查過了,沒有人需要知道任何東西的訪問時間,或者甚至知道這是一件事,所以我想做的只是:
mount -o remount,noatime /
但是,有兩個問題:
- MySQL 死了,因為文件系統消失了一微秒。在這種情況下,我會暫時停止它。
- 作業系統因此而死亡。
我對重啟這些機器的前景並不感到瘋狂,因為它們中的大多數正常執行時間是我在這家公司工作的幾倍,而且誰知道重啟時會發生什麼。
那麼,在伺服器執行時我不應該重新掛載根分區是否有任何實際的、基於事實的原因?
執行這個命令應該不會出現預期的問題(否則手冊頁肯定會充滿可怕的警告)。如果事情死了,那麼這不是由於關閉了時間更新,而是您遇到了一些硬體問題。重新掛載只會關閉 atime 更新,因此會減少磁碟使用量,從而降低當機的可能性。
做過很多次這樣的事情,從來沒有發現任何問題。如果您仍然擔心並且以後可以重新啟動系統或mysql,那麼您當然可以這樣做。