Linux 实例的磁盘管理

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

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

磁盘的分区管理

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

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

  3. 创建分区。 

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 秒。

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 的版本:

下载链接如下:

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分区格式,或者您另有强大的分区工具,则不在此列。您可以根据自身情况来选择。

磁盘快照的影响

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

linux大盘格式化分区的更多相关文章

  1. Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令

    分区的过程正常: [root@db1 /]# fdisk -l   Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/tr ...

  2. Linux系统格式化新磁盘并挂载分区

    Linux系统格式化新磁盘并挂载分区 在虚拟机的设置界面中,我们可以选择添加硬盘 添加好硬盘后,我们输入命令fdisk -l 看到有一个未经分区的硬盘 Fdisk命令编辑这个硬盘 输入n创建分区,p选 ...

  3. linux硬盘的分区、格式化、挂载以及LVM

    linux硬盘的分区.格式化.挂载以及LVM   多块硬盘的组合: 硬盘分两种:ide和scsi. ide硬盘: /dev/hda 第一块IDE硬盘 /dev/hdb 第二块IDE硬盘 ... /de ...

  4. Linux 硬盘格式化、分区、挂载、卸载、删除分区,Linux重新调整分区

    目录 Linux 硬盘格式化.分区.挂载.卸载.删除分区 0. 查看挂载情况 1. 查看硬盘信息 2. 创建分区 3. 查看磁盘信息 4. 格式化分区 5. 将分区信息写入fstab, 设置开机自动挂 ...

  5. linux中硬盘分区、格式化、挂载

    已经接触了小半年的linux,基本命令用的还行,就是涉及到深入操作,就显得不够看了,比如linux中的硬盘操作,于是整理了这篇博客. 1. 主分区,扩展分区,逻辑分区的联系和区别 ​ 一个硬盘可以有1 ...

  6. Linux下磁盘分区,格式化以及挂载

    测试环境:VMware Workstation / centos7 1.磁盘分区 (1)易于管理和使用: 比如说我们把磁盘分了sda1.sda2.sda3.sda4盘,我们假设sda1盘为系统盘,其他 ...

  7. Linux系统磁盘分区、删除分区、格式化、挂载、卸载、开机自动挂载的方法总结

    Linux系统按照MBR(Master Boot Record)传统分区模式: 注意:传统的MBR(Master Boot Record)分区方式最大只能分2T容量的硬盘,超过2T的硬盘一般采用GPT ...

  8. 『学了就忘』Linux基础 — 13、Linux系统的分区和格式化

    目录 1.Linux系统的分区 (1)磁盘分区定义 (2)两种分区表形式 (3)MBR分区类型 2.Linux系统的格式化 (1)格式化定义 (2)格式化说明 1.Linux系统的分区 (1)磁盘分区 ...

  9. linux 使用fdisk分区扩容

    标签:fdisk分区 概述 我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,在这个时候我们就需要增加磁盘空间,本章主要介绍如何使用fdisk分区工具创建磁盘分区和挂载分区,介绍两种情 ...

随机推荐

  1. myeclipse 如何更改java jsp 等文件的编码方式

    java的编码方式: 1.window——>preference 2.General——>Workspace,右边[Text file encoding]选择编码后,点击[OK]. jsp ...

  2. 04使用harbor配置私仓

    安装harbor之前,需要安装好Python,Docker,DockerCompose.Python需要2.7以上的版本,Docker需要1.10以上的版本:Docker Compose 需要1.6. ...

  3. C# 设计模式 责任链

    责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出这个请求的客户端并不知道链上的哪一个 ...

  4. 3、.net core 部署到IIS

    1)下载对应的Hosting Bundle https://dotnet.microsoft.com/download/dotnet-core/2.2 2)VS发布项目,选择window平台环境 3 ...

  5. php 第三方登录总结OAuth协议

  6. js循环遍历数组(对象)

    1,for循环 对于循环应该是最常用的一种遍历方式了,通常用来遍历数组结构. let arr = [a,b,d];for (let i=0; i<arr.length; i++){ consol ...

  7. 54个提高PHP程序运行效率的方法

    1.在可以用file_get_contents替代file.fopen.feof.fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_ge ...

  8. 原生sql和 TP sql怎么关联?

    整合后

  9. 最短路径Dijkstra算法和Floyd算法整理、

    转载自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最短路径—Dijkstra算法和Floyd算法 Dijks ...

  10. Mac下SVN基本操作和常见错误

    一.基本操作 1  从服务器上下载代码 svn checkout http://xxx.xxx.xxx/xxx 2  获取最新的代码 svn update 3  提交代码 svn commit -m ...