我不确定这是否是提出问题的写作地点。不过我希望如此。
今天早些时候寻找VPS时,我试图了解每个容器在后台运行的方式。请记住,操作系统使用系统上的大部分电源和电源,不会在同一台机器上安装多个操作系统,这意味着更多的资源浪费。
例如,如果我在一个专用的盒子上运行centOS并且它正在运行,那就说20个后台操作系统级别的进程。然后我去安装一个虚拟化平台,并在同一系统中再安装5个centOS虚拟机,这些虚拟机与主机操作系统完全相同。这是不是意味着重复这20个进程6次?所以在内部,上下文切换发生在120个进程而不是20个进程中。
答案 0 :(得分:2)
首先,您的问题似乎涉及两个主题:完全虚拟化和半虚拟化。大多数VPS提供半虚拟化环境(非常广义地说)只虚拟化操作系统的部分,它对用户来说是一个完全虚拟化的系统,但就流程,I / O而言,它可以根据操作系统及其实施方式的不同而有所不同。
在处理完整的客户虚拟化时,虚拟化的主要原因和好处是回收未充分利用的资源。利用空闲容量。
例如,5台平均资源利用率为15%的计算机可以在一台服务器上虚拟化,平均使用75%的资源,但仍有25%的开销来处理峰值容量。
如果您的进程可以在同一系统上共存,则所有依赖于相同的库,配置设置等都可以启动/关闭并重新启动而不会相互影响 - 然后您可能“浪费”虚拟化它们的资源。
但是,如果您需要重新启动/重新启动服务器A而不影响服务器B,并且它们的使用率非常低,或者两个应用程序依赖于不同的内核版本 - 那么这是虚拟化的良好候选者。
当您升级到企业级虚拟化并开始考虑以每小时美分和每千兆美元计算成本时,这种“开销”与节省和其他好处相比毫无意义。你没有半空的磁盘,CPU闲置,资源浪费,竞争谁配置什么。虚拟主机可以在主机之间移动,具体取决于负载,容错,高可用性和自动配置。