• 学派吧-由新云网络独家赞助-https://www.sq9.cn。

centos_linux分区格式化大于2 TiB数据盘 腾讯云代理测试

unix admin 4年前 (2020-04-07) 1849次浏览 已收录 0个评论 扫描二维码

分区格式化Linux数据盘

此章节以CentOS 7.4 64位操作系统为例,说明如何在Linux实例上使用parted工具和e2fsprogs工具分区并格式化一个大容量数据盘。假设需要处理的数据盘是一个新建的3 TiB的空盘,设备名为/dev/vdb

前提条件:请确认您的Linux实例上已经安装了parted工具和e2fsprogs工具。

[root@ecshost~ ]# yum install -y parted
[root@ecshost~ ]# yum install -y e2fsprogs

按以下步骤分区格式化大容量数据盘,并挂载文件系统。

  1. 运行命令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
  2. 运行命令parted /dev/vdb开始分区。
    1. 运行命令mklabel gpt,将默认的MBR分区格式转为GPT分区格式。
    2. 运行命令mkpart primary 1 100%,划分一个主分区,并设置分区的开始位置和结束位置。
    3. 运行命令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
    4. 运行命令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
    5. 运行命令quit,退出parted操作。
  3. 运行命令partprobe,使系统重读分区表。
  4. 运行以下命令,为/dev/vdb1分区创建一个文件系统。
    • 创建一个ext4文件系统。
      [root@ecshost~ ]# mkfs -t ext4 /dev/vdb1
    • 创建一个xfs文件系统。
      [root@ecshost~ ]# mkfs -t xfs /dev/vdb1
    说明

  5. 运行命令mkdir /test,创建一个名为/test的挂载点。
  6. 运行命令mount /dev/vdb1 /test,将分区/dev/vdb1挂载到/test
  7. 运行命令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
  8. (推荐)向/etc/fstab写入新分区信息,启动开机自动挂载分区。
    1. 运行命令cp /etc/fstab /etc/fstab.bak,备份etc/fstab
    2. 运行命令echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /test ext4 defaults 0 0
      >> /etc/fstab
      ,向/etc/fstab里写入新分区信息。

      说明 建议在/etc/fstab中使用全局唯一标识符UUID来引用新分区。您可以使用blkid命令获得新分区的UUID。
    3. 运行命令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。

  1. 运行命令 rpm -qa | grep e2fsprogs检查e2fsprogs当前的版本。

    如果当前版本低于1.42,按以下步骤安装软件。

  2. 运行以下命令下载1.42.8版本的e2fsprogs。您可以在 e2fsprogs找到最新的软件包。
    wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz
  3. 依次运行以下命令,编译高版本的工具。
    tar xvzf e2fsprogs-1.42.8.tar.gz
    cd e2fsprogs-1.42.8
    ./configure
    make
    make install
  4. 运行以下命令检查是否成功更新版本。
    rpm -qa | grep e2fsprogs

附录二:Linux实例关闭lazy init功能

ext4文件系统默认开启lazy init功能。该功能开启时,实例会发起一个线程持续地初始化ext4文件系统的metadata,从而延迟metadata初始化。所以在格式化数据盘后的近期时间内,云盘的IOPS性能会受到影响,IOPS性能测试的数据会明显偏低。

如果您需要在格式化以后马上测试数据盘性能,请运行以下命令在格式化文件系统时关闭lazy_init功能。


学派吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:centos_linux分区格式化大于2 TiB数据盘 腾讯云代理测试
喜欢 (0)
[pay@sq9.cn]
分享 (0)
关于作者:
腾讯云-运维运维 QQ 690624
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址