一塊全新的資料盤掛載到Linux系統的ECS執行個體後,還不能直接儲存資料,通常需要初始化後才能被作業系統識別並用於儲存資料。您可以按照本文進行分區、掛載檔案系統等初始化操作。
方法一:利用雲助手自動初始化資料盤(邀測)
若您不慎關閉掛載資料盤中的通過雲助手初始化介面,您也可以進入執行個體詳情頁Block Storage頁簽下,再次使用雲助手初始化雲端硬碟。
在執行個體詳情頁的Block Storage頁面中,開啟雲助手檢測功能,預設為開啟狀態。

選擇待初始化的雲端硬碟,將游標移動至系統內狀態檢測下的0/3檢測已通過處,單擊初始化資料盤。

設定分區資訊。

設定分區大小以及掛載點。
說明
您可以根據實際需求,單擊添加分區,為雲端硬碟添加多個分區,每塊雲端硬碟最多添加5個分區。
分區大小:單個分區以及總分區大小不能超出雲端硬碟總容量。
說明
分區表本身和對分區進行扇區對齊時需要佔用1~2 MiB的空間,資料分割函數會自動縮減最後一個分區的大小來預留出所需要的空間。因此,分區後的實際大小可能會略小於所指定的分區大小,總的可用容量也會稍小於雲端硬碟總容量。
檔案系統類型:僅支援ext4類型,且分區類型預設均是GPT分區。
掛載點:必須至少一個以/開頭後跟英文或數位路徑格式,例如:/mnt。可以填寫無資料的已有目錄或填寫新目錄作為掛載點,掛載點不能重複。
重要
如果目標掛載目錄已存在資料,配置後會遮蓋原目錄下系統檔案,造成原有檔案不可讀,影響業務正常運行。
確認並勾選風險提示,單擊開始執行,當初始化列表的目前狀態變更為正常時,表示雲端硬碟初始化完成。
(可選)設定開機自動掛載雲端硬碟分區。具體操作,請參見(可選)步驟四:配置開機自動掛載分區。
在執行個體詳情頁的Block Storage頁面中,檢查是否開啟雲助手查詢功能,預設為開啟狀態。

選擇待掛載檔案系統的雲端硬碟,將游標移動至系統內狀態檢測下的1/3檢測已通過處,單擊掛載檔案系統。

在分區與掛載設定對話方塊中填寫掛載點並單擊手動掛載,掛載檔案系統。
說明
可以填寫無資料的已有目錄或填寫新目錄作為掛載點,掛載點不能重複。

(條件必選)如果您是使用快照新建立的雲端硬碟掛載到原ECS執行個體(快照所在的ECS執行個體),新建立雲端硬碟的UUID會和原雲端硬碟衝突,您需要修改新雲端硬碟的UUID。具體操作,請參見修改雲端硬碟的UUID。
(條件必選)如果您是使用快照新建立的雲端硬碟,且建立的雲端硬碟容量大於快照所屬雲端硬碟容量,需要執行擴容分區和檔案系統操作後,才可以在系統下正常使用。
(可選)設定開機自動掛載雲端硬碟分區。具體操作,請參見(可選)步驟四:配置開機自動掛載分區。
方法二:登入執行個體,自行初始化資料盤
本操作以Alibaba Cloud Linux 3作業系統為例,不同作業系統的操作命令可能不同,請根據實際環境進行操作。
步驟一:登入ECS執行個體並查看資料盤
遠端連線ECS執行個體。
分別運行以下命令,確定待初始化資料盤的裝置名稱。
sudo fdisk -lu
sudo blkid
樣本的運行結果如下所示,比較兩條命令的回執可知,當前ECS執行個體掛載了三塊雲端硬碟:
/dev/vda
是系統硬碟,隨執行個體建立的系統硬碟已預設初始化,無需再初始化。
/dev/vdb
是資料盤,不存在分區/dev/vdbx但存在檔案系統ext4,無需再初始化。
/dev/vdc
是資料盤,sudo blkid命令無此資料盤迴執表示未初始化,需要執行初始化操作。
因此樣本中待初始化資料盤的裝置名稱為/dev/vdc
。

