简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

正确对齐的 LUN 上的 I/O 不对齐概述

提供者 netapp-thomi netapp-ahibbard

ONTAP 可能会报告正确对齐的 LUN 上的 I/O 不对齐。通常,只要您确信 LUN 配置正确且分区表正确无误,就可以忽略这些错位警告。

LUN 和硬盘都以块形式提供存储。由于主机上磁盘的块大小为 512 字节,因此 LUN 会向主机提供此大小的块,而实际使用更大的 4 KB 块来存储数据。主机使用的 512 字节数据块称为逻辑块。LUN 用于存储数据的 4 KB 数据块称为物理块。这意味着每个 4 KB 物理块中有八个 512 字节逻辑块。

BSAG cmode lbpb

主机操作系统可以在任何逻辑块上开始读取或写入 I/O 操作。只有在 I/O 操作从物理块中的第一个逻辑块开始时,才会将其视为对齐。如果 I/O 操作从逻辑块开始,而该逻辑块不是物理块的起点,则会将 I/O 视为错位。ONTAP 会自动检测错位问题,并在 LUN 上报告。但是, I/O 不对齐并不一定意味着 LUN 也不对齐。在正确对齐的 LUN 上,可能会报告未对齐的 I/O 。

如果需要进一步调查,技术支持可以运行诊断命令来显示详细的 I/O 对齐数据,以确认是否存在真正的 LUN 不对齐。

有关用于更正对齐问题的工具的详细信息,请参见以下文档:

使用 LUN 操作系统类型实现 I/O 对齐

要使用操作系统分区方案实现 I/O 对齐,应使用与您的操作系统最匹配的建议 ONTAP LUN ostype 值。

主机操作系统采用的分区方案是导致 I/O 错位的一个主要因素。某些 ONTAP LUN ostype 值使用称为 "`prefix` " 的特殊偏移,以使主机操作系统使用的默认分区方案保持对齐。

注

在某些情况下,可能需要使用自定义分区表来实现 I/O 对齐。但是,对于 "`prefix` " 值大于 0ostype 值,自定义分区可能会创建错位的 I/O

应根据您的操作系统使用下表中的 lun ostype 值。

LUN ostype 前缀(字节) 前缀(扇区) 操作系统

窗口

32,256

63.

Windows 2000 , 2003 ( MBR 格式)

windows_gpt

17,408

34

Windows 2003 ( GPT 格式)

windows_2008

0

0

Windows 2008 及更高版本

Linux

0

0

所有 Linux 分发版

Xen

0

0

Citrix XenServer

VMware

0

0

VMware ESX

solaris

1 MB

2 , 048

Solaris

solaris_efi

17,408

34

Solaris

HPUX

0

0

HP-UX

AIX

0

0

AIX

Linux 的特殊 I/O 对齐注意事项

Linux 分发版提供了多种使用 LUN 的方法,包括将 LUN 用作数据库,各种卷管理器和文件系统的原始设备。当用作原始设备或逻辑卷中的物理卷时,无需在 LUN 上创建分区。

对于 RHEL 5 及更早版本以及 SLES 10 及更早版本,如果要在没有卷管理器的情况下使用 LUN ,则应将 LUN 分区为一个分区,该分区以对齐偏移开始,该分区是一个扇区,它是八个逻辑块的偶数倍。

Solaris LUN 的特殊 I/O 对齐注意事项

在确定是否应使用 solaris ostype 或 solaris_efi ostype 时,需要考虑各种因素。

ESX 启动 LUN 报告不对齐

ONTAP 通常会将用作 ESX 启动 LUN 的 LUN 报告为未对齐。ESX 会在启动 LUN 上创建多个分区,因此很难对齐。ESX 启动 LUN 不对齐通常不会造成性能问题,因为不对齐的 I/O 总量很小。假设已使用 VMware ostype 正确配置 LUN ,则无需执行任何操作。