此章节以CentOS 7.4 64位操作系统为例,说明如何在Linux实例上使用parted工具和e2fsprogs工具分区并格式化一个大容量数据盘。假设需要处理的数据盘是一个新建的3 TiB的空盘,设备名为/dev/vdd。
前提条件:请确认您的Linux实例上已经安装了parted工具和e2fsprogs工具。
[root@ecshost~ ]# yum install -y parted
[root@ecshost~ ]# yum install -y e2fsprogs
按以下步骤分区格式化大容量数据盘,并挂载文件系统。
运行命令fdisk -l查看数据盘是否存在。
返回结果应包括如下所示的信息。如果没有,表示您未挂载数据盘。
[root@ecshost~ ]# 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 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/vdd/queue/optimal_io_size
[root@ecshost~ ]# cat /sys/block/vdd/queue/minimum_io_size
[root@ecshost~ ]# cat /sys/block/vdd/alignment_offset
[root@ecshost~ ]# cat /sys/block/vdd/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/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,使系统重读分区表。
运行以下命令,为/dev/vdd1分区创建一个文件系统。
创建一个ext4文件系统
[root@ecshost~ ]# mkfs -t ext4 /dev/vdd1
创建一个xfs文件系统。
[root@ecshost~ ]# mkfs -t xfs /dev/vdd1
说明
- 如果数据盘的容量为16 TiB,您需要使用指定版本的e2fsprogs工具包格式化,请参见附录一:升级e2fsprogs工具包。
- 如果您要关闭ext4文件系统的lazy init功能,避免该功能对数据盘I/O性能的影响,请参见附录二:关闭lazy init功能。
运行命令mkdir /test,创建一个名为/test的挂载点。
运行命令mount /dev/vdd1 /test,将分区/dev/vdd1挂载到/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/vdd1 2.9T 89M 2.8T 1% /test
(推荐)向/etc/fstab写入新分区信息,启动开机自动挂载分区。
运行命令cp /etc/fstab /etc/fstab.bak,备份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数据盘。