判斷需要執行的初始化步驟。
(條件必選)步驟二:為資料盤建立分區
請依照判斷需要執行的初始化步驟,確認雲端硬碟是否需要執行建立分區操作。
執行建立分區指令。
按以下步驟通過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
為例。
其中,/dev/vdb
是待分區資料盤的裝置名稱,請您根據實際環境替換。
在Parted互動命令列中輸入以下內容,設定GPT分區格式。
輸入以下內容,劃分分區,並設定分區的開始位置和結束位置。
mkpart <分區名稱> <初始位置> <結束位置>
重要
分區的開始位置和結束位置請使用二進位單位MiB、GiB等單位(建立後分區會4KiB對齊),否則會影響分區對齊,嚴重影響雲端硬碟效能。
<分區名稱>、<初始位置>、<結束位置>請根據實際情況進行劃分。
運行以下命令,檢查分區是否對齊。
其中,1
是對應的分區號,通常建議您做分區對齊,以擷取更好的雲端硬碟效能。
如果分區是對齊的,結果如下所示:
重要
如果返回的是1 not aligned
,表示分區未對齊。如何處理,請參見初始化雲端硬碟FAQ。
輸入以下內容,查看分區表。
(可選)如果上述分區操作有誤,請輸入rm+分區號,刪除錯誤分區,再按照需求執行步驟III~V。下圖樣本表示為尋找(利用print)並刪除錯誤分區號為2的分區。

輸入以下內容,退出Parted工具。
分區過程如下所示。

運行以下命令,使系統重讀分區表。
運行以下命令,查看新分區資訊。本操作以資料盤/dev/vdb
為例。
其中,/dev/vdb
是資料盤的裝置名稱,請您根據實際環境替換。
運行結果如下所示,如果Disk label type
為gpt,表示新分區已建立完成。

按以下步驟通過fdisk分區工具為小於等於2 TiB的資料盤建立MBR分區。
建立一個MBR分區。
運行以下命令,對資料盤進行分區。本操作以資料盤/dev/vdb
為例。
其中,/dev/vdb
是待分區資料盤的裝置名稱,請您根據實際環境替換。
回顯資訊如下圖所示。

在fdisk互動命令列,輸入p並按Enter
鍵,查看資料盤的分區情況。
回顯資訊如下圖所示。

輸入n並按Enter
鍵,開始建立分區。
回顯資訊如下圖所示。

表示雲端硬碟有兩種分區類型:
以建立一個主要分區為例。輸入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
為例。
其中,/dev/vdb
是資料盤的裝置名稱,請您根據實際環境替換。
運行結果如下圖所示,如果出現/dev/vdb1
且Disk label type
為dos,表示新MBR分區已建立完成。

步驟三:建立並掛載檔案系統
無論雲端硬碟是否進行了分區,只要您的業務需要直接操作檔案,雲端硬碟在使用前都需要建立並掛載檔案系統。不同檔案系統支援的分區大小不同,請您根據實際需求建立檔案系統。
運行以下命令,安裝e2fsprogs工具。
sudo yum install -y e2fsprogs
說明
此步驟中yum命令適用於CentOS等Linux發行版本。其他Linux發行版本,請根據實際使用的包管理軟體修改安裝命令。例如Debian或Ubuntu,請使用apt-get install <軟體包名稱>
。
運行以下命令,建立檔案系統。以下樣本命令介紹如何建立ext4和xfs檔案系統。
以為分區/dev/vdb1
建立一個ext4檔案系統為例,則運行如下命令:
sudo mkfs -t ext4 /dev/vdb1
其中,/dev/vdb1
是資料盤的分區名稱,請您根據實際分區名稱替換。
以為裸裝置/dev/vdc
建立一個ext4檔案系統為例,則運行如下命令:
sudo mkfs -t ext4 /dev/vdc
其中,/dev/vdc
是裸裝置名稱,請您根據實際裸裝置名稱替換。
以為分區/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目錄為例,則運行如下命令:
/dev/vdc
是裸裝置名稱,請您根據實際環境替換。
/tmp
是分區的掛載點。掛載點可以是無資料的已有目錄,或執行sudo mkdir -p <新目錄>
命令建立新目錄作為掛載點,例如sudo mkdir -p /data
。
重要
如果目標掛載目錄已存在資料,配置後會覆蓋原目錄下系統檔案,可能會造成原有資料丟失,影響業務正常運行。
運行以下命令,檢查掛載結果是否符合您的預期。
結果如下所示,如果出現建立檔案系統的資訊,表示檔案系統掛載成功。

