一塊全新的資料盤掛載到Linux系統的ECS執行個體後,還不能直接儲存資料,通常需要初始化後才能被作業系統識別並用於儲存資料。您可以按照本文進行分區、掛載檔案系統等初始化操作。
前提條件
方法一:利用雲助手自動初始化資料盤(邀測)
功能邀測中,僅部分客戶可以使用。
雲端硬碟需未開啟多重掛載功能。
ECS執行個體需為運行中狀態且已安裝雲助手Agent,2017年12月01日之後使用公用鏡像建立的ECS執行個體,預設預裝了雲助手Agent。具體操作,請參見安裝雲助手Agent。
利用雲助手建立的分區為GPT分區,系統類別型為ext4。
若您不慎關閉掛載資料盤中的通過雲助手初始化介面,您也可以進入執行個體詳情頁Block Storage頁簽下,再次使用雲助手初始化雲端硬碟。
新建立的資料盤
新建立的空資料盤沒有分區和檔案系統,需繼續建立分區及檔案系統,並掛載檔案系統。
在執行個體詳情頁的Block Storage頁面中,開啟雲助手檢測功能,預設為開啟狀態。
說明功能邀測中,僅部分客戶可以使用,如果您沒有雲助手檢測功能的設定,請您選擇方法二:登入執行個體,自行初始化資料盤。
選擇待初始化的雲端硬碟,將游標移動至系統內狀態檢測下的0/3檢測已通過處,單擊初始化資料盤。
說明僅部分作業系統支援雲助手初始化操作,如果您沒有系統內狀態檢測或者系統內狀態檢測下顯示檢測失敗,請您選擇方法二:登入執行個體,自行初始化資料盤。
設定分區資訊。
設定分區大小以及掛載點。
說明您可以根據實際需求,單擊添加分區,為雲端硬碟添加多個分區,每塊雲端硬碟最多添加5個分區。
分區大小:單個分區以及總分區大小不能超出雲端硬碟總容量。
說明分區表本身和對分區進行扇區對齊時需要佔用1~2 MiB的空間,資料分割函數會自動縮減最後一個分區的大小來預留出所需要的空間。因此,分區後的實際大小可能會略小於所指定的分區大小,總的可用容量也會稍小於雲端硬碟總容量。
檔案系統類型:僅支援ext4類型,且分區類型預設均是GPT分區。
掛載點:必須至少一個以/開頭後跟英文或數位路徑格式,例如:/mnt。可以填寫無資料的已有目錄或填寫新目錄作為掛載點,掛載點不能重複。
重要如果目標掛載目錄已存在資料,配置後會遮蓋原目錄下系統檔案,造成原有檔案不可讀,影響業務正常運行。
確認並勾選風險提示,單擊開始執行,當初始化列表的目前狀態變更為正常時,表示雲端硬碟初始化完成。
(可選)設定開機自動掛載雲端硬碟分區。具體操作,請參見(可選)步驟四:配置開機自動掛載分區。
存在資料的資料盤
通過快照建立的雲端硬碟或從其他執行個體卸載的資料盤沒有掛載檔案系統,需掛載檔案系統,掛載檔案系統不會導致資料丟失。
在執行個體詳情頁的Block Storage頁面中,檢查是否開啟雲助手查詢功能,預設為開啟狀態。
選擇待掛載檔案系統的雲端硬碟,將游標移動至系統內狀態檢測下的1/3檢測已通過處,單擊掛載檔案系統。
在分區與掛載設定對話方塊中填寫掛載點並單擊手動掛載,掛載檔案系統。
說明可以填寫無資料的已有目錄或填寫新目錄作為掛載點,掛載點不能重複。
(條件必選)如果您是使用快照新建立的雲端硬碟掛載到原ECS執行個體(快照所在的ECS執行個體),新建立雲端硬碟的UUID會和原雲端硬碟衝突,您需要修改新雲端硬碟的UUID。具體操作,請參見修改雲端硬碟的UUID。
(條件必選)如果您是使用快照新建立的雲端硬碟,且建立的雲端硬碟容量大於快照所屬雲端硬碟容量,需要執行擴容分區和檔案系統操作後,才可以在系統下正常使用。
Linux執行個體請參考擴容分區和檔案系統(Linux)。
Windows執行個體請參考擴容分區和檔案系統(Windows)。
(可選)設定開機自動掛載雲端硬碟分區。具體操作,請參見(可選)步驟四:配置開機自動掛載分區。
方法二:登入執行個體,自行初始化資料盤
本操作以Alibaba Cloud Linux 3作業系統為例,不同作業系統的操作命令可能不同,請根據實際環境進行操作。
步驟一:登入ECS執行個體並查看資料盤
遠端連線ECS執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
分別運行以下命令,確定待初始化資料盤的裝置名稱。
sudo fdisk -lu sudo blkid
樣本的運行結果如下所示,比較兩條命令的回執可知,當前ECS執行個體掛載了三塊雲端硬碟:
/dev/vda
是系統硬碟,隨執行個體建立的系統硬碟已預設初始化,無需再初始化。/dev/vdb
是資料盤,不存在分區/dev/vdbx但存在檔案系統ext4,無需再初始化。/dev/vdc
是資料盤,sudo blkid命令無此資料盤迴執表示未初始化,需要執行初始化操作。
因此樣本中待初始化資料盤的裝置名稱為
/dev/vdc
。判斷需要執行的初始化步驟。
如果您需要通過分區來分類儲存和管理資料,且雲端硬碟容量大於2TiB或後續有擴容至2TiB以上:因分區格式限制僅能建立GPT分區,需要執行建立GPT分區(推薦)及步驟三:建立並掛載檔案系統。
如果您需要通過分區來分類儲存和管理資料,容量小於等於2TiB且後續無擴容至2TiB需求:可以建立GPT分區(推薦)或MBR分區,需要執行步驟二:為資料盤建立分區及步驟三:建立並掛載檔案系統。
如果您無需通過分區管理,需要直接以裸裝置建立檔案系統形式使用雲端硬碟:無需執行建立分區操作,直接執行步驟三:建立並掛載檔案系統即可。
(條件必選)步驟二:為資料盤建立分區
請依照判斷需要執行的初始化步驟,確認雲端硬碟是否需要執行建立分區操作。
執行建立分區指令。
重要不同分區類型支援的最大分區容量和分區數量不同。更多資訊,請參見分區格式介紹。
如果您使用的雲端硬碟容量後續有可能會擴容到2 TiB以上,分區時請採用GPT分區。否則由於MBR分區容量的限制,您將無法直接擴容至所需容量大小,這可能導致需要重新分區和格式化雲端硬碟,進而導致資料丟失。
建立GPT分區(推薦)
按以下步驟通過Parted分區工具為小於等於2 TiB的資料盤建立GPT分區。
運行以下命令,安裝Parted工具。
sudo yum install -y parted
說明yum
命令適用於CentOS等Linux發行版本。其他Linux發行版本,請根據實際使用的包管理軟體修改安裝命令。例如Debian或Ubuntu,請使用以下命令安裝Parted工具:sudo apt-get update sudo apt-get install -y parted
使用Parted工具為資料盤進行分區。
運行以下命令,開始分區。本操作以資料盤
/dev/vdb
為例。sudo parted /dev/vdb
其中,
/dev/vdb
是待分區資料盤的裝置名稱,請您根據實際環境替換。在Parted互動命令列中輸入以下內容,設定GPT分區格式。
mklabel gpt
輸入以下內容,劃分分區,並設定分區的開始位置和結束位置。
mkpart <分區名稱> <初始位置> <結束位置>
重要分區的開始位置和結束位置請使用二進位單位MiB、GiB等單位(建立後分區會4KiB對齊),否則會影響分區對齊,嚴重影響雲端硬碟效能。
<分區名稱>、<初始位置>、<結束位置>請根據實際情況進行劃分。
單分區樣本:以劃分一個主要磁碟分割、分區名為primary,開始位置為1MiB,100%容量給到第一個分區為例。
mkpart primary 1MiB 100%
多分區樣本:以劃分兩個分區、第一個分區名為primary,分區容量為20GiB,剩餘容量劃分至第二個分區secondary為例,需要分別執行:
mkpart primary 1MiB 20GiB mkpart secondary 20GiB 100%
運行以下命令,檢查分區是否對齊。
其中,
1
是對應的分區號,通常建議您做分區對齊,以擷取更好的雲端硬碟效能。align-check optimal 1
如果分區是對齊的,結果如下所示:
1 aligned
重要如果返回的是
1 not aligned
,表示分區未對齊。如何處理,請參見初始化雲端硬碟FAQ。輸入以下內容,查看分區表。
print
(可選)如果上述分區操作有誤,請輸入rm+分區號,刪除錯誤分區,再按照需求執行步驟III~V。下圖樣本表示為尋找(利用print)並刪除錯誤分區號為2的分區。
重要請在刪除分區前,確保分區內無資料或者資料已備份。
輸入以下內容,退出Parted工具。
quit
分區過程如下所示。
運行以下命令,使系統重讀分區表。
partprobe
運行以下命令,查看新分區資訊。本操作以資料盤
/dev/vdb
為例。sudo fdisk -lu /dev/vdb
其中,
/dev/vdb
是資料盤的裝置名稱,請您根據實際環境替換。運行結果如下所示,如果
Disk label type
為gpt,表示新分區已建立完成。說明不同作業系統的顯示略有不同。如果沒有
Disk label type
欄位,可通過System
欄位判斷。System
值為Linux
表示MBR分區,值為GPT
表示GPT分區。較低版本的fdisk可能不能正常顯示GPT分區表。您可以通過
gdisk -l /dev/vdb
命令查看分區類型。
建立MBR分區
按以下步驟通過fdisk分區工具為小於等於2 TiB的資料盤建立MBR分區。
建立一個MBR分區。
運行以下命令,對資料盤進行分區。本操作以資料盤
/dev/vdb
為例。sudo fdisk -u /dev/vdb
其中,
/dev/vdb
是待分區資料盤的裝置名稱,請您根據實際環境替換。回顯資訊如下圖所示。
在fdisk互動命令列,輸入p並按
Enter
鍵,查看資料盤的分區情況。回顯資訊如下圖所示。
輸入n並按
Enter
鍵,開始建立分區。回顯資訊如下圖所示。
表示雲端硬碟有兩種分區類型:
p
表示主要磁碟分割。e
表示擴充分區。說明關於分區的說明,請參見分區格式介紹。
以建立一個主要分區為例。輸入p並按
Enter
鍵,開始建立一個主要磁碟分割。回顯資訊如下圖所示。
Partition number
表示主要磁碟分割編號,可以選擇1-4。輸入分區編號,按
Enter
鍵。本樣本以建立一個主要磁碟分割為例,直接按
Enter
鍵,表示主要磁碟分割的分區編號為1
。回顯資訊如下圖所示。
輸入起始扇區編號,按
Enter
鍵。First sector
表示分區可用空間的起始扇區編號,可以選擇2048-83886079,預設值為2048。本樣本中,直接按Enter
鍵,表示選擇預設起始扇區編號2048
。回顯資訊如下圖所示。
說明系統會自動提示分區可用空間的起始扇區編號和截止扇區編號,可以在該區間內自訂或者使用預設值。分區的起始扇區編號必須小於截止扇區編號。
輸入最後一個扇區編號,按
Enter
鍵。Last sector
表示分區可用空間的截止扇區編號,可以選擇2048-83886079,預設值為83886079。本樣本中,直接按Enter
鍵,表示選擇預設截止扇區編號83886079
。回顯資訊如下圖所示。
說明系統會自動提示分區可用空間的起始扇區編號和截止扇區編號,可以在該區間內自訂或者使用預設值。分區的起始扇區編號必須小於截止扇區編號。
輸入p並按
Enter
鍵,查看該資料盤的分區規劃情況。回顯資訊如下圖所示,表示建立分區
/dev/vdb1
的詳細資料。說明如果上述分區操作有誤,請輸入
q
退出fdisk分區工具,之前的分區結果不會被保留,您可以按照上述步驟重新分區。輸入w並按
Enter
鍵,將分區結果寫入分區表中。回顯資訊如下圖所示,表示分區建立完成。
(條件必選)如果您需要為一塊雲端硬碟建立多個分區,需要重複執行步驟a建立其他分區。
運行以下命令,查看新分區資訊。本操作以資料盤
/dev/vdb
為例。sudo fdisk -lu /dev/vdb
其中,
/dev/vdb
是資料盤的裝置名稱,請您根據實際環境替換。運行結果如下圖所示,如果出現
/dev/vdb1
且Disk label type
為dos,表示新MBR分區已建立完成。說明不同作業系統的顯示略有不同。如果沒有
Disk label type
欄位,可通過System
欄位判斷。System
值為Linux
表示MBR分區,值為GPT
表示GPT分區。較低版本的fdisk可能不能正常顯示GPT分區表。您可以通過
gdisk -l /dev/vdb
命令查看分區類型。
步驟三:建立並掛載檔案系統
無論雲端硬碟是否進行了分區,只要您的業務需要直接操作檔案,雲端硬碟在使用前都需要建立並掛載檔案系統。不同檔案系統支援的分區大小不同,請您根據實際需求建立檔案系統。
運行以下命令,安裝e2fsprogs工具。
sudo yum install -y e2fsprogs
說明此步驟中yum命令適用於CentOS等Linux發行版本。其他Linux發行版本,請根據實際使用的包管理軟體修改安裝命令。例如Debian或Ubuntu,請使用
apt-get install <軟體包名稱>
。運行以下命令,建立檔案系統。以下樣本命令介紹如何建立ext4和xfs檔案系統。
建立ext4檔案系統
以為分區
/dev/vdb1
建立一個ext4檔案系統為例,則運行如下命令:sudo mkfs -t ext4 /dev/vdb1
其中,
/dev/vdb1
是資料盤的分區名稱,請您根據實際分區名稱替換。以為裸裝置
/dev/vdc
建立一個ext4檔案系統為例,則運行如下命令:sudo mkfs -t ext4 /dev/vdc
其中,
/dev/vdc
是裸裝置名稱,請您根據實際裸裝置名稱替換。
說明當資料盤容量為16 TiB,在建立ext4檔案系統報錯時,您需要檢查e2fsprogs工具包的版本是否高於1.42,並安裝高版本的e2fsprogs工具包。具體操作,請參見如何升級e2fsprogs工具包?。
ext4檔案系統的lazy init功能會影響資料盤的I/O效能,您可以關閉ext4檔案系統的lazy init功能。具體操作,請參見如何關閉Linux執行個體的lazy init功能?。
建立xfs檔案系統
以為分區
/dev/vdb1
建立一個xfs檔案系統為例,則運行如下命令:sudo mkfs -t xfs /dev/vdb1
其中,
/dev/vdb1
是資料盤的分區名稱,請您根據實際分區名稱進行替換。以為裸裝置
/dev/vdc
建立一個xfs檔案系統為例,則運行如下命令:sudo mkfs -t xfs /dev/vdc
其中,
/dev/vdc
是裸裝置名稱,請您根據實際裸裝置名稱進行替換。
運行以下命令,掛載檔案系統。
以將分區
/dev/vdb1
掛載到/mnt目錄為例,則運行如下命令:sudo mount /dev/vdb1 /mnt
/dev/vdb1
是資料盤的分區名稱,請您根據實際環境替換。/mnt
是分區的掛載點。掛載點可以是無資料的已有目錄,或執行sudo mkdir -p <新目錄>
命令建立新目錄作為掛載點,例如sudo mkdir -p /data
。重要如果目標掛載目錄已存在資料,配置後會覆蓋原目錄下系統檔案,可能會造成原有資料丟失,影響業務正常運行。
以將裸裝置
/dev/vdc
掛載到/tmp目錄為例,則運行如下命令:sudo mount /dev/vdc /tmp
/dev/vdc
是裸裝置名稱,請您根據實際環境替換。/tmp
是分區的掛載點。掛載點可以是無資料的已有目錄,或執行sudo mkdir -p <新目錄>
命令建立新目錄作為掛載點,例如sudo mkdir -p /data
。重要如果目標掛載目錄已存在資料,配置後會覆蓋原目錄下系統檔案,可能會造成原有資料丟失,影響業務正常運行。
運行以下命令,檢查掛載結果是否符合您的預期。
df -Th
結果如下所示,如果出現建立檔案系統的資訊,表示檔案系統掛載成功。
(可選)步驟四:配置開機自動掛載分區
您可以根據需要在/etc/fstab中寫入新分區資訊,配置開機自動掛載,以確保系統每次啟動時會自動掛載雲端硬碟分區。
運行以下命令,備份/etc/fstab檔案。
sudo cp /etc/fstab /etc/fstab.bak
在/etc/fstab裡寫入新分區資訊。
sudo sh -c "echo `sudo blkid /dev/vdb1 | awk '{print \$2}' | sed 's/\"//g'` /mnt ext4 defaults 0 0 >> /etc/fstab"
說明Ubuntu 12.04系統不支援barrier,您需要運行
sudo sh -c "echo `sudo blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /mnt ext4 barrier=0 0 0 >> /etc/fstab"
命令。其中:
/dev/vdb1
:資料盤的分區名稱,您需要根據實際環境進行替換(通過df -Th
命令擷取)。/mnt
:分區的掛載點,您需要根據已設定的掛載點進行替換(通過df -Th
命令擷取)。ext4
:分區的檔案系統類型,您需要根據已建立的檔案系統類型進行替換(通過df -Th
命令擷取)。defaults
:檔案系統的掛載參數。您可以根據實際需求選擇對應的掛載參數,請參見fstab說明。說明當參數設定為
defaults,nofail
時,即使掛載配置存在錯誤,也不會影響執行個體的正常啟動。然而,由於此時系統不會上報錯誤,您需要特別關注自動掛載是否配置成功,以避免因配置錯誤導致資料存放區位置不正確。
(條件必選)如果單盤有多個連續分區的情況,需要分別將多個分區資訊寫入/etc/fstab中。
例如資料盤
/dev/vdb
有2個分區/dev/vdb1
和/dev/vdb2
,需要分別執行以下命令:sudo sh -c "echo `sudo blkid /dev/vdb1 | awk '{print \$2}' | sed 's/\"//g'` </dev/vdb1的掛載點> </dev/vdb1的檔案系統類型> defaults 0 0 >> /etc/fstab" sudo sh -c "echo `sudo blkid /dev/vdb2 | awk '{print \$2}' | sed 's/\"//g'` </dev/vdb2的掛載點> </dev/vdb2的檔案系統類型> defaults 0 0 >> /etc/fstab"
運行以下命令,查看/etc/fstab中的新分區資訊。
cat /etc/fstab
結果如下所示,可以查詢已配置的
/dev/vdb1
的分區資訊。說明如果查詢的分區資訊有誤,您可以手動編輯/etc/fstab檔案,刪除錯誤分區資訊後,再重新添加分區資訊。具體操作,請參見在fstab檔案中配置UUID方式自動掛載資料盤。
運行以下命令,驗證自動掛載功能是否生效。
sudo umount /dev/vdb1 sudo mount -a mount | grep /mnt
結果如下所示,可以查詢檔案系統掛載資訊,說明自動掛載功能生效。
初始化雲端硬碟FAQ
建立GPT分區時,分區未對齊如何解決?
Linux執行個體如何升級e2fsprogs工具包?
如何關閉Linux執行個體的lazy init功能?
系統內狀態檢測為什麼顯示為檢測失敗?
相關文檔
當雲端硬碟使用空間不足時,可以擴容雲端硬碟容量增加雲端硬碟儲存空間。更多資訊,請參見雲端硬碟擴容指引。、