自动安装与驱动器映像

通过自动安装与驱动器映像进行部署的优缺点是什么? 对于Windows,我知道在克隆驱动器时,存在有关SID生成的问题。 通过映像部署Linux有没有类似的问题?

我不同意这里的一些答案。 如果正确完成,您可以使用不同的硬件将图像加载到多个系统上。 就我个人而言,我见过支持多达30个不同系统的图像。

我对你的问题的回答是使用这两种方法,如果你是非常肛门的图像创作。 创build自动安装,然后sysprep结果。 这将导致可重复的,自我logging的图像。

另外,如果可以以保存状态写入磁盘映像,则可以通过包含可在sysprep期间运行的脚本来扩展映像上的内容。 或者你可以在系统准备工作之前备份你的系统,然后扩展它,并在之后进行系统准备工作。

我已经完成了两种方法,效果很好。

关于SID问题,您应该总是使用Sysprep来创build一个新映像(尽pipeNewSID会起作用),这将解决任何SID问题。但是,还有其他应用程序将GUID写入registry,需要进行清理。 在我的头顶Altiris和WSUS是这样做的两个。

成像是一个失败的主张。 完整的CentOS kickstart安装应该不到10分钟。 如果你的安装比较慢,这是值得研究的问题。

成像的问题在于,您必须保留“黄金”副本,并在更改构build时更新它。 这意味着您仍然需要无人参与安装的机制,并且每个更改都需要进行这样的安装,更改映像(需要一个针对您的环境自动定制的机制),并将此副本作为金色副本。 如果你要直接修改你的金色版本,那么经过多年的修补,升级等,你将很快就会陷入一片混乱。

如果您必须映像系统,那么您应该映像操作系统的默认版本,并使您的后安装工作(本地定制)分别发生在每台新机器上。 这种方式对构build的微小改变不需要重build黄金副本。

如果您的硬件不完全相同,则可以利用安装程序的自动检测/configuration。 我在RedHat / CentOS 3,4和5之间使用了几乎相同的Kickstartconfiguration,以及各种硬件。

我见过的最差的成像结果是一个使用金色图像安装Solaris系统的系统(以及带有multipacks的dd)。 他们的安装和修补非常缓慢,这似乎是有道理的。 不幸的是,他们彻底改变了已安装系统的硬件。 每种硬件types都有自己的黄金形象。 一个微不足道的修改需要在数十个磁盘上进行修改。 第二糟糕的是一个Windows组成像机器(同样由于安装程序瘫痪)与使用Kickstart的Linux组相比较。 Linux团队可以在几分钟内部署一个更改,例如DNSconfiguration。 (一分钟更改postinstall,然后testing版本,然后手动将configuration推送到现有机器)。 Windows组必须启动每个金色图像,进行更改,撤消引导金色图像造成的残留,然后进行testing构build。 (他们还必须购买专用工具来自动更改多台机器上的系统configuration,以更改现有机器)。 Windows团队也可以select重新安装黄金映像来进行更改,但是由于这是手动安装操作系统和几十个应用程序,每次都需要几周的testing,并且生产系统的风险较小完全相同。

请注意,在这两种情况下,使用黄金映像的Windows和Solaris设置都没有以最好的方式进行处理,pipe理员所做的一些select掩盖了缺乏能力。 但是从一个不合理的devise开始并没有帮助。

Kickstart工作得很好,没有理由甚至不考虑做其他事情(我对此有许多小小的抱怨,但如果是由成像机器完成的话,会有一千倍)。 如果您的安装程序是Anaconda之外的其他程序,并且它的自动安装比kickstart没有什么用处,那么您应该考虑这个分发是否真的用于企业用途。

驱动器映像速度更快,但硬件必须非常类似才能正常工作。 定制图像也很困难,您需要Web服务器,电子邮件服务器等的基础映像。通过自动安装,您可以从同一个networking位置安装所有机器,但根据服务器的types使用不同的脚本你想要,而不是需要存储和创build多个图像。

我不能真正评论Linux的一面,但是对于Windows而言,我认为在图像上使用自动化过程没有太多优点。

这里有很多来自微软的指导。

certificate是在布丁。 微软现在对Vista,Windows 2008和Windows 7使用基于图像的部署。使用上面链接中描述的新工具和stream程,您可以将Windows部署到任何HALtypes(包括XP),并且不需要大量的工作。

Microsoft通过使用Sysprep完全支持通过映像部署Windows,以便在部署映像之前“对工厂进行密封”。 Sysprep重置SID并为新机器准备映像。

不过,强烈build议(除非你是一家小公司)有一个完全脚本安装,出于一个简单的原因。 每当你需要更新你的图片,你有两个select:

1)不断修改现有映像,并每次重新系统准备。 这将最终导致问题,因为你不断修补,修改和反复同样的图像。

2)从头开始重新创build图像,这是非常可取的。 但是,如果您没有脚本构build,则会在构build之间产生大量不一致的风险。

总之:

  • 使用脚本构build来创build一个图像
  • 使用图像进行部署

所有这一切的另外一个原因是,Windows Vista,2008和7都使用基于映像的安装,所以使用基于映像和脚本安装的好处已经消失了。

取决于你将要安装的应用程序以及保持图像未更新的时间。

每个月都会有相当多的更新,所以即使从镜像恢复盒子,也需要升级它。

关于SID – 据我所知,如果您生成唯一的私钥[对于SSH,HTTPS,例如对于SMTP / POP3服务器等],这应该很好。 也独特的主机名称代将是不错的。 这可能会有所不同,这取决于分布,我主要使用debian,并没有克隆与该操作系统的虚拟机的任何问题。

看看这个很类似的问题:

https://stackoverflow.com/questions/398410/windows-disk-cloning-vs-automatic-installation-of-servers

(前一阵子我在stackoverflow.com上问,当serverfault.com不在)。

特别是如果你有disparite硬件,我build议自动化。 对于窗户看无人看pipe。

http://unattended.sourceforge.net/