Boot
我應該在啟動時為亞馬遜 ec2 映像執行 fsck 嗎?
我有一個在亞馬遜 EC2 上執行的 Ubuntu 微型實例。
最近登錄後我收到警報:
*** /dev/xvda1 will be checked for errors at next reboot ***
我已經使用 重新啟動了幾次
init 6
,但是當我登錄時,我仍然收到相同的通知,因此顯然fsck
沒有在啟動時執行。我閱讀了這篇博文,其中提到如果 /etc/fstab
<pass>
列設置為,0
則在重新啟動期間將跳過磁碟檢查。這是我的fstab
文件:<file system> <mount point><type><options><dump><pass> LABEL=cloudimg-rootfs / ext4 defaults 0 0 /dev/xvdh /vol xfs noatime 0 0
這是 ec2 映像的預設配置
ubuntu
。
<pass
>在這裡設置是否正常0
?- 為什麼會設置為
0
?- 最好的執行方式是什麼
fsck
- 我應該更改此值還是僅在收到警報時手動執行?
- 為什麼會設置為
0
?我可以看到一些可能的原因。
因為您在 EC2 上執行,所以您的硬體(儲存和計算實例)是虛擬化的。這種配置不太可能遇到導致文件系統損壞的任何類型的故障,並且儲存中的實際物理缺陷(如磁儲存上的壞塊)幾乎是不可能的。
- 這意味著文件系統問題不太常見,因此不必經常檢查文件系統。當您懷疑有問題時,也許您應該手動執行 fsck。
- EC2“旨在”擁有一個只讀的根文件系統,或者至少一個在實例啟動時恢復固定狀態的文件系統。EC2 的主要好處是能夠按需啟動小型實例,然後在需求下降時終止它們,始終執行相同的作業系統配置。在這種情況下,檢查根 fs 是沒有意義的,因為它永遠不會改變。如果您將該系統用於“開發”或一般用途,這顯然不適用,但我不認為這是亞馬遜對 EC2 的真正意圖。
fsck
在 EC2 上執行會浪費頻寬和處理器能力。這轉化為使用者和亞馬遜的成本。
<pass>
設置在0
這裡正常嗎?我相信
1
對於新的 Linux 安裝來說是典型的,但這可能是特定於發行版的。Amazon 的預建構 EC2 映像也經過預配置以適應 EC2。
- 最好的執行方式是什麼
fsck
- 我應該更改此值還是僅在收到警報時手動執行?兩種選擇都有優點。如果您經常重新啟動,您可能更喜歡手動執行它而不是經常增加卷的安裝計數。
順便說一句,我不確定是否通常在安裝後(
fstab
可用時)或安裝前檢查根 fs。如果之前,“典型”的 Ubuntu 安裝實際上可能會在安裝 root fs 之前執行fsck
in 。initramfs
在這種情況下,initramfs
在 EC2 上可能會有所不同,並且可能會忽略任何建議檢查文件系統的標誌。