虚拟化技术是云计算的重要技术,主要用于物理资源的池化,从而可以弹性地分配给用户。物理资源包括服务器、网络和存储。但是计算资源的池化不一定要用虚拟化技术
1、虚拟化软件安装多台虚拟机
在一台物理机上通过虚拟机软件(如 VMware Workstation)创建多台虚拟机,虚拟机里可以安装不同的操作系统,配置不同的网络 IP 地址
只要不启动虚拟机,就不会消耗内存和 CPU 资源,但是会占用硬盘空间。能同时启动的虚拟机数目与计算机的物理内存容量和 CPU 速度有关
2、虚拟化层安装多台虚拟机(将虚拟化安装安装在裸机上)
虚拟化软件层消耗的计算资源很少,一般在 10% 以内,相比前面的方法,同一台物理机可以运行更多的虚拟机
如微软的 Windows Hyper-v 2012、EMC 的 ESXi6、思杰的 XenServer、红帽的 RHEV-H等
各虚拟化软件厂商还推出了云端虚拟机管理工具,实现虚拟机的创建、删除、复制、备份、恢复、热迁移和监控等统一管理,但是在每台虚拟机里都要安装和运行操作系统的做法,仍然浪费了很多计算资源
3、容器
容器是一个轻量级的运行环境,在同样配置的物理机上,能同时运行比虚拟机多三倍的容器
在操作系统层上创建一个个容器,这些容器共享下层的操作系统内核和硬件资源,但是每个容器可单独限制 CPU、内存、硬盘和网络带宽容量,并且拥有单独的 IP 地址和操作系统管理员账户,可以关闭和重启
应用软件容器与虚拟机的第二个不同是,容器里不能进行操作系统级的修改和配置。对于做驱动开发和 Linux 内核定制的人来说,就不适合租赁容器,而虚拟机则没有任何限制
4、总结
Reference
http://c.biancheng.net/view/3887.html
Now is better than never