磁盘大小可由操作系统寻址

我有一个3ware 9550SXU-12存储控制器和750G的磁盘连接到它。 磁盘被configuration为单个单元(不是JBOD)。

我一直在进行一些性能testing,主要是看看分区alignment,encryption,RAID级别等对读/写/ iops性能的影响。

我感到惊讶的是,在我的情况下,相同的存储configuration的读/写性能与alignment的分区相比略低于未alignment的分区。

这促使我开始检查当通过3ware控制器连接时,以及在使用主板上的端口时,操作系统对于操作系统的可见性是否存在差异。

我知道3ware控制器放在磁盘上的磁盘控制块(DCB)元数据,允许更换控制器,而无需重新configuration控制器,因为configuration数据是从磁盘上的DCB块中读取的。 我的控制器使用“新格式”,这显然意味着控制器将DCB写入磁盘的最后1024个LBA中。

我很感兴趣,看看我的alignment方式是不是被3ware控制器给操作系统提供了一部分磁盘。

我发现了什么:

  • 连接有或没有3ware控制器时,磁盘的开始看起来完全一样。 这里的alignment不应该有任何影响。 通过dd / md5sumvalidation。
  • 磁盘的最后一个1024 * 512B的确包含了3ware的内容(由可读的string判断)
  • 现在有趣的部分是:在3ware控制下,磁盘报告的媒体大小为749988741120 B,直接连接 – 750156374016 B,这意味着通过3ware控制器连接时,操作系统可以访问约160MB的磁盘介质。

如果仅仅是1024x512B(DCB)的差异,160MB似乎有太多的空间来存储这种types的控制器元数据是可以理解的。

问题:

有没有人知道是否有其他的考虑,当alignment连接到控制器的磁盘上的磁盘分区,这些磁盘存储单元configuration,我可能会错过?

出于好奇 – 有没有人知道最后160MB的磁盘媒体用于什么?

谢谢

我不能直接评论,因为我不熟悉3ware。

不过总的来说,我遇到了很多存储arrays,它们“窃取”了一些磁盘空间。 有多种原因,其中包括:

  • 控制器运行一个裁减操作系统,需要空间。 (configuration/pipe理等)
  • 控制器运行写入caching,并在发生电源故障的情况下需要在某处紧急刷新caching。
  • 大小标准化,以允许磁盘大小略有差异。
  • 控制器内置的“分配单元”,例如只允许分配固定的倍数。 (通常适应caching/分页限制)。

关于alignment – 我认为你的正确alignment速度较慢的唯一原因是如果你的控制器也在处理alignment。 越来越多的arrays/控制器是主机操作系统感知 – 部分原因是需要正确设置SCSI标志,但也因为这种alignment问题。

您可能会发现,如果您的arrays知道您的主机的平台,那么它已经在内部“调整”了alignment。 (因此,通过自我调整,你再次错位了)。