原创 2017-01-12 朱朋博 金笑雨 企事录

2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了。

这当然是好事。不过,不黑不舒服斯基说:原来以前的版本连512e都不支持?现在也还不支持4Kn啊……

有图有真相,不黑不是你大叔则翻出2013年的一个合作伙伴文档作为黑历史,说:瞧,晚了整三年!间隔一个大版本啊……

Vmware曾宣称计划在2013年支持512e,在2015年支持4Kn

泥垢了,别站着说话不腰疼。作为公认业内第一的hypervisor,或者说虚拟化操作系统(OS),vSphere已经很努力了好么!样样都走在别人前面,让别人怎么活?

512e是什么鬼?

512e的重点在于e,即Emulation,是把4KB(4096字节)的物理扇区仿真为512字节的逻辑扇区。为什么要这么做呢?因为,为了能把硬盘的容量做得更大,硬盘行业正在从传统的512字节物理扇区,向空间利用率更高的4KB物理扇区过渡。

512n,512e,4Kn的扇区大小区别

物理扇区4KB,对操作系统展现的(逻辑扇区)也是4KB,叫做4Kn,n是Native的意思——也相对naive。4Kn是大方向,但步子迈太大,必须扯到操作系统。毕竟,还是有些操作系统,还不能直接访问4KB的物理扇区,必须拿512字节的逻辑扇区过渡一下。


好了,作为vSphere的忠实用户,我们真的不是搭砖机来黑VMWare的……但是,必须看到,像ESXi这么重要的操作系统还不支持4Kn,可见保持对512字节扇区的兼容是多么的重要。

可是,4KB扇区又势在必行,那就硬盘退一步,用512e“欺骗”一下操作系统;vSphere进一步,从6.5版开始配合这个欺骗,就构成了我们开头提到的那条“新闻”。

毫无疑问,vSphere最终会全面过渡到支持4Kn的,而512e还会存在相当一段时间。512e与vSphere 6.5及vSAN 6.5的配合,企事录正在准备专文来展示给大家。

今天要讨论的话题,核心是512字节扇区与NVMe SSD。

SSD是不存在512e这种格式的,但要面对类似的问题:要么,对操作系统一概表现为512字节的扇区格式;要么,在4KB的情况下,提供“回到”512字节的选择——或反之。

这么说你就晕了对不对?看来还得动手,我一动手,你就明白了。

既生512B,何生4K?

企事录实验室里对一块华为的NVMe SSD ES3600C V3进行了验证性测试,容量1.6TB,PCIe 3.0 x4接口。


上图为华为官方公布的ES3600C V3的性能指标。对同一块ES36000C V3 NVMe SSD分别在512B格式和4K格式下进行4K数据块读性能测试,相对于512B格式下获得的76万IOPS,4K格式获得了更高的80万IOPS。4Kn不仅能够提升硬盘的容量,更有助于性能的发挥

对官方性能数据进行验证,是企事录实验室拿到产品后要做的第一件事,下图是我们测试时的一个截图:

企事录将华为ES3600C V3 NVMe SSD的扇区格式(Logical Block Address,简称LBA)改为4K之后,通过基准测试工具获得的4K数据块随机读成绩,超过了75万IOPS,平均响应时间仅为0.34ms,最大时间不超过2ms,与华为官方公布的80万IOPS相差无几


华为针对ES3600 V3系列SSD提供的高级管理工具——Huawei NVMe Toolbox。值得注意的是,只有安装了华为提供的NVMe驱动之后,这个工具才能发挥作用

希望重复企事录实验室测试的童鞋,可以通过华为官网下载ES3600C V3的驱动,以及相应的SSD管理工具,即可实现ES3600C V3 NVMe SSD在512B和4Kn之间进行格式转换。

需要注意的是,目前主流操作系统已经对NVMe SSD提供支持,真正做到即插即用。但公版驱动中只使用了常用的API接口,而改变LBA格式等高级API接口并不在其中,所以这也是为何在本次测试中一定要使用华为NVMe驱动的原因。

LBA格式转换工具:嗯,这是个神器

在刚验证完华为ES3600C V3 NVMe SSD的性能之后,VMware就发布了vSphere 6.5,作为国内唯一的一家以技术为导向的第三方分析机构,最新的vSphere 6.5必然是我们的关注重点,在安装了ESXi之后,准备将华为ES3600C V3 SSD作为数据本地存储,但在添加硬盘的时候,这块ES3600C V3 SSD居然不……见……了!WTF!


在ESXi主机上添加ES3600C V3 SSD为本地存储时,ES3600C V3 SSD未能被ESXi主机正确识别到

但是在ESXi主机的高级管理里面(类似于Windows的设备管理器),却又能看到这个PCIe设备……


在ESXi主机的硬件管理页面,可以看到有一个PCIe设备,Non—Volatile memory controller的意思是非易失性存储控制器,表明ESXi主机上存在一个闪存存储设备。NVMe中的NVM也是Non-Volatile Memory的简写

What’s wrong?

经过长达15分钟的沉默,恍然大悟,这块ES3600C V3 SSD的扇区格式(LBA)被改为4K了,VMware现在还不支持4K,即使是vSphere 6.5支持了512e,但仍不支持4Kn。好吧,利用华为的NVMe Toolbox工具,将4K改为默认的512B,再添加硬盘(SSD)。

这块熟悉的SSD又回来了。


将ES3600C V3 SSD的LBA改为512B之后,ESXi主机可以将其添加为本地存储了

