实例虚拟化从 Xen 到 Nitro

Linux
Amazon EC2
技领云博主
0
0
> 文章作者:亚马逊云科技加油站/罗技123 亚马逊云的 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 大多数都是虚拟机,那么必然会用到各种各样的虚拟化技术,在早些的时间里用的是 Xen,后来使用了亚马逊自研的 Nitro 技术,据说是基于 KVM 做了一些修改。 那么,从 Xen 升级到 Nitro,需要开启一些设置,比如增强联网,EBS 优化还有安装 NVME 驱动,做完这些操作之后,才能把一个 Xen 实例的机型升级为 Nitro 机型。 ### 增强联网 大多数虚拟机都有一个通病,因为所有东西都是虚拟化出来的,所以高负载的时候速度会比较慢,并且会消耗大量的主机 CPU。在 Vmware 和 virtualbox 上默认就是这中,每次网络测速都跑不满带宽,虚拟机和硬件之间始终隔着一层操作系统。 后来,亚马逊云推出了增强联网,其实也就是 SR-loV 技术。这个可以把物理硬件直通到虚拟机中而不再需要宿主机的转发,这种端到端的通信,就不会消耗大量的主机 CPU。 ### EBS 优化 EBS 优化给实例分配了单独的带宽来连接 EBS,众所周知 EBS 是通过网络与实例挂载的,而每个实例类型都有不同的网络带宽。那么在没有优化的情况下,EBS 就会和应用负载共享带宽,如果恰好当时的磁盘吞吐量比较高,那么应用的网络是一定会受到波动的。在开启 EBS 优化之后,就可以分给 EBS 单独的带宽,这样无论磁盘负载,都不会对实例的网络进出造成影响。 在大多数常用的机型中,EBS 优化是免费的,而且 Nitro 实例默认支持这个功能,少部分实例支持这个功能但是需要额外收取费用。 ### NVME 驱动 想要获得 NVME EBS 全部的性能,也需要单独安装驱动程序。 对于 windows 来说: ``` Invoke-WebRequest https://s3.amazonamazon.com/ec2-windows-drivers- downloads/NVMe/Latest/AmazonNVMe.zip -outfile \$env:USERPROFILE\\nvme_driver.zip Expand-Archive \$env:userprofile\\nvme_driver.zip -DestinationPath \$env:userprofile\\nvme_driver .\\install.ps1 -EnableSCSIPersistentReservations \$true ``` 对于 Linux, ``` sudo apt-get update -y sudo apt-get install --only-upgrade -y linux-amazon sudo reboot ``` 这个 linux-amazon 的除了会安装 NVME 驱动之外,也会安装增强联网的 ENA 驱动。 ### 参考 1. 增强联网:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/enhanced-networking-ena.html?trk=cndc-detail 2. EBS 优化:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/ebs-optimized.html?trk=cndc-detail 3. NVME 驱动 for windows:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/WindowsGuide/aws-nvme-drivers.html?trk=cndc-detail 4. NVME 驱动 for linux:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#install-nvme-driver?trk=cndc-detail [![5.png](https://dev-media.amazoncloud.cn/ad1e4fab145844f490968eb0dc855f0d_5.png "5.png")](https://summit.amazoncloud.cn/2024/register.html?source=DSJAVfG2GS7gEk2Osm6kYXAa+8HnSEVdbCVjkuit7lE= )
0
目录
关闭