是否对Linux Webserver使用或不使用虚拟化?

我维护一个大型webproject的服务器( java postgres一些工具),目前托管在三台机器上:

>机器:邮件服务器(后缀),广告服务器(lighttpd PHP openx)
>机器:Tomcat Servlet
>机器:Postgresql-Server,静态内容(通过lighttpd)

所有机器都运行Debian Stable并通过VPN(openvpn)连接.由于硬件非常陈旧(每台AMD Athlon 3000和2GB RAM),因此需要进行更改.

这些服务器现在应该被一台大机器取代(16GB Ram,大型Intel cpu支持VT,5个IP).

现在的问题是:我是否仍然应该使用虚拟机分离不同的任务,或者我应该像往常一样简单地将所有内容放在机器上.利弊在哪里?

我想到了以下几点:

专业虚拟化:

>安全性:由于vm是分开的,你不能把整个机器(希望)

Con虚拟化:

>性能性能下降
>工作:每个维护工作必须为每个vm完成几次
>通信:不同vm(Servlet do Database)的通信变得更加复杂.
>硬内存限制:我必须为每台机器分配静态资源(如内存).这可能是一个骗局,如果说我的db-server需要更多ram 30秒(比它已分配)并且在其他机器上可以有更多的ram.没有虚拟化,这不会是一个问题.

谢谢你的任何提示.

解决方法

性能损失 – 是的,技术上有一个.这是您或您的用户会注意到的吗?除非是一些疯狂的高端工作负载,或者你过度配置虚拟机*(或者试图将“正常”RAM分配的5个虚拟机压缩到旧的现有服务器上,我真的很怀疑它.记得实际检查你的内存用法 – 如果你正在拆分所有东西,你就不需要512megs用于认为运行级别3的NTP服务器.(分离JUST NTP服务器过多,这只是一个例子.)

工作 – 这是事实.如果它只来自一到三台服务器,可能没什么大不了的 – 进行更改,将命令从一个终端会话复制/粘贴到另一个终端会话.虽然过去,你想要某种管理工具,我现在正在寻找Puppet.

*内存限制 – 取决于virt.你用的解决方案.某些环境(如ESX / vSphere)允许您为VM分配更多RAM,而不是物理上可用.如果您为该功能付费,则ESX允许您设置资源池,并根据需要自动调整资源,并能够设置优先级.像所有东西一样,你必须知道它是如何工作的以及在特定环境中的权衡.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...