Joe Brockmeier 在本文中将讨论 freeVSD,Linux 中的一种“虚拟服务器守护程式”,他允许多个虚拟服务器在同一个物理的机器上运行。每个虚拟服务器都有自己单独的 Web 托管环境。他通常用于托管工作,但您也能够将其部署为允许一台机器充当几个研发者的研发试验平台。
在生产部门中,系统管理员通常因太忙而没有足够的时间来处理研发者可能发出的每个请求。管理员没有时间去修改 Apache 的配置文档,或按研发者希望的速度重新启动 MySQL 守护程式。而且,向 Web 研发者赋予对服务器(甚至主要用于测试的服务器)根用户的访问权通常都是不切实际的,这是因为某一个研发者所作的修改可能会影响到其他研发者,进而导致整体生产力下降。唉,让每个研发者都拥有单独的测试机器通常也不太可能。
然而,假如您正在使用 Linux 环境,您就能够将机器配置为让多个研发者同时享有管理访问权,而不会影响其他研发者所在的环境。这被称为 freeVSD(Virtual Server Daemon,虚拟服务器守护程式),他还允许一个 Linux 服务器有多个“虚拟”服务器。使用 freeVSD 能够让公司进一步充分利用其资源,同时让每个研发者或一组研发者仍拥有自己的环境。虽然研发 freeVSD 的主要目的是托管公司,您仍然会发现他对生产环境可能也大有好处。
freeVSD 是什么?
当您听说“虚拟服务器”时,您可能会联想到 VMware 之类的软件,他会虚拟出一个完整的 x86 机器,您能够安装任何希望使用的操作系统。
freeVSD 并没有达到这个程度。他只是允许您赋予每个虚拟服务器他自己的 HTTP 服务器、IP 地址和文档系统等等。这些服务器仍然在原来的操作系统下运行,但他们并不共享同一个文档系统,而且每个虚拟服务器都能够有自己的管理员(伪根用户),这种用户几乎享有和真正的根用户相同的特权。这是通过创造性地使用 chroot 实现的。当然,这样做可能会有一些严重的安全性隐患 — 所以,假如您真的安装了 freeVSD,那就一定要阅读分发包中的 security.txt 文档所给出的建议并加以实施;还要查看 freeVSD FAQ(请参阅本文后面部分的 参考资料,那里有相关的链接)中和安全性有关的信息。
举例来说,假如您在一台机器上有四个虚拟服务器,您就能够重新引导一个单独的 Apache 实例,而不会影响其他服务器。假如需要,其中一个研发者甚至能够有和其他研发者完全不同的 Apache 配置。假如某个享有管理员访问权的研发者意外地清除了一个虚拟服务器上的一半文档系统,其他虚拟服务器将不会受到影响。研发者甚至能够按照向常规 Linux 服务器添加用户的相同方式向虚拟服务器添加用户 — 但添加的用户只会被目标虚拟服务器识别,真正的 Linux 主机或其他任何虚拟服务器都无法识别该用户。其实,他完全是另外一个供研发者使用的 Linux 服务器。
最好的一点是,在 GNU General Public License 的许可之下,您能够免费获取 freeVSD(这也是他名称的由来......)(请参阅 参考资料),这样您不用支付任何许可费用,就能够部署一个或五十个,甚至上千个使用 freeVSD 的服务器。
使用 freeVSD 可能会碰到的一些问题
现在,freeVSD 特别针对 Red Hat 6.1 和 Red Hat 7.x 进行了修改。根据 freeVSD 站点上的说法,Red Hat 7.x 仍然处于“实验”阶段,所以,您试图在更新的 Red Hat 发行版上安装 freeVSD 时可能会碰到一些问题。我正在一台安装了 KRUD 7.2(请参阅 参考资料)的服务器上使用 freeVSD。KRUD 7.2 是一种几乎和 Red Hat 7.2 相同的分发包。我不得不从源代码安装 freeVSD,因为从 RPM 安装不合适。
按照 freeVSD 文档的描述,配置文档应该在 /etc/vsd 中,但(至少我的情况是)他们实际上是在 /usr/local/etc/vsd 中。我还是选择了从源代码安装,您的实际情况也会有所不同。
支持的服务
由于虚拟服务器运行的方式和真正的 Linux 服务器有一点不同,所以有一些程式在虚拟服务器下将不能运行 — 或说不能正确运行。freeVSD 并不能处理您可能希望在服务器上使用的每个程式,所以,在决定您希望研发者访问的目标时,一定要将这个因素考虑进去。
举例来说,DB2 不在测试过的能够使用 freeVSD 的应用程式之列,所以他可能不会在 freeVSD 虚拟服务器上运行。您仍然能够在原来的操作系统下运行 DB2,但他可能不会在任何虚拟服务器下运行。这并不是说 freeVSD 只支持一个或两个应用程式,我只是要指出某些应用程式可能无法在虚拟服务器上运行。也可能他们能够完全正常运行 — 只是还没有经过测试。您能够在 freeVSD 站点(请参阅 参考资料)找到经过测试的应用程式的一个列表。
最常用的 Linux 应用程式 — Apache、MySQL、PostgreSQL、PHP、Perl、BIND、Sendmail 更有很多其他应用程式 — 都经过了测试,能够在 freeVSD 下顺利运行。不能仅仅因为一个应用程式没有经过测试就断定他不能在 freeVSD 下运行,关于这一点我已说得够多了。假如您测试了一个不在 freeVSD 站点上列表中的服务,而他能够正常运行,请您一定要将这个消息告诉其他研发者,让他们知道您已成功运行了这个服务。
安装 freeVSD
我在这里不会浪费时间讲述安装过程的每个步骤,因为您将发现 freeVSD 文档中已很周详地描述了这些步骤。但是,我会快速地简述一些基本信息。
要安装 freeVSD,您需要有一台只安装了 Red Hat 6.2 或 7.x 的服务器。您还需要在 /home 目录下(或您决定保存 vsd 目录的任何地方)有至少 750 MB 的可用空间,连同 32 MB 的 RAM 和两个 IP 地址。这当然仅仅是安装的最小系统需要。对于任何重要的研发测试,我都不会推荐这种安装配置。
您能够选择从源代码或从 RPM 进行安装。假如您安装了 Red Hat 6.2 或 7.x 的标准版本,那么您就可能希望从 RPM 进行安装。一定要阅读安装指示,因为按正确的顺序安装 RPM 很重要。
在安装后,要了解 freeVSD 守护程式(vsd)是否已安装好并已运行,请运行
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




