Boot

我應該在啟動時為亞馬遜 ec2 映像執行 fsck 嗎?

  • August 28, 2012

我有一個在亞馬遜 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 上執行,所以您的硬體(儲存和計算實例)是虛擬化的。這種配置不太可能遇到導致文件系統損壞的任何類型的故障,並且儲存中的實際物理缺陷(如磁儲存上的壞塊)幾乎是不可能的。

  1. 這意味著文件系統問題不太常見,因此不必經常檢查文件系統。當您懷疑有問題時,也許您應該手動執行 fsck。
  2. EC2“旨在”擁有一個只讀的根文件系統,或者至少一個在實例啟動時恢復固定狀態的文件系統。EC2 的主要好處是能夠按需啟動小型實例,然後在需求下降時終止它們,始終執行相同的作業系統配置。在這種情況下,檢查根 fs 是沒有意義的,因為它永遠不會改變。如果您將該系統用於“開發”或一般用途,這顯然不適用,但我不認為這是亞馬遜對 EC2 的真正意圖。
  3. fsck在 EC2 上執行會浪費頻寬和處理器能力。這轉化為使用者和亞馬遜的成本。
  • <pass>設置在0這裡正常嗎?

我相信1對於新的 Linux 安裝來說是典型的,但這可能是特定於發行版的。Amazon 的預建構 EC2 映像也經過預配置以適應 EC2。

  • 最好的執行方式是什麼fsck- 我應該更改此值還是僅在收到警報時手動執行?

兩種選擇都有優點。如果您經常重新啟動,您可能更喜歡手動執行它而不是經常增加卷的安裝計數。

順便說一句,我不確定是否通常在安裝後(fstab可用時)或安裝前檢查根 fs。如果之前,“典型”的 Ubuntu 安裝實際上可能會在安裝 root fs 之前執行fsckin 。initramfs在這種情況下,initramfs在 EC2 上可能會有所不同,並且可能會忽略任何建議檢查文件系統的標誌。

引用自:https://unix.stackexchange.com/questions/45422