值得注意的一个细节是,无论这块华为的盘是在512B扇区格式下还是在4096扇区格式下,其容量都一样显示为1490.4GB(又是1024和1000的三次方关系)。也就是说,物理扇区不变的话,逻辑扇区不影响真实的容量。

这一切我们都看在眼里,只是在操作系统被蒙在鼓里,直到6.5版本vSphere操作系统的眼里都只有512B,对SSD来说,要么统一对操作系统暴露为512字节,要么像华为一样,提供512B和4KB之间的切换工具。vSphere 6.5增加了对512e的支持,对于大容量硬盘是一大进步,使得物理扇区为4KB的硬盘也能用于vSphere环境中,虽然仍要“仿真”成512B……。不管怎么说,还是期待vSphere尽早支持原生4K吧……

结语:

不过话说回来,固态存储真的是为存储争了一大口气,之前企事录在各种公开场合的演讲和推出的文章中都表达过类似的观点,比如说固态存储让存储摘掉了拖后腿的帽子。

今天我们也还要说固态存储为硬件争了一口气:软件别再嫌弃硬件进步慢了,硬件一变化你软件还是跟不上不是?

512e是硬盘的事儿,NVMe SSD也得支持512B才能兼容尚处于“4KB初级阶段”的vSphere,就说这么多吧。

vSphere 6.5支持512e,NVMe SSD呢?的更多相关文章

  1. vSphere 6.5 新功能 (7) - 支持 512e 硬盘

    2016-12-11 Newton 长期以来,机械硬盘在储存数据时,一直都是以 512 byte 大小的扇区(Sector)为单位分割进行读写.随着硬盘容量的不断提升,这种古老的分配标准已经越来越不合 ...

  2. USB3.0及NVME SSD安装WIN7X64

    USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...

  3. NVME SSD vs SATA SSD(转)

    NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...

  4. H310C,B365,M.2 NVME SSD,USB3.0,安装 WIN7 64 位

    华擎H310CM ITX NVME SSD 上安装WIN7 64位 核心关键点:xHCI USB3.0驱动,nvme驱动,nvme win7补丁. 硬件配置:I5 9400F, 华擎H310CM IT ...

  5. [转帖]深度: NVMe SSD存储性能有哪些影响因素?

    深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, ...

  6. 存储系统设计——NVMe SSD性能影响因素一探究竟

    目录1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3. ...

  7. Ceph BlueStore与FileStore:利用Micron NVMe SSD进行性能比较

    https://www.micron.com/about/blog/2018/may/ceph-bluestore-vs-filestoreblock-performance-comparison-w ...

  8. NVMe SSD是什么?

    https://blog.51cto.com/alanwu/1766945 一直对闪存存储关注的朋友对NVMe SSD一定非常熟悉,NVMe SSD是现如今性能最好的存储盘.这种高性能盘在互联网领域已 ...

  9. WinPE无法识别NVMe SSD硬盘,如何重装系统

    (源自网络出处不详) 抽风,diy一台新机器,下载的win10系统安装时出现如题所示的问题,开始以为是主板的问题设置u盘启动也不行,后来在某个群里有人说是系统版本问题,无奈重新做了启动优盘(用的17年 ...

随机推荐

  1. ios UITableViewCell重用问题

    在写sina 微博界面的过程中使用到了cell,那么就是在cell上添加一些控件,但是由于每条微博的内容都是不同的,所以在显示的过程中,出现了内容重叠的问题,其实就是UITableViewCell重用 ...

  2. ios之UISlider

    初始化一个Slider   UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)]; 滑块是一个标 ...

  3. Centos7.2 上部署 FastDFS_V5.05

    1.安装gcc (编译时需要) [root@localhost~]# yum -y install gcc gcc-c++ 2.安装libevent ,FastDFS依赖libevent库; [roo ...

  4. 各种排序算法(JS实现)

    目录: 直接插入排序.希尔排序.简单选择排序.堆排序.冒泡排序.快速排序,归并排序.桶排序.基数排序.多关键字排序.总结 JS测试代码 function genArr(){ let n = Math. ...

  5. Django之学员管理一

    Django之学员管理一 建表结构: #班级表class: id title 1 五年一班 2 五年二班 3 五年三班 4 五年四班 #学生表student: id name 班级ID(FK外键) 1 ...

  6. 学习Python第一天,命令很多跟Linux还有脚本语言相似。

    学习Python第二天,看了一天,有点头疼,准备先休息一会,再继续.有一点C语言和Java基础,学起来不是很费劲.学习热情尚好. 学习了dir,math模块,import加载模块,有跟Linux相似的 ...

  7. 对uboot中CFG_和CONFIG_的理解

    CONFIG_用于选择CPU   SOC 板子的类型,系统时钟,设备驱动driver驱动等 CFG_用于设置malloc缓冲池的大小,偏移地址部分的定义,uboot的提示符,uboot的加载地址,fl ...

  8. 和为s的两个数字 和为s的连续正数序列

    输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s,如果有多对数字的和等于s,输出任意一对即可. #include <iostream> using namesp ...

  9. linux救援

    1.单用户模式(类比win的安全模式) 1.1.开机按任意键 1.2.按E进入编辑模式 1.3.光标移动到第二个(“kernel xxxx”)按e 1.4.在quiet 后面输入“ 1” or “S” ...

  10. 【11】specified value,computed value,used value计算方法

    [11]specified value,computed value,used value计算方法 specified value(规范值): 计算方法如下: 如果样式表设置了一个值,使用这个值 如果 ...