若是您要分區格式化一塊大於2 TiB的做數據盤用的雲盤(本文統一稱爲 大容量數據盤,小於2 TiB的數據盤統稱爲 小容量數據盤),您必須採用GPT分區形式。本文檔描述瞭如何在不一樣的操做系統裏分區格式化一塊大容量數據盤。linux
分區格式化大容量數據盤時,須要注意如下事項:express
大容量數據盤支持的分區工具和文件系統以下表所示。api
操做系統 | 分區工具 | 文件系統 |
---|---|---|
Linux | parted |
ext4或xfs |
Windows | 磁盤管理 | NTFS |
不建議使用小容量數據盤的快照建立大容量數據盤服務器
理論上,您可使用一塊小容量數據盤的快照建立一個大容量數據盤,可是咱們建議建立空的大容量數據盤,或者使用大容量數據盤的快照建立大容量數據盤。緣由以下:網絡
parted
和Windows上的 磁盤管理)都不能在保留數據的前提下將分區形式從MBR轉換爲GPT。因此,即便您使用小容量數據盤的快照建立了大容量數據盤,在分區格式化時,您都須要刪除原有數據,再按照GPT格式分區。若是您已經用小容量數據盤的快照建立了大容量數據盤,請參見 Windows裏分區格式化由小容量數據盤的快照建立的大容量數據盤 。
數據盤快照的影響app
大容量數據盤的數據量很大,可是建立快照的速度和小容量數據盤是同樣的,因此天天建立快照的時間會與數據量成比例增加。建立快照的速度和數據的增量成正比,髒數據越多,建立快照耗時越久。工具
這部分以Windows Server 2008 R2 64位系統爲例,說明如何在Windows實例中分區格式化一塊大容量數據盤。假設須要處理的數據盤是一個4 TiB的空盤。性能
前提條件測試
數據盤已經掛載到實例上。具體操做,請參見 掛載雲盤。
操做步驟
按如下步驟分區格式化一塊大容量數據盤:
聯機後,磁盤 4的狀態顯示爲 沒有初始化。
若是您使用一個小容量數據盤的快照建立了一塊大容量數據盤,您須要先將數據盤的分區形式從MBR轉爲GPT,再格式化數據盤,原來快照的數據將沒法保存,因此咱們不建議您使用小容量數據盤的快照建立大容量數據盤。
若是您確實建立了這樣的大容量數據盤,按如下步驟分區格式化這塊數據盤。本示例中的操做系統是Windows Server 2012 R2 64位,假設須要處理的數據盤容量爲3 TiB。
前提條件
數據盤已經 掛載 到實例上。
操做步驟
按如下步驟分區格式化一塊大容量數據盤:
未格式化分區的數據盤(如本示例中的磁盤 2)處於 脫機 狀態。
對於Linux實例上掛載的大容量數據盤,採用GPT分區形式。Linux系統裏,大容量數據盤通常採用xfs或者ext4文件系統。
這部分以CentOS 7.4 64位系統爲例,說明如何在Linux實例上使用 parted 和 e2fsprogs 工具分區並格式化一個大容量數據盤。假設須要處理的數據盤是一個新建的3 TiB的空盤,設備名爲 /dev/vdd。
前提條件
您的Linux實例上已經安裝了 parted。若是未安裝,運行命令 yum install -y parted
。
您的Linux實例上已經安裝了 e2fsprogs。若是未安裝,運行命令 yum install -y e2fsprogs
。
數據盤已經掛載到實例上。詳細信息,請參見 掛載雲盤。
操做步驟
按如下步驟分區格式化大容量數據盤,並掛載文件系統:
fdisk -l
查看數據盤是否存在。返回結果應包括以下所示的信息。若是沒有,表示您未掛載數據盤。
Disk /dev/vdd: 3221.2 GB, 3221225472000 bytes, 6291456000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
parted /dev/vdd
開始分區:
mklabel gpt
,將MBR分區形式轉爲GPT分區形式。mkpart primary ext4 <StartSector> <EndSector>
,劃分一個採用ext4文件系統的主分區,並設置分區的開始位置和結束位置。若是一個數據盤只分一個分區,則運行命令 mkpart primary ext4 0 -1
。
print
,查看分區表。
(parted) mkpart primary ext4 0 -1
Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? ignore (parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdd: 3221GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 3221GB 3221GB primary
quit
,退出 parted 操做。partprobe
,使系統重讀分區表。mkfs -t xfs /dev/vdd1
。mkdir /test
,建立一個名爲 /test 的掛載點。mount /dev/vdd1 /test
,將分區 /dev/vdd1 掛載到 /test。df -h
,查看目前磁盤空間和使用狀況。 若是返回結果裏出現新建文件系統的信息,說明掛載成功,可使用新的文件系統了。掛載完成後,不須要重啓實例便可開始使用新的文件系統。
[root@izXXXXz ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 6.4G 31G 18% / devtmpfs 487M 0 487M 0% /dev tmpfs 497M 0 497M 0% /dev/shm tmpfs 497M 364K 496M 1% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/0 /dev/vdd1 2.9T 89M 2.8T 1% /test
cp /etc/fstab /etc/fstab.bak
,備份 etc/fstab。echo /dev/vdd1 /test ext4 defaults 0 0 >> /etc/fstab
,向 /etc/fstab 裏寫入新分區信息。cat /etc/fstab
,查看 /etc/fstab 的信息。 若是返回結果裏出現了寫入的新分區信息,說明寫入成功。
至此,您已經成功分區並格式化了一個3 TiB數據盤。
附錄1:升級e2fsprogs工具包
若是數據盤容量爲16 TiB,您須要使用1.42及以上版本的e2fsprogs工具包完成ext4文件系統格式化。若是e2fsprogs版本過低(好比:e2fsprogs 1.41.11等),會出現以下錯誤信息:
您須要按如下方式安裝高版本的e2fsprogs,如本示例中使用的1.42.8:
rpm -qa | grep e2fsprogs
檢查e2fsprogs當前的版本。 若是當前版本低於1.42,按如下步驟安裝軟件。
wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz
rpm -qa | grep e2fsprogs
檢查是否成功安裝高版本軟件。附錄2:關閉lazy init功能
ext4文件系統的lazy init功能,默認開啓。該功能開啓時,系統後臺會發起一個線程持續地初始化ext4文件系統的metadata,從而延遲metadata初始化。因此在剛格式化數據盤的一段時間內IOPS會受到影響,好比,數據盤的IOPS性能測試的數據會明顯偏低。
若是要在格式化之後立刻測試數據盤性能,您須要運行如下命令在格式化文件系統時關閉lazy_init功能。
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/vdd1
關閉lazy init功能後,格式化的時間會大幅度地延長,格式化32 TiB的數據盤可能須要10-30分鐘。
請您根據自身的須要選擇是否使用lazy init功能。