使用parted命令对齐分区,以获得最佳性能

简介:

在Linux系统上的大型存储阵列上创建分区(译者注:实际上是对从阵列上划分给系统的LUN分区,系统将每个LUN识别为一个磁盘),会遇到两大常见问题。第一个问题很容易,使用fdisk命令得到的错误信息已经提示了解决问题的办法:

  1. WARNING: The size of this disk is 8.0 TB (7970004230144 bytes).

  2. DOS partition table format can not be used on drives for volumes

  3. larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID

  4. partition table format (GPT).

译者注:磁盘大小是8TB。DOS分区表格式不能在超过2TB(512个字节的扇区)的卷上使用。请使用parted命令和GUID分区表格式(GPT)

答案是:使用parted命令。如果你的系统上没有parted,请安装它吧!

第二个问题是来自parted的警告:

  1. (parted) mklabel gpt

  2. (parted) mkpart primary 0 100%

  3. Warning: The resulting partition is not properly aligned for best performance.

  4. Ignore/Cancel?

译者注:生成的分区没有正确地对齐以实现最佳性能。忽略/取消?

不论你使用怎样的数字组合,这条错误信息都不断地出现。你尝试选择了忽略,但错误根本没被忽略。

网上有一些讨论这个问题的帖子,惠普官方帮助论坛上的一个帖子真正戳中了问题的核心。(译者注:文中提到的惠普论坛帖子现已无法访问)

下面是正确对齐分区的快速分步指南。它是那个惠普帖子的提炼总结,希望大家能快速上手。这个方法对大多数阵列行之有效(实际上它适用于我所见过的所有阵列);在惠普的帖子中还提到了更多可行的配置选项,我在这里只列出最常用的配置。

1.获得你阵列的alignment参数(记得要将sdb替换为系统内核看到的设备名称)

  1. # cat /sys/block/sdb/queue/optimal_io_size

  2. 1048576

  3. # cat /sys/block/sdb/queue/minimum_io_size

  4. 262144

  5. # cat /sys/block/sdb/alignment_offset

  6. 0

  7. # cat /sys/block/sdb/queue/physical_block_size

  8. 512

2.把optimal_io_size的值与alignment_offset的值相加,之后除以physical_block_size的值。在我的例子中是:(1048576 + 0) / 512 = 2048。

3.这个数值是分区起始的扇区。新的parted命令应该写成类似下面这样

  1. mkpart primary 2048s 100%

2048s中的字母s是很有意义的:它告诉parted,你的输入是2048扇区,而不是2048字节,也不是2048兆字节。

4.如果一切顺利,分区将会被成功创建并没有任何警告信息。然后你就可以检查分区是否对齐了(如有必要,请将下面命令中的1替换为合适的分区号)。

  1. (parted) align-check optimal 1                                            

  2. 1 aligned

正如我之前暗示的,会有一些特例,上面的做法对那些特例并不奏效:例如,如果optimal_io_size是0,需要遵循其他的一些规则







相关文章
|
Linux 开发者
Red Hat Subscription 开发者订阅与激活订阅
使用命令时会出现以提示,命令不可正常使用。 根据提示信息,我们可以知道,需要通过Red Hat Subscription,开发者订阅。 进入开发者页面 https://developers.redhat.com/products/rhel/download,下滑看到No-cost RHEL for developers subscription 面向开发人员的免费 RHEL 订阅,选择Activate your subscription 激活你的订阅;
4526 1
|
Oracle 关系型数据库 数据库
实战篇:Oracle 数据坏块的 N 种修复方式
实战篇:Oracle 数据坏块的 N 种修复方式
实战篇:Oracle 数据坏块的 N 种修复方式
|
关系型数据库 Unix Linux
fdisk、parted无损调整普通分区大小
我们讲的调整分区大小,都是要保证不损坏分区中数据为前提。 这里我们讲一下用fdisk、parted调整普通分区的方法。 切记:一般都只用于扩容分区,如果要缩减分区,特别是根目录,可能会出问题 而扩容分区时,要保证跟扩容分区相邻的分区是未分配的(或者可以先暂时删除的)
14617 2
|
安全 Linux 网络安全
手把手教你在centos 7.4上搭建NTP服务器
手把手教你在centos 7.4上搭建NTP服务器
1942 0
手把手教你在centos 7.4上搭建NTP服务器
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
269070 0
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
1887 8
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
3527 1
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
2090 3
|
Ubuntu
Ubuntu禁止内核自动更新
通过上述步骤,您可以在Ubuntu系统中有效地禁用内核的自动更新。这些步骤包括锁定内核版本、禁用自动更新配置、移除不需要的内核包以及禁用相关的自动更新服务。这样可以确保系统在内核层面保持稳定,避免因内核自动更新导致的不必要问题。
3948 1
|
Linux
Linux升级命令yum upgrade和yum update,有什么区别?
在日常开发工作中,根据不同的项目会需要配置环境和包,有时候会由于版本问题出现错误,这个时候通常就需要执行 update或者 upgrade命令,这里简要介绍一下区别。
4443 0
Linux升级命令yum upgrade和yum update,有什么区别?

热门文章

最新文章