我正在改变 DHCP/DNS 在工作中的工作方式。目前我们有 3 个 DNS 服务器和一个 DHCP 盒。它们都是虚拟机。
存在一种循环依赖关系,即启动需要 NFS,而 NFS 又需要 DNS。因此,当我们重新启动时,系统可能会出现微妙的故障,直到 DNS 恢复正常,我们才重新启动某些服务。
我想要的是拥有几台低功耗服务器,可能是双核 Atom 或类似产品,运行 SSD,这样它们的启动速度会非常快。我希望整个启动过程尽可能接近即时启动。
理想情况下,我希望使用 Ubuntu 11.10 或 Debian 6 作为操作系统。我对 Gentoo 或编译自己的内核不感兴趣。这需要我自己能够合理地支持。
除了 SSD 驱动器之外,我还可以采取哪些其他优化步骤来提高启动速度?
答案1
这种情况下,您难道不应该绕过循环依赖关系吗?在服务器 BIOS 中设置开机延迟。您有多个 DNS 服务器,所以这是一个优点。DNS 缓存?这会像使用 IP 地址或主机文件适用于您的 NFS 或存储网络?您没有提到具体的虚拟化技术,但可以在 VMWare 中设置 VM 启动优先级,例如... 这是跨多个主机服务器的吗?
否则,基于 SSD 的启动驱动器可以提供帮助。使用具有 Upstart 启动过程的发行版。精简守护进程。
答案2
根据您的 UPS 状态,这可能是少数几个 ACPI 休眠可能是一个好主意的用例之一。通常,从休眠状态恢复优于从头启动,尤其是在基于低 RAM SSD 的系统的情况下。如果您有能力,可以将 UPS 软件的“关机”步骤设置为休眠 DNS 服务器。
答案3
我可以推荐一款在 SSD 上运行的非常小巧的 NetBSD 系统,但如果您一心想使用 Linux,那么有两个选项会立即浮现在您的脑海中:
- 该死的小型Linux是知名的小型 Linux 发行版之一。我不知道它们的启动时间是多少,但应该相对较短。
- 斯莱克斯从一开始就更具可定制性,并且速度可能会更快一些。
还有非常小的定制/嵌入式解决方案可供选择,例如这个基于 ARM 的模块系统售价 99 美元,启动时间为 1 秒左右。它不是商品硬件,但可以藏在数据中心安静的角落,永远运行……
答案4
您可能想要使用 bootchart 来查看启动时热点。
还有预读:https://fedorahosted.org/readahead/,我还没尝试过。