若是您要分区格式化一块大于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功能。