一块全新的数据盘挂载到ECS实例后,还不能直接存储数据,通常您需要在数据盘进行分区、文件系统格式化、挂载文件系统等初始化操作后,才能供系统读写数据。本文介绍如何在Linux系统中初始化一块小于等于2 TiB的数据盘。
前提条件
背景信息
本文示例使用的配置如下所示,您需要根据实际环境进行操作。
操作系统 | 资源 | 描述 |
---|---|---|
Linux系统 | ECS实例的镜像 | 公共镜像Alibaba Cloud Linux 3.2104 64位 |
数据盘 |
|
说明 如果您使用的云盘容量大于2 TiB,初始化操作请参见初始化大于2 TiB数据盘。
操作指导
- (推荐)创建GPT分区,请参见以下操作:
- 创建MBR分区,请参见以下操作:
步骤一:登录ECS实例并查看数据盘
步骤二:为数据盘创建GPT分区
按以下步骤为小于等于2 TiB的数据盘创建GPT分区,GPT分区也支持2 TiB以上容量。
重要 MBR分区不支持2 TiB以上容量。如果您使用的云盘容量大于2 TiB或者后续有可能会扩容到2 TiB以上,分区时请采用GPT分区格式。
步骤二:为数据盘创建MBR分区
按以下步骤为小于等于2 TiB的数据盘创建MBR分区。
重要 MBR分区不支持2 TiB以上容量。如果您使用的云盘容量大于2 TiB或者后续有可能会扩容到2 TiB以上,分区时请采用GPT分区格式。
步骤三:为分区创建文件系统
在新分区上创建一个文件系统。不同文件系统支持的分区大小不同,请您根据实际需求创建文件系统。
(可选)步骤四:配置/etc/fstab文件并挂载分区
如果您需要设置开机自动挂载云盘,需要在/etc/fstab中写入新分区信息,启动开机自动挂载分区。
重要 建议您在/etc/fstab中使用全局唯一标识符UUID来引用新分区。由于释放云盘等操作可能会导致其他云盘的设备名变动,如果在/etc/fstab中直接使用设备名,当设备名变动时可能影响您的存储数据。
初始化云盘FAQ
创建GPT分区时,分区未对齐如何解决?
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。
如何关闭Linux实例的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/vdb1
说明 关闭lazy init功能后,格式化的时间会大幅度地延长,格式化32 TiB的数据盘可能需要10分钟~30分钟。请您根据自身的需要选择是否使用lazy init功能。