全闪存阵列大揭秘7:VM复制竟然如此简单!

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

 

茫茫人海,漫漫人生路,有时候尽管我们选择了不同的道路,但最终还是走到了同一个归宿。没想到,整合文件系统和SSD映射表后的复制和有去重功能的全闪存阵列最终达到了一样的效果。

 

 

我们曾经畅想过整合了文件系统inode表和SSD映射表之后,复制会很简单,只需要两个逻辑块对应到一个物理块就可以了,并不需要读出来再写下去。要知道自从全闪存阵列有了去重功能之后,也有异曲同工之妙,复制这个基本的文件操作竟然如此简单:没有数据搬移,仅仅是某几个计数登记一下而已。下面我们细细道来。

 

ESXi和VAAI

 

首先我们来普及一下ESXi和VAAI两个名词。我也是百度的。

 

VMware的虚拟化产品,就个人、小企业而言,有Workstation、ESXi(vSphere,免费版)、VMware Server(免费版)可以选择,Workstation和VMware Server需要装在操作系统如Windows或Linux上,ESXi则内嵌操作系统,又免费。所以ESXi可以看成是虚拟机平台,上面运行着很多虚拟机。

 

VAAI,”vStorage APIs for Array Integration”,虚拟化领域的标准语言之一,其实就是ESXi等发命令的协议了。

 

复制流程

 

下图是复制前的数据状态。


  1. ESXi上的虚拟主机用VAAI语言发了一个虚拟机(VM)复制的命令。
  2. R模块通过iSCSI或FC收到了命令,并选择一个C模块执行复制。
  3. C模块解析出命令内容,把原来VM的地址范围0-6,复制到新的地址7-D,把结果发送给D模块。
  4. D模块查询Hash表,发现数据是重复的,所以没写数据,只把引用数增加1.
  5. 这样复制完成了,没有真正的SSD读写。

 

不过有个问题是,这些元数据操作都是在内存中完成的,那万一突然掉电了怎么办?XIO设计了一套非常复杂的日志机制:通过RDMA把元数据的改动发送到远端控制器节点,使用XDP技术把元数据更新写到SSD里面。XIO的元数据管理是非常复杂的,前面讲的流程只是简单介绍而已。

 

 

由于使用了A2H,H2P两张表,数据可以写到SSD阵列的任何一个地方,因为只跟数据的HASH有关,跟逻辑地址Address没关系。

 

 

引用

http://vjswami.com/2013/11/13/xtremio-hardwaresoftware-overview-architecture-deepdive/

分类目录 产品评测 和标签 , , .
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。