批量安装不同版本的linux [2010年]:
  目的,奇虎网(360杀毒)有数千台机器在线上运营,装机效率和质量是一个非常重要的环节,
以以下的方法安装linux可以将安装过程的时间控制在2~5分钟内。

  前提条件是linux安装源,pxe安装(或U盘),为了辅助安装,我制做了一个能支持所有奇虎现役服务器硬件的minilinux,帮助灌入centos5.4。
  这个minilinux是向着生产目标打造的,但在这里,只用来辅助安装完成一个常态安装结果的centos。
  在下图中你也能看到——我有通过Kickstart的安装方法,这里不做讨论,它相对于我的安装法要慢很多。

  所有演示均在实验环境中,而非生产环境。

图1 下图是通过pxe的boot过程,(用U盘来安装则省去网络启动和菜单这一步,直接从图3开始)。


图2 选择不带虚拟化支持的启动用linux(37M)。(那些带虚拟化支持的选项用于其它方案——小型化功能服务器)


图3 这个启动用linux已经绑定了一些基本服务。


图4 通过终端远程登录,选择安装版本,并且以脚本进行安装。


图5 脚本在安装前会自动检查硬件和核对MAC地址表取得配置,并列表出来,这个列表可以手工修改。


运行过程中按分区策略分区和格式化硬盘后,开始灌入系统,
灌入系统后,运行post install安装一些预置的包,最后一步会写入这些配置。

图6 运行过程 [除了分区和格式化分区信息之外,其它安装信息均设置为不输出,你能看到的就这些了。]:


安装完成后,运行: /install/umount.sh; cd /; setdown.sh
然后用reboot重启系统。

灌入前启动用的linux(37M),支持主流dell、HP、IBM、Intel服务器,
支持ext2/3/4、xfs、reiserfs3、zfs15、ntfs、vfat、ufs文件系统
集成ssh、ftp、nfs、rsync、ftp服务,帮助迁移文件.
这个系统不会用于线上生产环境.

这个灌入后的linux额外支持ext4、xfs、zfs15,额外支持vmware的pvscsi驱动.

图7 启动用的linux(37M)中的zfs文件系统相关模块.



    2012-01-11

    前段时间有人问我是不是把/boot区做了dd,/区做了备份,情况并不是这样,
    某个版本的linux(如centOS5.4),我只做一个样本,把所有分区按顺序mount到一个目标目录中,用tar或cpio打一个完整包,并且做到在HP、DELL、INTEL、微星、普通PC机上都能够安装。。
    灌入过程是这样:
    一、通过网络启动一个miniLinux。
    二、运行脚本灌入:
        1.自动以gpt方式分区,包括lvm卷,文件系统可选为ext3,ext4,xfs,reiserfs, 格式化分区。(我在实验环境分的区很小)
        2.把所有分区mount到目标系统的mount点,也就是/;把tar包展开灌进去。
        3.脚本根据硬件检测(阵列和硬盘控制器、网卡)造出/boot/initrd-2.6.*.*-***.img
        4.脚本造出/boot/grub/grub.conf和/etc/fstab,造出网络配制文件。
        5.建立系统引导记录
        6.展开一些软件包,建立影子帐号、监控、安全策略等等配置文件。。。
        7.显示分区信息。
    三、这个系统已经可以重启了。(下面就是移交给运营和业务部门)