AWS的虚拟化技术

AWS的虚拟化技术

提到aws的底层的虚拟化的技术的时候,大家可能总是能看到这张图。
但是我一直没有看的太懂,于是今天花点时间仔细看看了。
这里详细解释一下。
AWS的虚拟化技术_第1张图片先解释一下图中的术语:
上面颜色部分由于我是色盲所以不说颜色了,下面的颜色的性能最差,上面颜色的性能最高

VM:虚拟机 HW:硬件
VS:软件虚拟化 VH:硬件虚拟化 P:半虚拟化,没有包含所有的组合
SR-IOV(net):网络组件的硬件虚拟化技术,ixgbe/ena driver SR-IOV(store):存储组件的硬件虚拟化技术 nvme driver

第一条不是aws使用的技术,作者列到这里只是为了对比。
第二条是虚拟机上的宿主机软件需要修改和适配,也就是说宿主机是能知道自己是在虚拟环境下允许的,这时候还没有Intel VT-x, AMD-V之类的虚拟机特权指令
第三条就是使用了Intel VT-x, AMD-V特权指令,硬件支持了CPU和内存的虚拟化
第四条增加了中断和计时器的半虚拟化
第五条在第四条的基础上加了网络的硬件虚拟化技术SR-IOV
第六条在第五条的基础上提供了存储的硬件虚拟化技术SR-IOV
第七条就是aws现在使用的Nitro系统,把缩减的kvm封到专有硬件中去,实现虚拟机的可以打到裸机性能。

这里先说一下SR-IOV的技术:

由于VT-x技术只是提供了CPU和内存的虚拟化支持,所以虚拟机访问网卡或者存储的时候,必须经过xen的虚拟交换机来中转,降低了效率。
AWS的虚拟化技术_第2张图片
AWS的虚拟化技术_第3张图片
aws刚开始使用的时候Intel 82599 网卡达到这个功能,最后收购了以色列的一家公司 Annapurna Labs,把网卡的速度提高到了25Gbps。
AWS的虚拟化技术_第4张图片
Nitro的hypervisor就是缩减版本的kvm,只负责管理CPU和内存,其他的事情都有自己的专业硬件去管理,通过控制器来协调和通信。
AWS的虚拟化技术_第5张图片

使用Nitro之后的性能提示

AWS的虚拟化技术_第6张图片2017年的时候,hypervisor还是放在和和宿主机一起的服务器上
AWS的虚拟化技术_第7张图片2018年的时候hypervisor也被放到了硬件中去了。
AWS的虚拟化技术_第8张图片AWS的虚拟化技术_第9张图片

参考
https://www.brendangregg.com/blog/2017-11-29/aws-ec2-virtualization-2017.html
https://cloudierthanthou.wordpress.com/2014/11/20/ec2-enhanced-networking/
https://medium.com/@paccattam/aws-enhanced-networking-an-overview-aee8a852cf5c
https://cloud.tencent.com/developer/article/1452583
https://twosixtech.com/running-thousands-of-kvm-guests-on-amazons-new-i3-metal-instances/

你可能感兴趣的:(Openstack,计算机相关,aws,运维,云计算)