当前位置:首页 > 虚拟机 > 正文

服务器运行需要虚拟机吗(服务器和虚拟机区别)


一、可以用docker代替虚拟机,运行生产服务器吗?在回答这个问题之前,我们先来看看虚拟机和Dcoker的区别。
总结一下虚拟机和Docker的区别:
直接回答:“Docker可以替代虚拟机来运行生产服务器吗?”
在服务器上部署应用程序的过程:由于我是用Java开发的,所以我将以常规Java项目为例。首先需要在服务器上创建一个基本环境:
这只是部署前的简单项目配置。然后打包你的项目,发送到tomcat并运行。如果需要部署十几台服务器怎么办?如果你要调整环境十次以上,那么一个人就会崩溃。而且,可能启动开发有问题,但是部署有问题。那么这个时候docker就出来了。
在Docker中部署应用程序的流程:
分两步完成,无需搭建复杂的环境。如果需要部署十多个容器怎么办?远程下载图片就可以了,是不是很简单?
Docker适合使用Linux作为单一平台的大型组织。服务越多越好,例如数百、数千或数万。通过k8s调度和微服务改造,以及自动化运维,可以实现灵活的扩缩容,达到按需使用的效果。一个典型的用例是互联网内容提供。
对于只有几十台服务器且平台不一致的典型中小企业来说,投资docker不如投资虚拟机。
除了无法跨操作系统平台之外,Docker的另一个缺点是隔离性不够。
我首先回答:是的,但没有必要。
容器技术是虚拟化技术的应用。当然,你可以使用容器而不是虚拟机来运行程序。从持续集成的角度来看,容器比虚拟机具有一定的优势,但如果您只是......容器的使用。如果您有容器,则没有必要。
容器技术的最大优势在于容器编排,可以实现在线服务的无缝扩容、收缩、降级、自动关闭等自动化操作,大幅降低运维成本。因此,如果您没有使用容器编排,则无需急于迁移。
理论上这是绝对可能的,但目前我遇到的生产解决方案本质上都是docker运行在虚拟机集群上。
这取决于系统要求。Docker并不能完全取代一切。Windows服务器也很难重启不使用docker的软件系统。
使用docker时需要配合自动化,否则会给自己带来问题。


二、一台物理服务器运行多少个虚拟机最合适这取决于物理服务器的硬件配置和虚拟机的资源消耗。没有固定的算法。
但总的来说有一些限制:
1。内存
内存本质上是一个硬限制。服务器的物理内存肯定是有限的。例如,一台服务器有8核和8G内存。通常,虚拟机管理程序将占用512M内存,剩余约7.5G内存。假设每个虚拟机的配置为1corecpu和1G内存,则最多可以有7个。在此虚拟机上运行。创建新虚拟机时,会报内存不足的错误信息。这样的话,每个虚拟机在满载的情况下最多可以有1个cpucore的计算能力和1G的内存容量。
当然,当今的虚拟机管理程序本质上支持过度使用功能。也就是说,如果你的内存只有8G,但是你设置了一定的复用率,比如50%,那么你最多可以分配12G。的记忆。仍然使用上面的例子,如果overcommit设置为50%,最多可以创建11个虚拟机(1core,1Gmem)。对于服务器虚拟化,建议不要将过量使用级别设置得太高,通常为20%。关于桌面虚拟化,可以设置50%以上。
2.网卡
如果宿主机只有一张网卡,则所有虚拟机的网络流量都会经过一张网卡。您拥有的虚拟机越多,您拥有的网卡就越多。虚拟机能使用的带宽越少,这个需要综合考虑。例如使用多个网卡等。

CPU资源基本上是使用时分复用(即时间片)进行轮询的。
4.磁盘I/O
这是本地磁盘还是网络磁盘?如果是网盘,用的是iSCSI还是光缆?不同的情况有不同的负载。
一般情况下,一台服务器上可以运行的虚拟机数量需要综合考虑物理服务器的整体健康状况、虚拟机负载等因素来计算。没有固定的公式。