我正在寻找升级服务器并试图找出一个好的计划。
我们目前有4台服务器:
- OpenBSD 防火墙/VPN 服务器
- 接收 ZFS 快照的 FreeNAS 备份服务器(本地)
- 接收 ZFS 快照的 FreeNAS 备份服务器(远程)
- 下面的主力 FreeBSD 服务器。
FreeBSD 服务器
~2010 FreeBSD 8.4, 32gb ram, dual Xeon E5520 ZFS (8 个磁盘, zraid of disks in mirrored pair, 8TB)
服务:
- 桑巴
- Netatalk(苹果文件共享)
- Apache(主要是内部的,一些面向外部的站点)
- MySQL
- VirtualBox(Windows 2k3 实例)
- ZFS 快照
我的计划(基本)
我计划进行服务器升级,让我们从一台主服务器切换到两台服务器,每台服务器都会承担上面列表中的一些服务器职责(并且会相互复制),这样如果一台服务器出现故障,我可以快速激活第二个的所有功能。就像是:
服务器 1:
- 桑巴
- Netatalk(苹果文件共享)
- VirtualBox(Windows 2k3 实例)
- ZFS 快照
服务器 2:
- Apache(主要是内部的,一些面向外部的站点)
- MySQL
- ZFS 快照
我只运行过裸机,除了在 VirtualBox 上运行 Windows 2k3 之外,我没有使用虚拟机的经验。我应该考虑将我的服务器实例作为虚拟机运行吗?我认为这可能会使从崩溃中恢复更容易。总的来说,这似乎是一个好计划吗?
我一直在研究 ixSystems 服务器和戴尔机架硬件,如果这有什么不同的话。(我也从未使用过任何机架安装设备。)
没问题,虚拟化。虚拟化带来的好处和灵活性远远超过了可忽略不计的性能损失。
您的计划虽然不是最理想的,但主要是因为 Virtualbox 是桌面级虚拟化解决方案,不适合服务器使用。
这是我的建议:在两台服务器上安装(免费)VMware ESXi,然后根据需要在它们上创建虚拟机。如果您不关心 ESXi,请考虑 Hyper-V 或 KVM。让主机操作系统/管理程序尽可能“干净”,只负责运行您的虚拟机,并根据需要创建虚拟机。不要在主机操作系统上运行任何应用程序进程。
如果您对此有一些预算,请选择 VMware Essentials Plus 捆绑包,它可以让您获得 vCenter,这将允许您执行诸如主机之间的实时 VM 迁移、集中管理、使用 Veeam 等工具进行备份等操作。
一旦迁移到虚拟化环境,您将永远不会回头。
虚拟化将极大地满足您的需求。
我们有一家小型企业,虚拟化使我们能够整合硬件、增加服务隔离以帮助提高安全性并帮助延长正常运行时间,因为我们可以非常轻松地在主机(管理程序)之间迁移虚拟机;裸机很难做到的事情。
我们将过时的企业硬件与现场保存的备用部件(风扇、驱动器等)配对使用,但同时拥有主主机和辅助主机;我们的主机运行服务于 DRBD、Apache、MYSQL、Samba、NFS、Reslio Sync、Dropbox 等的 VM。我们让我们的主机使用 MDADM 管理 RAID 阵列。利用 DRBD,虚拟机在备份服务器上保持同步,因此即使主主机发生灾难性硬件故障,停机也几乎不是问题。
但作为一家小型企业,它简化了硬件管理,允许我们运行更少的硬件,这对预算和 IT 资源有深远的影响,并整合了我们的服务管理,因为从工作站上的单个控制台管理所有虚拟机是很自然的; 当我们使用 XenServer 时,通过 Xen Center 为我们服务。
此外,它允许我们隔离事物,因此云服务之类的事物可以虚拟地与内部服务隔离,从而提供高度的安全性。例如,我们在两个独立的虚拟机中提供两个独立的云文件服务;一种供外勤人员使用,可通过移动设备访问,另一种供办公室人员使用,可通过内部网络访问。
需要注意的是,我们的备份服务器(不是辅助主机)不是有意虚拟化的,因此我们可以在主机出现软件或配置故障的情况下访问我们的文件。也就是说,如果我们的主机以某种方式损坏了我们的虚拟机或数据存储,我们仍然可以裸机访问文件和虚拟机。
最后,我们可以在内部为公司提供企业级文件、备份、Web、云和其他服务,以实现最低成本和最长正常运行时间。它还允许我们扩展,因为我们可以集成其他服务;计划在不久的将来为远程簿记员提供 VPN 服务,为需要 Windows 软件中介与 MySql 交互的现场人员提供 Android 表单服务。如果不进行虚拟化,我们将需要购买、运行和管理更多硬件;在添加此类服务时,虚拟化已经消除了所有硬件问题,我们可以简单地专注于软件/服务的集成,这已经足够令人生畏了。
正如其他人已经指出的那样,如果这些机器中的大多数大部分时间大部分时间都是空闲的,那么对它们进行虚拟化可以节省很多成本和时间。您应该知道,根据我在那篇文章中的测量,虚拟化会对性能产生重大影响。Virtualbox 尤其可怕,因此您最好确保将所有内容迁移到适当的虚拟机管理程序。我使用 KVM,现在即使对于像虚拟化游戏这样密集的工作负载,性能也是可以接受的。
编辑:关于虚拟化性能开销的文章的第 2 部分,在原始文章的以下三代硬件上,仍然显示出类似的性能影响。
编辑 2:Zen 2 Epyc 的虚拟化性能影响仍达 17% - 25%。
为了减少虚拟化对性能的影响,您可以将列出的大量工作负载保留在虚拟机之外,例如,您可以在主机上运行 samba/netatalk 服务器。如果可能,请在主机的 ZFS 上运行 MySQL,并适当调整 MySQL 和 ZFS。您可以在此处找到我在 ZFS上的 MySQL 主题的讲座中的幻灯片。
您将从虚拟化中获得的另一个好处是,您可以通过 zvols 备份您的虚拟机,这使得本地不支持 ZFS 的客户的备份和恢复变得不那么痛苦(
zfs rollback
当它退出时能够只是一台机器,这真的令人耳目一新)更新失败后的形状)。