以下分别针对 Linux 和 Windows 的 ECS 实例来介绍大盘的管理和使用。
大数据盘的分区和文件系统格式化和小盘都存在差异。大盘必须采用 GPT 分区格式, 不能再采用小盘使用的 MBR 分区格式。
- MBR 分区格式:最大支持 2 TB 的磁盘。
- GPT 分区格式:最大支持 18 EB。
大盘支持的文件系统如下:
Windows 实例的磁盘管理
Windows2008 R2 磁盘的分区管理
在本示例中,假定您创建的是空盘,您应该按以下步骤分区。
对于从快照创建的大数据盘的处理方式,参见以下 Windows 2012 的处理方式。Windows 2008 R2 和 Windows 2012 的分区原理是一样的,只是界面略有不同。
- 打开 [backcolor=transparent]开始>[backcolor=transparent]管理工具>[backcolor=transparent]计算机管理。
选择 GPT 分区格式。
进入计算机管理中的 [backcolor=transparent]磁盘管理,这时系统会发现一块新的磁盘。如下图,发现一块 32TB 的磁盘 [backcolor=transparent]磁盘1。 选择 GPT 分区格式进行分区管理。
磁盘格式化。
NTFS 卷上的最大尺寸,理论上,NTFS 的最大卷包含 2[backcolor=transparent]64-1 个簇。实际上,WinXP Pro 中,NTFS 卷的最大限制是 2[backcolor=transparent]32-1 个簇。举例来说,如果是 64KB 的簇,那 NTFS 卷的最大尺寸就是 约 256TB 。如果选择 4KB 的簇,那 NTFS 卷的最大尺寸就是 约 16TB。 NTFS 会根据磁盘的容量来自动选择簇的大小。
右键 [backcolor=transparent]磁盘1,选择 [backcolor=transparent]新建简单卷,创建一个 32TB 的 NTFS 格式的卷和磁盘。
您也可以把 [backcolor=transparent]磁盘1 分成多个分区来使用。
如下图所示, 选择 [backcolor=transparent]快速格式化。格式化完成时间小于1分钟。
Windows 2012 磁盘的分区管理
本示例中,假定您使用快照来创建大盘。
对空数据盘执行分区的操作,请参见以上 Windows 2008 R2 的部分。Windows 2008 R2 和 Windows 2012 的分区原理是一样的,只是界面略有不同。
- 进入磁盘管理(diskmgmt 工具)。在 cmd 下输入 diskmgmt,进入磁盘管理器。
- 使用 disk online。
- 删除原有的卷和分区。32TB 的大盘必须使用 GPT 分区格式,转换到 GPT 分区格式之前必须清除所有数据。
- 在磁盘上设置转换为 GPT 分区。
- 新建简单卷和分区。
- 磁盘格式化完成。
Linux 实例的磁盘管理
对于 Linux 系统上的大磁盘,也要采用 GPT 分区格式, 也可以不分区, 把磁盘当成一个整体设备使用。
在 Linux 上一般采用 XFS 或者 EXT4 来做大盘的文件系统。
磁盘的分区管理
在 Linux 上可以采用 parted 来对磁盘进行分区。
- 通过 fdisk -l 可以查看磁盘是否存在, 由于使用的是大磁盘,fdisk 不能用来作为分区工具了,而应该使用 parted。
- 使用 parted 对 /dev/vdb 进行分区。首先创建分区表, 选择 GPT 格式的分区表。[backcolor=transparent]parted [backcolor=transparent]/[backcolor=transparent]dev[backcolor=transparent]/[backcolor=transparent]vdb
创建分区。
EXT4 文件系统格式化
假定 Linux 实例上的大数据盘设备为 /dev/vdb, 可以用如下方式来格式化。以下参数为常用参数, 用户可以根据自己的需要来调整。
- [backcolor=transparent]/sbin/[backcolor=transparent]mke2fs [backcolor=transparent]–[backcolor=transparent]O [backcolor=transparent]64bit[backcolor=transparent],[backcolor=transparent]has_journal[backcolor=transparent],[backcolor=transparent]extents[backcolor=transparent],[backcolor=transparent]huge_file[backcolor=transparent],[backcolor=transparent]flex_bg[backcolor=transparent],[backcolor=transparent]uninit_bg[backcolor=transparent],[backcolor=transparent]dir_nlink[backcolor=transparent],[backcolor=transparent]extra_isize [backcolor=transparent]/[backcolor=transparent]dev[backcolor=transparent]/[backcolor=transparent]vdb1
下图为格式化 32TB 磁盘的示例, 格式化耗时 10~60 秒。
16TB 以上的大盘
对于 16TB 以上的大盘, 对 ext4 格式化所用的工具包 e2fsprogs 的版本有要求。如果 e2fsprogs 版本太低, 比如:e2fsprogs 1.41.11,会出现如下错误信息:
- [backcolor=transparent]mkfs[backcolor=transparent].[backcolor=transparent]ext4[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]Size[backcolor=transparent] of device [backcolor=transparent]/[backcolor=transparent]dev[backcolor=transparent]/[backcolor=transparent]md0 too big to be expressed [backcolor=transparent]in[backcolor=transparent] [backcolor=transparent]32[backcolor=transparent] bits [backcolor=transparent]using[backcolor=transparent] a blocksize of [backcolor=transparent]4096.
所以需要把 e2fsprogs 工具包的版本升级到 1.42 以上的版本, 比如:1.42.8。通过如下方式检查 e2fsprogs 的版本:
下载链接如下:
https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/
如下方式编译高版本的工具。
- [backcolor=transparent] wget https[backcolor=transparent]:[backcolor=transparent]//www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz
- [backcolor=transparent] tar xvzf e2fsprogs[backcolor=transparent]-[backcolor=transparent]1.42[backcolor=transparent].[backcolor=transparent]8.tar[backcolor=transparent].[backcolor=transparent]gz
- [backcolor=transparent] cd e2fsprogs[backcolor=transparent]-[backcolor=transparent]1.42[backcolor=transparent].[backcolor=transparent]8
- [backcolor=transparent] [backcolor=transparent]./[backcolor=transparent]configure
- [backcolor=transparent] make
- [backcolor=transparent] make install
ext4 的 lazy init 期间对 IOPS 性能影响
ext4 文件系统有个 lazy init 的功能, 默认是打开的,这个功能会延迟 ext4 文件系统的 metadata 的初始化, 系统后台会发起一个线程持续地初始化 metadata。 所以实例在刚格式化的一段时间内IOPS 会受到影响,例如:对大盘的 IOPS 性能测试的数据就会明显偏低。
所以,如果用户需要在格式化以后马上对大盘的性能进行测试, 需要在格式化的时候取消 lazy_init 的功能。
- [backcolor=transparent]/sbin/[backcolor=transparent]mke2fs [backcolor=transparent]–[backcolor=transparent]O [backcolor=transparent]64bit[backcolor=transparent],[backcolor=transparent]has_journal[backcolor=transparent],[backcolor=transparent]extents[backcolor=transparent],[backcolor=transparent]huge_file[backcolor=transparent],[backcolor=transparent]flex_bg[backcolor=transparent],[backcolor=transparent]uninit_bg[backcolor=transparent],[backcolor=transparent]dir_nlink[backcolor=transparent],[backcolor=transparent]extra_isize [backcolor=transparent]-[backcolor=transparent]E lazy_itable_init[backcolor=transparent]=[backcolor=transparent]0[backcolor=transparent],[backcolor=transparent]lazy_journal_init[backcolor=transparent]=[backcolor=transparent]0[backcolor=transparent] [backcolor=transparent]/[backcolor=transparent]dev[backcolor=transparent]/[backcolor=transparent]vdb1
取消 lazy init 以后,格式化的时间会大幅度的延长, 格式化 32TB 的磁盘可能会需要 10 分钟到 30 分钟。请您根据自身的需要选择是否使用 lazy init 的功能。
XFS 文件系统格式化
XFS 文件系统的格式化要比 ext4简单,默认的格式化命令如下:
- [backcolor=transparent] mkfs [backcolor=transparent]–[backcolor=transparent]t xfs [backcolor=transparent]/[backcolor=transparent]dev[backcolor=transparent]/[backcolor=transparent]vdb1
在这里就不再叙述了,您可以自己根据需要来调节XFS的参数。
注意事项
不建议使用小盘快照创建大盘
虽然理论上是可以从一个小盘的快照来创建一个大盘, 但是我们不建议您这么做。建议您创建空的大盘。理由如下:
- 因为从小盘的快照创建大盘时, 系统只完成块设备级的磁盘扩容, 并没有实现分区格式和文件系统的自动转换。
- 如果小盘快照中使用的是 MBR 分区格式,以上提到的两种分区工具(Linux上的 parted 和 Windows上的磁盘管理)都无法提供在保留数据的情况下,从 MBR 格式转换为 GPT 格式。所以,就算用户从小盘快照创建了大盘,也需要把原有数据删除,再按照 GPT 格式分区。
如果小盘快照本身就是GPT分区格式,或者您另有强大的分区工具,则不在此列。您可以根据自身情况来选择。
磁盘快照的影响
大盘的数据量很大,而磁盘快照的速度和小盘是一样的, 所以每天用户打快照的时间会成与数据量比例地增长。打快照的速度和数据的增量成正比,脏数据越多, 快照的速度越慢。