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


9

如果您尝试同时通过网络安装来安装500 Linux系统,则瓶颈将是NFS / HTTP / FTP或任何包含您需要安装的文件的服务器。

IMO,这只能通过添加更多的安装服务器然后对其进行轮转来解决。

有没有更好的解决方案来解决这个问题?类似于“ P2P Linux安装”?

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


您想做什么?安装基本系统,然后再管理系统?部署配置或应用程序?
shakalandy 2011年

@shakalandy我正在使用kickstart + NFS部署RHEL。当我尝试同时部署500个RHEL时,NFS服务器将拥有巨大的流量,并使每个安装过程变慢。设置更多的NFS服务器是一种解决方案,但我认为这不是一个好的解决方案。
yegle 2011年

Answers:


7

这通常是多播映像出现的地方。诸如Clonezilla或ghost之类的东西都支持发送数据多播,这使您可以将图像一次推送到所有500个系统,其速度基本上与将图像推送到1个系统相同。


3

雪崩安装岩石 Linux集群发行版,是BitTorrent基础和规模很好。它还使您从PXE引导进入正在运行的系统。虽然,您必须使用岩石(基于CentOS)并以岩石的方式工作。



1

我不会使用多播,因为这会使事情变得更复杂。首先,尝试最小化NFS流量,这意味着需要通过HTTP获得需要安装的软件包。如果您的软件包存储库的Web服务器过载,请使用其中两个,并通过为每个客户端分配不同的服务器来分配负载(例如ip address modulo 2)。

如果将启动更多nfsd守护程序,则NFS服务器可能会更快。通常只有8个启动。

我只是使用FAI测量了Debian安装的流量(通过PXE,NFS,HTTP)。当安装4.2 GB的软件时,通过网络发送了1.3 GB的HTTP(所有软件包)和100MB NFS流量(安装期间的nfsroot)。这是针对一个安装客户端的。因此,我想减少NFS流量并分配HTTP流量会很有帮助。

服务器或绑定服务器NIC中的10 GB NIC也将有所帮助。而且,我认为不需要同时安装所有机器,而需要在短时间内安装更多机器。

但是无论如何,首先,您必须分析瓶颈。因此,例如对20台​​机器取消测试


0

我不知道使用bittorrent或多播的方法,除非您能够切换到部署映像而不是执行安装。如果情况并非如此,这是解决问题的一种方法。

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

这并不意味着您不应该在合理范围内尝试通过添加更多硬件来提高性能。在NFS服务器中获取尽可能多的NIC并将其绑定。如果您可以证明时间和成本的合理性,请设置更多的NFS服务器。当然,请确保您的NFS服务器已正确调整

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

例如,假设您可以从NFS服务器传输4Gb / s。也许您会发现,在下载安装程序时,安装程​​序在第一分钟内复制100Mb / s,然后在安装程序确实像分区一样工作的情况下在一分钟内未复制任何数据,然后在安装程序进行分区的同时三分钟内复制50Mb / s。安装程序下载并解压缩软件包。知道这一点,您可以计算出可以开始40次安装,等待一分钟,再开始40次安装,等待5分钟,然后重复该过程。


0

关于文件的大规模部署,twitter已经提供了一个基于痛苦的解决方案:Murder

如果您要谈论的是在服务器上安装操作系统,则显然不适用于此解决方案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.