大规模Linux系统部署的最佳实践是什么?

大规模Linux系统部署的最佳实践是什么?

如果您尝试同时通过网络安装来安装 500 个 Linux 系统,那么瓶颈就是 NFS/HTTP/FTP 或任何保存安装所需文件的服务器。

在我看来,这只能通过添加更多安装服务器然后循环使用它们来解决。

有没有更好的办法可以解决这个问题?比如“P2P Linux 安装”?

更新:我需要更具体地描述我的情况。目前,我正在使用 kickstart+NFS 部署 RHEL。当我尝试同时部署 500 个 RHEL 时,NFS 服务器将产生巨大的流量,并使每个安装过程变慢。设置更多 NFS 服务器是一种解决方案,但我认为这不是一个好方法。

答案1

这通常是多播映像出现的地方。Clonezilla 或 ghost 之类的程序支持发送数据多播,这样您就可以将映像一次性推送到所有 500 个系统,速度与将映像推送到 1 个系统基本相同。

答案2

Avalanche 安装程序岩石Linux 集群发行版,基于 Bittorrent,扩展性很好。它还可以带您从 PXE 启动到运行系统。不过,您只能使用 rocks(基于 CentOS)并以 rocks 的方式进行操作。

答案3

系统成像器还可以使用 bit-torrent 进行更快的大规模部署。

答案4

我不知道如何使用 bittorrent 或多播,除非您能够切换到部署映像而不是执行安装。如果您不能,这里有一种方法可以解决这个问题。

让我们更仔细地考虑一下瓶颈。CPU 不是瓶颈;NFS 不需要太多处理能力。磁盘不是瓶颈;安装 RHEL 所需的文件不超过几 GB,因此它们应该很容易装入 NFS 服务器的 RAM 中。网络吞吐量肯定是一个瓶颈;假设正在安装的一个系统平均每秒请求 50 兆比特,则需要至少 25 千兆比特的带宽来满足 500 个安装的需求。这需要很多 NIC,或者几个非常昂贵的 NIC。

这并不意味着你不应该在合理范围内通过增加硬件来提高性能。在 NFS 服务器中尽可能多地安装 NIC 并绑定它们。如果你能证明时间和成本是合理的,可以设置更多的 NFS 服务器。当然,确保你的 NFS 服务器是调整得很好

无论是否添加硬件,都可以通过避免网络拥塞和平衡吞吐量的峰值和低谷来提高性能。为此,将安装分为几批。执行一次安装并绘制安装期间的吞吐量图表。查看该图表并确定可以同时启动多少个安装以及启动更多批次的最佳时间。

例如,假设您可以从 NFS 服务器传输 4Gb/s。您可能会发现,安装程序在下载的第一分钟内以 100Mb/s 的速度复制,然后在安装程序进行分区等工作时,安装程​​序在一分钟内不复制任何数据,然后在安装程序下载和提取软件包时,安装程​​序在三分钟内以 50Mb/s 的速度复制。了解这一点后,您可以计算出您可以启动 40 个安装,等待一分钟,再启动另外 40 个安装,等待 5 分钟,然后重复该过程。

相关内容