背景信息
- 创建快照的速度和数据的增量成正比,云盘占用的容量越大,创建快照的时间也会更长。
- 阿里云块存储支持的分区格式包括MBR(Master Boot Record)和GPT(Globally Unique Identifier Partition Table)。其中,MBR只支持处理不大于2 TiB的容量,且只支持划分4个主区。如果您需要使用大于2 TiB的数据盘,您必须采用GPT格式。
注意 MBR和GPT分区格式间相互转换有数据丢失的风险。您在使用快照创建云盘或者扩容云盘容量,并且希望设置的新容量大于2 TiB时,建议您提前查询数据盘采用的分区格式是否为MBR。如果您需要保留数据,建议您重新创建并挂载一块数据盘,采用GPT分区格式后,再将已有数据拷贝至新的数据盘上。
- 大于2 TiB的数据盘请采用下表中描述的分区工具、分区格式和文件系统。
操作系统 | 分区工具 | 分区格式 | 文件系统 |
Windows |
磁盘管理 |
GPT |
NTFS |
Linux |
parted |
GPT |
ext4或xfs |
分区格式化Windows数据盘
此章节以Windows Server 2012 R2 64位操作系统为例,说明如何在Windows实例中分区格式化一块大于2 TiB的全新数据盘。
- 在Windows Server桌面,键盘按下Win + R组合键。
- 在运行窗口输入diskmgmt.msc并单击确定,打开磁盘管理。
- 找到需要分区格式化的磁盘(本示例中为磁盘 1)。磁盘状态显示为脱机。
- 右击磁盘 1周边空白处,单击联机。
联机后,磁盘 1的状态显示为没有初始化。
- 右键单击磁盘 1周边的空白区,在弹出菜单中,选择初始化磁盘。
- 在初始化磁盘对话框里,选择磁盘 1,并选择磁盘分区形式为GPT。
- 在磁盘管理窗口,右键单击磁盘 1的未分配区域,选择新建简单卷,创建一个4 TiB的NTFS格式的卷。
- 在新建简单卷向导中,单击下一步,并完成以下操作。
- 指定卷大小:指定简单卷大小。如果您只要创建一个主区,使用默认值。单击下一步。您也可以把磁盘 1分成多个分区来使用。
说明 NTFS卷上的最大尺寸,理论上,NTFS的最大卷包含2 64-1个簇。实际上,WinXP Pro中,NTFS卷的最大限制是2 32-1个簇。例如,如果是64 KiB的簇,那NTFS卷的最大尺寸就是约256 TiB。如果选择4 KiB的簇,那NTFS卷的最大尺寸就是约16 TiB。NTFS会根据磁盘的容量来自动选择簇的大小。

