zoukankan      html  css  js  c++  java
  • linux大盘格式化分区

    Linux 实例的磁盘管理

    对于 Linux 系统上的大磁盘,也要采用 GPT 分区格式, 也可以不分区, 把磁盘当成一个整体设备使用。

    在 Linux 上一般采用 XFS 或者 EXT4 来做大盘的文件系统。

    磁盘的分区管理

    在 Linux 上可以采用 parted 来对磁盘进行分区。

    1. 通过 fdisk -l 可以查看磁盘是否存在, 由于使用的是大磁盘,fdisk 不能用来作为分区工具了,而应该使用 parted。 
      13
    2. 使用 parted 对 /dev/vdb 进行分区。首先创建分区表, 选择 GPT 格式的分区表。
      1. parted /dev/vdb
      14
    3. 创建分区。 
      15

    EXT4 文件系统格式化

    假定 Linux 实例上的大数据盘设备为 /dev/vdb, 可以用如下方式来格式化。以下参数为常用参数, 用户可以根据自己的需要来调整。

    1. /sbin/mke2fs O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/vdb1

    下图为格式化 32TB 磁盘的示例, 格式化耗时 10~60 秒。
    16

    16TB 以上的大盘

    对于 16TB 以上的大盘, 对 ext4 格式化所用的工具包 e2fsprogs 的版本有要求。如果 e2fsprogs 版本太低, 比如:e2fsprogs 1.41.11,会出现如下错误信息:

    1. mkfs.ext4: Size of device /dev/md0 too big to be expressed in 32 bits using a blocksize of 4096.

    所以需要把 e2fsprogs 工具包的版本升级到 1.42 以上的版本, 比如:1.42.8。通过如下方式检查 e2fsprogs 的版本:

    17

    下载链接如下:

    https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/

    如下方式编译高版本的工具。

    1. wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz
    2. tar xvzf e2fsprogs-1.42.8.tar.gz
    3. cd e2fsprogs-1.42.8
    4. ./configure
    5. make
    6. make install

    ext4 的 lazy init 期间对 IOPS 性能影响

    ext4 文件系统有个 lazy init 的功能, 默认是打开的,这个功能会延迟 ext4 文件系统的 metadata 的初始化, 系统后台会发起一个线程持续地初始化 metadata。 所以实例在刚格式化的一段时间内IOPS 会受到影响,例如:对大盘的 IOPS 性能测试的数据就会明显偏低。

    所以,如果用户需要在格式化以后马上对大盘的性能进行测试, 需要在格式化的时候取消 lazy_init 的功能。

    1. /sbin/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 以后,格式化的时间会大幅度的延长, 格式化 32TB 的磁盘可能会需要 10 分钟到 30 分钟。请您根据自身的需要选择是否使用 lazy init 的功能。

    XFS 文件系统格式化

    XFS 文件系统的格式化要比 ext4简单,默认的格式化命令如下:

    1. mkfs t xfs /dev/vdb1

    在这里就不再叙述了,您可以自己根据需要来调节XFS的参数。

    注意事项

    不建议使用小盘快照创建大盘

    虽然理论上是可以从一个小盘的快照来创建一个大盘, 但是我们不建议您这么做。建议您创建空的大盘。理由如下:

    • 因为从小盘的快照创建大盘时, 系统只完成块设备级的磁盘扩容, 并没有实现分区格式和文件系统的自动转换。
    • 如果小盘快照中使用的是 MBR 分区格式,以上提到的两种分区工具(Linux上的 parted 和 Windows上的磁盘管理)都无法提供在保留数据的情况下,从 MBR 格式转换为 GPT 格式。所以,就算用户从小盘快照创建了大盘,也需要把原有数据删除,再按照 GPT 格式分区。

    如果小盘快照本身就是GPT分区格式,或者您另有强大的分区工具,则不在此列。您可以根据自身情况来选择。

    磁盘快照的影响

    大盘的数据量很大,而磁盘快照的速度和小盘是一样的, 所以每天用户打快照的时间会成与数据量比例地增长。打快照的速度和数据的增量成正比,脏数据越多, 快照的速度越慢。

  • 相关阅读:
    一个好用的小图标库
    前端应用笔记
    HttpClient的使用今天遇到一个巨坑——HttpEntity内容取不出来
    HttpClient忽略SSL证书
    SpringBoot+Thyemelaf开发环境正常,打包jar发到服务器就报错Template might not exist or might not be accessible
    查询Mysql数据库所有数据库所占磁盘空间大小
    Docker安装并运行mysql5.6数据库
    Docker下载镜像太慢问题
    Docker安装Nginx
    vue-router导航守卫
  • 原文地址:https://www.cnblogs.com/Carr/p/7761847.html
Copyright © 2011-2022 走看看