(可選)步驟四:配置開機自動掛載分區
您可以根據需要在/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中的新分區資訊。
結果如下所示,可以查詢已配置的/dev/vdb1
的分區資訊。

運行以下命令,驗證自動掛載功能是否生效。
sudo umount /dev/vdb1
sudo mount -a
mount | grep /mnt
結果如下所示,可以查詢檔案系統掛載資訊,說明自動掛載功能生效。

初始化雲端硬碟FAQ
建立GPT分區時,分區未對齊如何解決?
運行以下命令,重新開始分區。本操作以資料盤/dev/vdb為例。
在parted工具分區介面,輸入以下內容,刪除錯誤分區(錯誤分區number號可以通過print查看)。
運行以下命令,保證開始位置與結束位置的單位為MiB、GiB,重新劃分分區。以MiB為例:
mkpart primary <開始位置>MiB <結束位置>MiB
Linux執行個體如何升級e2fsprogs工具包?
如果資料盤容量為16 TiB,您需要使用1.42及以上版本的e2fsprogs工具包完成ext4檔案系統格式化。如果e2fsprogs版本低於1.42,會出現如下錯誤資訊。
mkfs.ext4: Size of device /dev/vdb too big to be expressed in 32 bits using a blocksize of 4096.
您需要按以下方式安裝高版本的e2fsprogs,例如本樣本中使用的1.42.8。
運行以下命令,檢查e2fsprogs當前的版本。
運行結果如下所示。

如果目前的版本低於1.42,按以下步驟安裝軟體。
運行以下命令,下載1.42.8版本的e2fsprogs。
您也可以在 e2fsprogs找到最新的軟體包。
wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz --no-check-certificate
編譯高版本的工具。
運行以下命令,解壓軟體包。
tar xvzf e2fsprogs-1.42.8.tar.gz
運行以下命令,進入軟體包目錄。
運行以下命令,產生Makefile檔案。
運行以下命令,編譯e2fsprogs。
運行以下命令,安裝e2fsprogs。
運行以下命令,檢查是否成功更新版本。
如何關閉Linux執行個體的lazy init功能?
ext4檔案系統預設開啟lazy init功能。該功能開啟時,執行個體會發起一個線程持續地初始化ext4檔案系統的metadata,從而延遲metadata初始化。因此,在格式化資料盤後的近期時間內,雲端硬碟的IOPS效能會受到影響,IOPS效能測試的資料會明顯偏低。
如果您需要在格式化以後馬上測試資料盤效能,請運行以下命令在格式檔案系統時關閉lazy_init功能。
sudo mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -E lazy_itable_init=0,lazy_journal_init=0 /dev/vdb1
說明
關閉lazy init功能後,格式化的時間會大幅度延長,格式化32 TiB的資料盤可能需要10分鐘到30分鐘。請您根據自身的需要選擇是否使用lazy init功能。
系統內狀態檢測為什麼顯示為檢測失敗?
僅部分X86_64位作業系統支援使用雲助手檢測功能查看系統下雲端硬碟資訊:
相關文檔
當雲端硬碟使用空間不足時,可以擴容雲端硬碟容量增加雲端硬碟儲存空間。更多資訊,請參見雲端硬碟擴容指引。、