在Linux系統中,您可以通過在fstab檔案中使用UUID(Universally Unique Identifier)方式標識檔案系統,以確保即使雲端硬碟的掛載順序發生變化仍然可以正確地自動掛載資料盤,從而解決掛載順序變更導致ECS重啟後無法正常啟動並執行問題。本文介紹如何在fstab檔案中配置UUID方式自動掛載資料盤的檔案系統。
fstab支援使用雲端硬碟分區名(例如/dev/vdb1)或UUID標識檔案系統,兩者的差異如下所示:
在fstab中使用雲端硬碟分區名標識檔案系統,如果雲端硬碟的掛載順序變更,雲端硬碟分區可能不會被正確地掛載(mount)到原來的掛載點。這種情況下可能會影響您在ECS上啟動並執行應用。
在fstab中使用UUID標識檔案系統,如果雲端硬碟的掛載順序變更,雲端硬碟分區仍然可以正確地掛載(mount)到原來的掛載點。因此,本文建議使用UUID標識檔案系統。
操作步驟
本操作以執行個體的兩塊資料盤/dev/vdc(分區/dev/vdc1)和/dev/vdd(分區/dev/vdd1)為例,請您根據環境進行操作。
遠端連線ECS執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
運行以下命令,查看執行個體的雲端硬碟資訊。
sudo fdisk -lu
運行結果如下所示。
運行以下命令,查詢資料盤的UUID資訊、分區名稱以及檔案系統類型。
sudo blkid
運行結果如下所示。
(條件必選)如果您的資料盤分區還沒有掛載檔案系統,您需要分別為資料盤分區建立掛載目錄並掛載檔案系統。
您可以將資料盤分區掛載到已有目錄下,也可以建立新的掛載目錄,本樣本以建立掛載目錄為例。
建立/dev/vdc1分區的掛載點/test01:
sudo mkdir /test01
建立/dev/vdd1分區的掛載點/test02:
sudo mkdir /test02
(條件必選)運行以下命令,掛載資料盤分區的檔案系統。
掛載/dev/vdc1:
sudo mount /dev/vdc1 /test01
掛載/dev/vdd1:
sudo mount /dev/vdd1 /test02
運行以下命令,檢查掛載情況。
df -h
執行結果如下所示。
在/etc/fstab檔案中添加資料盤分區的掛載資訊,配置開機自動掛載分區。
運行以下命令,編輯/etc/fstab。
sudo vi /etc/fstab
按
i
鍵進入編輯模式。新增以下掛載資訊。
UUID=d18698d2-61ea-4992-a8a9-26ee214e**** /test01 ext4 defaults 0 0 UUID=6c5b3eea-930f-477d-abc6-42aa413d**** /test02 xfs defaults 0 0
結果如下所示。
序號
欄位
說明
①
<file system>
要掛載分區的檔案系統。
此處建議使用UUID,可以使用
blkid
命令查詢分區檔案系統的UUID。②
<dir>
檔案系統的掛載目錄。
您可以使用本文建立的掛載目錄/test01和/test02,也可以使用
df -Th
命令查詢檔案系統的掛載目錄。③
<type>
要掛載分區的檔案系統類型。
可以使用
blkid
命令查詢分區的檔案系統類型。④
<options>
掛載時使用的參數,一般情況下使用defaults參數。如果需要使用多個參數,通過英文逗號(,)分隔,例如
defaults,noatime
。對於<options>參數的更多說明,請參見fstab說明。
如果掛載的是ext4檔案系統,選擇不同的掛載參數可以滿足您對檔案系統的資料安全性以及效能的要求。更多資訊,請參見ext4檔案系統掛載參數說明。
⑤
<dump>
dump工具是否對這個檔案系統進行備份。
0:表示忽略。
1:表示進行備份。
一般情況下不使用dump工具,可以設定為0。
⑥
<pass>
fsck檢查檔案系統的優先順序。
0:表示不檢查檔案系統。
1:如果需要檢查,根目錄(/)對應的檔案系統設定為1。
2:如果需要檢查,非根目錄對應的其他檔案系統設定為2。
一般情況下,可以設定為0。
修改完成後,按
Esc
鍵退出編輯模式。輸入
:wq
後,按Enter
鍵儲存並退出。
運行以下命令,查看/etc/fstab檔案。
cat /etc/fstab
執行結果如下所示。
運行以下命令,讀取並根據/etc/fstab檔案的配置自動掛載檔案系統。如果無報錯輸出,表示您的/etc/fstab配置無誤。
sudo mount -a
配置完成後,如果您後續重啟ECS執行個體,系統將自動掛載資料盤。
相關文檔
如果您的ECS執行個體因為存在多餘的塊裝置導致系統無法正常啟動,請參見如何移除Linux執行個體“/etc/fstab”檔案中不存在的塊裝置進行解決。
如果您的ECS執行個體因為
/etc/fstab
檔案配置異常導致無法啟動,請參見Linux執行個體的/etc/fstab檔案配置錯誤導致系統啟動異常進行解決。