RAID、VMware兼容4KB扇区硬盘么?
4KB扇区硬盘开始在市场上广泛使用,那么企业存储的情况如何呢?物理4KB扇区还需要模拟成512byte吗?
围绕4KB扇区硬盘,由于大家在这方面了解的基础不同。可能会有如下的疑问:
1、为什么会有4KB扇区硬盘?好处在哪里?2、原生4KB扇区和模拟512byte,兼容性有什么差别?3、4KB扇区对性能的影响4、软硬件生态系统,需要做哪些配合?5、SSD目前主要还是仿真磁盘块设备来使用,它是512byte还是4KB设备呢?6、在RAID阵列和虚拟机环境,硬件与Guest OS之间多了一个抽象层,这是否也会影响到4KB兼容?
以上6点相互关联,因此在本文中都会有所涉及。首先引起我们注意的是,近日有一份来自戴尔的资料,其中提到了2.5” 2TB 7.2K NLSAS(近线SAS)HDD的引入,这款硬盘采用的是512byte仿真扇区大小。
上表列出了3种硬盘扇区格式类型。512n——物理格式化和向主机呈现的逻辑扇区字节数均为512byte,早期的硬盘都是这样;512e——物理扇区大小为4096字节,逻辑上仿真为(8个)512字节扇区,为了兼容性的一种过渡;4Kn——即原生4KB,物理和逻辑扇区字节数都是4KB。
4KB扇区硬盘与生态系统概述
由于IT栈中的组件默认针对512b扇区大小已经30年了,下面我们来看看针对4KB扇区硬盘,整个生态系统需要分析/升级的地方。
服务器BIOS/UEFI – 支持4K可能需要UEFI – 传统BIOS需要修改来增加针对4KB原生驱动器的支持。
存储控制器(HBA)– 驱动和firmware需要改变。
RAID stack(位于RAID卡和阵列控制器)–驱动和firmware需要改变。
OS stack – 操作系统必须是4K感知才能使用4K原生驱动器;512e驱动器对于许多组件都支持,但是扇区对齐决定了获得最好性能。
文件系统 – 基于不同OS版本,这里可能有一些问题。微软对NTFS 做了一些改动,针对在Windows 7/2008 R2中支持512e。
应用 – 需要理解那些进行unbuffered(未缓冲)写入的应用。
Hypervisors – 512e可以被用于当前的微软/VMware hypervisors(性能可能变差),但 VHD 1.0是硬性编码到512 byte并且没有当前的hypervisor支持4K原生 – 必须支持VHD 2.0规范来获得4K原生支持。
开发工具 – 分区对齐对于在512e 驱动器上达到最好性能是个关键。4K原生– 还没有数据来理解开发方面的问题。
什么是4KB高级格式化、路线图
如上图,原生512n每个扇区都有50bytes的ECC纠错码;4KB扇区将这个ECC区域合并、扩大(但没有50bytes的8倍那么大),并省去了间隔、地址标记等空间,因此格式化效率提升到大约97%,并且能否检测和纠正更大的介质错误。
也就是说,在磁记录密度不变的情况下,“高级格式化”能够提供更大的实际可用容量。随着硬盘上的记录单元——磁极尺寸不断缩小,容量增速放缓,4KB扇区是未来大容量硬盘的趋势。
参考上图,512byte原生扇区硬盘的生命周期将在2017年终止(部分企业级产品和老型号可能例外)。按照这个之前的预计,以3.5” 7200转为例最大是4TB,超出该容量物理扇区只有4KB了?实际上我们看到有硬盘厂商推出6TB 512byte物理扇区的型号,包括密封充氦7碟片和非充氦普通6碟片,但继续增大容量还是需要4KB扇区。
4KB扇区仿真512byte已经广泛应用于客户端,毕竟即使出现写放大或者未对齐写入产生更多I/O,PC用户对磁盘性能也没有那么敏感,但企业级应用则要保守多了。除了4KB扇区仿真512byte,原生4KB扇区硬盘直到2014年晚期才发布针对企业级市场的版本,它无法工作在Windows Server 8(2012)之前的操作系统,并且与上文中我们介绍的生态系统密切相关。
物理、VMware虚拟机环境的“对齐/非对齐”写入
这一段的几张截图来自IBM的一份文档,其中“Misaligned”和“Aligned”分别表示在使用512e硬盘时非对齐和对齐的4KB I/O块操作。由于4KB块(比如对应文件系统的页面)操作需要先以8个512bytes逻辑扇区写入到硬盘,再合并记录到4KB物理扇区,在非对齐的情况下,一个4KB逻辑写I/O对应到2个物理磁盘扇区,如果是新写入就会产生2次I/O;若是改写之前物理扇区中的数据,则需要读-更改-写的操作,这种非原子写入(non-atomic)最多可能产生4次I/O。
而对齐的情况则简单多了,尽管中间要经过硬盘模拟512bytes扇区的过程,但每个4KB的I/O操作都是对应到一个物理扇区。属于比较理想的情况。
我们参考下这个表格里不同操作系统对高级格式化的感知情况。其中,Windows从Server 2008开始能够感知512e硬盘并自动对齐分区;Server 2012进一步加入了对原生4Kn设备的支持。RHEL 6可以感知512e和4Kn硬盘并能自动对齐;SLES 11能感知512e和4Kn硬盘却无法自动对齐?VMware ESXi 4.x和5.x都无法感知512e和4Kn硬盘,但支持自动分区对齐。这里有必要进一步解释下。
首先对于Windows Server 2003、RHEL 5和SLES 10来说,512e硬盘首先是可以用的,只是操作系统“意识不到”而当成512n来用了。微软如今已经停止了对Server 2003的支持(戴尔等厂商为用户提供迁移方案和服务),如果我们在这些较早的操作系统上使用第三方分区工具,或者手动指定开始扇区建立对齐的分区,应该可以规避一部分性能影响。
对于4Kn来说,这三款操作系统应该就没有办法兼容了,同样的还有VMware ESXi 4.x和5.x。尽管,VMware Hypervisor支持自动分区对齐(VMFS-3和VMFS-5分别以第128和2048为起始扇区),但目前的ESXi 6.0和VSAN版本还是无法感知512e和4Kn,其中512e硬盘由于潜在性能问题而不被VMware官方支持。
上图截自VMware网站,供大家参考
这张图演示了在虚拟化环境下对齐和非对齐分区的情况。当“Aligned”对齐时,在Hypervisor层VMFS-5的文件块大小统一为1MB,子块(Sub-Blocks)大小8KB正好对应2个物理扇区上的16个逻辑扇区。此时如果虚拟机的OS block正好与VMFS子块对齐的话,等于就是与物理磁盘扇区对齐了,这样还算好一些的情况。
而对于“Misaligned”未对齐配置,如果要写入到虚拟机中的OS block 1,有2个VMFS子块被写入,并且每个子块需要2次读-修改-写周期(指改写而不是写入空白块,因为每半个VMFS block在“错位”情况下也会对应到2个物理扇区)。这样就有可能在底层产生8次I/O?
我们在VMware网站查询了更多关于4KB扇区兼容的情况,这方面应该还在遥远一些的Roadmap中。毕竟对于Hypervisor而言广泛的向后兼容性相当重要,512e我觉得将来会支持,而如果上层虚拟机就是要在4Kn硬盘上进行512byte的磁盘I/O,软件厂商没义务去做这个转换啊。
既然VMware如此,估计KVM和Xen的情况也不会好多少,对此我了解有限就不班门弄斧了。而Hyper-V可能是个特例吧,因为微软虚拟化平台上跑Windows虚拟机比较多,那么用VHD 2.0规范的4K原生磁盘格式运行Server 2012虚拟机应该不会出问题。
“对齐”并不代表性能就完全达到512n的水平,如果是小于4KB的随机写入512e硬盘还是会产生写放大或者惩罚。上面的软件兼容情况也适用于RAID卡和磁盘阵列的LUN,因为操作系统和虚拟机HyperVisor对它们是与本地磁盘同样的方式来看待。下面我们再来谈一下磁盘控制器对4KB扇区的兼容支持情况。
栏 目:光存储
本文地址:https://fushidao.cc/ruanjianjiaocheng/23826.html
您可能感兴趣的文章
- 07-28老IDE光驱改SATA接口的图文教程
- 07-28RAID、VMware兼容4KB扇区硬盘么?
- 09-22家里有带DVD光驱的老电脑怎么申请补偿?
- 09-22苹果Mac Pro吸入式光驱怎么取出小光盘?
- 09-22sd卡不能格式化怎么办? sd卡无法格式化四种解决办法
- 09-22怎么删除光盘里的文件? 清空光盘内容的教程


阅读排行
推荐教程
- 09-22怎么删除光盘里的文件? 清空光盘内容的教程
- 09-22sd卡不能格式化怎么办? sd卡无法格式化四种解决办法
- 09-22苹果Mac Pro吸入式光驱怎么取出小光盘?
- 09-22家里有带DVD光驱的老电脑怎么申请补偿?
- 07-28老IDE光驱改SATA接口的图文教程
- 07-28RAID、VMware兼容4KB扇区硬盘么?