在 AWS EC2 的 Ubuntu instance 中看到 /dev/xvda1 filesystem should be checked for errors 的訊息已經有好一陣子了, 雖然都沒去理它, 好像也沒甚麼大條的事情發生. 不過每次登入 Ubuntu 時看到這個訊息, 心裡不免都會有些毛毛的, 這裏紀錄 shortie 如何消除這個錯誤的方法, 做為日後處理類似問題的參考.
要注意修正此訊息會需要重新開機, 而且恢復運作的時間跟檔案系統本身的大小或問題的多寡有關, 建議在執行修正之前先備份,同時挑選合適的離峰時間進行.
基本上, 處理這個訊息有下列 4 個步驟要執行:
- 編輯 /etc/default/rcS 檔案
- 修改 /etc/fstab 檔案
- 建立 /forcefsck 檔案
- 利用 AWS Console 將 EC2 instance 重新開機
1. 編輯 /etc/default/rcS 檔案
利用慣用編輯器開啟 /etc/default/rcS 檔案 (記得使用 sudo 指令, 或是先行切換至 root 身分), 在 #FSCKFIX=no 的下面, 加入一行設定開機時自動修復檔案系統中的問題:
FSCKFIX=yes
2. 修改 /etc/fstab 檔案
同樣地利用慣用編輯器開啟 /etc/fstab 檔案, 檢查發生問題的檔案系統紀錄那一行中的第 6 個欄位是否是 0, 若為 0, 則將其修改為 1:
LABEL=cloudimg-rootfs / ext4 defaults,discard 0 1
3. 建立 /forcefsck 檔案
一樣可以利用慣用編輯器開啟 /forcefsck 檔案, 然後不輸入任何的內容直接儲存; 也可以利用 touch 指令:
touch /forcefsck
4. 利用 AWS Console 將 EC2 instance 重新開機
等候系統開機完成後, 再次連線進入系統後, 將步驟 1 & 2 所做的修改還原 (第 3 步驟建立的檔案會自動消失), 就可以靜候下一次看到這個訊息時, 再來煩惱甚麼時候重複上面的 4 個步驟囉.