- 分配驱动器号和路径:选择一个驱动器号(即盘符),例如D。单击下一步。
- 格式化分区:选择格式化设置,包括文件系统、分配单元大小和卷标,确认是否执行快速格式化和启用文件和文件夹压缩。例如,选择执行快速格式化。单击下一步。
- 开始创建新简单卷:当向导对话框里显示已经完成新简单卷的创建时,单击完成,关闭新建简单卷向导。
格式化分区完成后,
磁盘管理中磁盘 4的状态如下图所示。
更换Windows数据盘分区格式
注意 转换分区格式有数据丢失的风险,请确认您已完成数据备份工作。
此章节以Windows Server 2012 R2 64位操作系统为例,假设需要操作的数据盘容量为3 TiB。
- 在Windows Server桌面,右键单击开始图标,选择磁盘管理。
- 找到需要分区格式化的磁盘(本示例中为磁盘 2)。
- 右键单击一个简单卷,在弹出菜单中,选择删除卷。
- 右键单击磁盘周边的空白区,在弹出菜单中,选择转换成GPT磁盘。
- 在磁盘管理窗口,右键单击磁盘的未分配区域,选择新建简单卷,创建一个3 TiB的NTFS格式的卷。
- 在新建简单卷向导中,单击下一步,并完成以下操作。
- 指定卷大小:指定简单卷大小。如果您只要创建一个主区,使用默认值。单击下一步。您也可以把磁盘 2分成多个分区来使用。
说明 NTFS卷上的最大尺寸,理论上,NTFS的最大卷包含2 64-1个簇。实际上,WinXP Pro中,NTFS卷的最大限制是2 32-1个簇。例如,如果是64 KiB的簇,那NTFS卷的最大尺寸就是约256 TiB。如果选择4 KiB的簇,那NTFS卷的最大尺寸就是约16 TiB。NTFS会根据磁盘的容量来自动选择簇的大小。
- 分配驱动器号和路径:选择一个驱动器号(即盘符),例如E,单击下一步。
- 格式化分区:选择格式化设置,包括文件系统、分配单元大小和卷标,确认是否执行快速格式化和启用文件和文件夹压缩。例如,选择执行快速格式化。单击下一步。
- 开始创建新简单卷:当向导对话框里显示已经完成新简单卷的创建时,单击完成,关闭新建简单卷向导。
格式化分区完成后,
磁盘管理中磁盘 4的状态如下图所示。
分区格式化Linux数据盘
此章节以Alibaba Cloud Linux 2.1903 LTS 64位操作系统为例,说明如何在Linux实例上使用parted工具和e2fsprogs工具分区并格式化一个大容量数据盘。假设需要处理的数据盘是一个新建的3 TiB的空盘,设备名为/dev/vdb。
前提条件:请确认您的Linux实例上已经安装了parted工具和e2fsprogs工具。
[root@ecshost~ ]# yum install -y parted
[root@ecshost~ ]# yum install -y e2fsprogs
按以下步骤分区格式化大容量数据盘,并挂载文件系统。
- 运行命令
fdisk -l
查看数据盘是否存在。
返回结果应包括如下所示的信息。如果没有,表示您未挂载数据盘。
[root@ecshost~ ]# fdisk -l
Disk /dev/vdb: 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/vdb
开始分区。运行命令partprobe
,使系统重读分区表。
- 运行命令
mklabel gpt
,将默认的MBR分区格式转为GPT分区格式。
- 运行命令
mkpart primary 1 100%
,划分一个主分区,并设置分区的开始位置和结束位置。
- 运行命令
align-check optimal 1
,检查分区是否对齐。
说明 如果返回的是
1 not aligned
,说明分区未对齐,建议您运行以下命令 ,再根据
(<optimal_io_size>+<alignment_offset>)/<physical_block_size>
的公式计算出最佳分区模式的起始扇区值。假设1024为计算得出的推荐扇区值,则您可以运行
mkpart primary 1024s 100%
重新划分一个主分区。
[root@ecshost~ ]# cat /sys/block/vdb/queue/optimal_io_size
[root@ecshost~ ]# cat /sys/block/vdb/queue/minimum_io_size
[root@ecshost~ ]# cat /sys/block/vdb/alignment_offset
[root@ecshost~ ]# cat /sys/block/vdb/queue/physical_block_size
- 运行命令
print
,查看分区表。
(parted) mklabel gpt
(parted) mkpart primary 1 100%
(parted) align-check optimal 1
1 aligned
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 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操作。
- 运行以下命令,为/dev/vdb1分区创建一个文件系统。
根据您的需求运行以下任一命令,创建文件系统。
- 创建一个ext4文件系统。
[root@ecshost~ ]# mkfs -t ext4 /dev/vdb1
- 创建一个xfs文件系统。
[root@ecshost~ ]# mkfs -t xfs /dev/vdb1
- 运行命令
mkdir /test
,创建一个名为/test的挂载点。
- 运行命令
mount /dev/vdb1 /test
,将分区/dev/vdb1挂载到/test。
- 运行命令
df -h
,查看目前磁盘空间和使用情况。
如果返回结果里出现新建文件系统的信息,说明挂载成功,您可以使用新的文件系统了。
[root@ecshost~ ]# 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/vdb1 2.9T 89M 2.8T 1% /test
- (推荐)向/etc/fstab写入新分区信息,启动开机自动挂载分区。
- 运行命令
cp /etc/fstab /etc/fstab.bak
,备份etc/fstab。
- 运行以下命令,向/etc/fstab里写入新分区信息。
echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /test ext4 defaults 0 0 >> /etc/fstab
说明 建议在/etc/fstab中使用全局唯一标识符UUID来引用新分区。您可以使用blkid命令获得新分区的UUID。
- 运行命令
cat /etc/fstab
,查看/etc/fstab的信息。
如果返回结果里出现了写入的新分区信息,说明写入成功。
至此,您已经成功分区并格式化了一个3 TiB数据盘。
附录一: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。
- 运行命令
rpm -qa | grep e2fsprogs
检查e2fsprogs当前的版本。
如果当前版本低于1.42,按以下步骤安装软件。
- 运行以下命令下载1.42.8版本的e2fsprogs。您可以在 e2fsprogs找到最新的软件包。
- 依次运行以下命令,编译高版本的工具。
tar xvzf e2fsprogs-1.42.8.tar.gz
cd e2fsprogs-1.42.8
./configure
make
make install
- 运行以下命令检查是否成功更新版本。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律