我和一位朋友正在考虑每月支付费用购买自己的 VPS。我们目前拥有自己的个人托管服务,但它功能有限,不允许我们执行诸如安排任务和安装其他软件之类的操作。
将一台服务器设置为两个独立的虚拟机需要什么?这样我就无法访问我朋友的东西,反之亦然。我知道Atwood 和 Haack 已经做到了这一点,所以我知道这是可能的,但那里确实没有足够的细节让我开始。我对 VM 概念完全是新手,我当前的设置是我自己的 W2K 服务器,不是 VM。
答案1
Atwood 和你的区别在于你没有物理服务器。
您在这里要实现的是将虚拟机放入虚拟机中。这似乎是不可能的。我们假设这要视情况而定。这称为递归虚拟化。
递归虚拟化无法通过半虚拟化(例如:Xen)或操作系统容器(例如:Solaris Zones、OpenVZ)等技术实现。毫无疑问,这是不可能的。大多数公共 VPS 技术(我想是 99%)都基于其中一种技术。
只要运气好一点,完全虚拟化就可以实现递归虚拟化。我相信可以在 Virtualbox VM 中运行 VirtualBox。如果您处于这种情况,您可以打赌您的 VPS 提供商会试图阻止您这样做。
假设您拥有正确的技术并成功完成设置。VPS 通常资源很少(RAM、CPU 但主要是 IO),因此速度会非常慢……
总而言之,VPS 内嵌 VPS 是不行的。虽然和几个朋友一起租一个小型物理服务器是个好主意,而且效果很好。
答案2
为什么你必须为此使用虚拟化?自从 Unix 开始*以来,你就能够限制用户查看其他用户的文件。
我想说虚拟化在这里有点过度了,而且即使你能够让虚拟机中的虚拟机运行(我曾尝试在 VMware Fusion 上测试 Citrix 的 XenServer,但从未成功),性能损失也会太大,你会渴望再次拥有自己的虚拟机。
最好拥有一台服务器、一个 SSH 和 SFTP 登录名、您自己的私有目录,并配置 Apache 来托管您的单独目录。我建议您拥有自己的 IP 地址,这当然是可能的 - 只需询问任何提供商 - 有些提供商,例如 Memset(我强烈推荐)甚至会为您提供几个。
然后,您可以设置任何您喜欢的网站在单独的 IP 上监听,甚至可以使用基于名称的托管来托管多个网站。
其他选项包括 FreeBSD jail、OpenSolaris 区域、Linux 容器。它们都是虚拟化解决方案,但正是为此类事情而设计的,并且不会像大多数典型的虚拟化解决方案那样承受完全独立的操作系统的开销。(顺便说一句,OpenVZ 非常糟糕,与其说是虚拟化解决方案,不如说是黑客行为。)
如果您确实选择将物理服务器划分为两个虚拟机(无论如何您也需要 2 个 IP),那么这当然是一个合理的解决方案,但我发现最便宜的专用提供商(拥有一支还算不错的支持团队)每月的费用为 59 英镑 + 增值税。
(* 几乎可以确定)
答案3
递归虚拟化,即使可能(但并不常见)也是非常低效的,您不会想以这种方式工作。我以前曾在 VMWare VM 中运行 UserModeLinux VM,但这样做有特定的原因,只是运行很短的时间,而且效率并不是一个重大问题。
如果您的需求不高(即您不再使用共享主机是为了获得控制权,而不是因为您需要比共享主机更多的 CPU/RAM/空间/...),那么可能值得考虑使用便宜的专用服务器。如果您在 www.webhostingtalk.com 等论坛上寻找特价,几家主机可以以相当便宜的价格出租旧服务器,如果您幸运的话,您会偶然发现一台比 VPS 更划算的服务器。然后,您可以在该服务器上运行您喜欢的任何 VM 提供解决方案。我有一台从 OLM 的“一天一个服务器“不久前的一个优惠,现在价格仍然具有竞争力,我用它在 VMWare 下运行了几台虚拟机。从那以后,我再也没有见过像这次这么好的交易了,但如果你留心观察(货比三家类似的供应商 - WHT 优惠公告板和类似地方也有其他供应商定期发布基于旧套件的低预算专用服务器广告),你永远不知道会发现什么。