一、系统环境:
    CentOS5.6 32
二、软件:
    cobbler dhcp httpd xinetd tftp-server
三、具体实施:
    1.安装rpmforce
    wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
    rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
    2.安装相关软件
    yum -y install cobbler dhcp httpd xinetd tftp-server
    3.修改一下配置文件:
    /var/lib/cobbler/settings 中的 server 和 next_server 对应的127.0.0.1修改为本服务器的 IP 地址,
    manage_dhcp 设为 1,以便管理 DHCP;将 /etc/xinetd.d/tftp 中 disable no
    4.导入ISO文件
    mkdir -p /mnt/iso
    mount -o loop /dev/cdrom /mnt/iso
    cobbler import --mirror=/mnt/iso --name=CentOS-1.0-i386
    5.查看导入结果
    cobbler distro list
    6.修改 DHCP 和 Kickstart 配置模板
    a.修改DHCP配置模板
    vi /etc/dhcpd.conf
    vi /etc/cobbler/dhcp.template
    以上两个文件的内容相同

       Cobbler批量布署CentOS_Cobbler


   b.修改 Kickstart 配置模板
   mv /var/www/cobbler/kickstarts/CentOS-1.0-i386/ks.cfg /var/www/cobbler/kickstarts/CentOS-      1.0-i386/ks.cfg.bak
  mv /var/www/cobbler/kickstarts/CentOS-1.0-xen-i386/ks.cfg /var/www/cobbler/kickstarts/CentOS-  1.0-xen-i386/ks.cfg.bak
  vi /etc/cobbler/default.ks
  vi /var/www/cobbler/kickstarts/kerryOS-1.0-i386/ks.cfg
  vi /var/www/cobbler/kickstarts/kerryOS-1.0-xen-i386/ks.cfg
  以上三个文件的内容相同

 Kickstart file automatically generated by anaconda.  

#Install OS instead of upgrade  

install  

#Use text mode install   

text  

#Use CDROM installation media   

cdrom  

lang en_US.UTF-8  

keyboard us  

10  

11 #Skip the Configuration  

12 skipx  

13 #Use network installation  

14 url --url=http://192.168.253.130/cobbler/ks_mirror/CentOS-1.0-i386  

15 #Network information   

16 #network --device eth0 --bootproto static --ip 192.168.253.226 --netmask 255.255.255.0 --gateway 192.168.253.1 --nameserver 192.168.253.130 --noipv6 --onboot=yes --hostname CentOS-web-001  

17 network --device eth0 --bootproto dhcp --noipv6 --hostname CentOS-web-001  

18 #root -- 1q2w3e  

19 rootpw --iscrypted $1$n07CbCot$GP.VBeICPHj.QkJb5Y2C2.  

20 firewall --disabled  

21 #System authorization information  

22 authconfig --enableshadow --enablemd5  

23 selinux --disabled  

24 timezone --utc Asia/Shanghai  

25 #System bootloader configuration   

26 bootloader --location=mbr 

27 #Clear the Master Boot Record  

28 zerombr yes  

29  

30 Set the Mouse  

31 mouse generic3ps/2  

32  

33 The following is the partition information you requested  

34 Note that any partitions you deleted are not expressed  

35 here so unless you clear all partitions first, this is  

36 not guaranteed to work  

37  

38 #Partition clearing information  

39 clearpart --all --initlabel  

40 part /boot --fstype ext3 --size=200 --asprimary  

41 part --fstype ext3 --size=10000 

42 part swap --size=2048 

43 part /data --fstype ext3 --size=1 --grow  

44  

45 #--- Reboot the host after installation is done  

46 reboot  

47  

48 %packages  

49 %packages  

50 @base  

51 @core  

52 @development-libs  

53 @development-tools  

54 @editors  

55 @text-internet  

56 keyutils  

57 trousers  

58 fipscheck  

59 device-mapper-multipath  

60 imake  

61  

62 %post --nochroot  

63 Mount CDROM  

64 mkdir -p /mnt/cdrom  

65 mount -r -t iso9660 /tmp/cdrom /mnt/cdrom  

66 cp /mnt/cdrom/ipmod /mnt/sysp_w_picpath/root/ipmod /dev/null  

67  

68 umount /mnt/cdrom  

69  

70 %post  

71 #vim syntax on  

72 sed -i "8 s/^/alias vi='vim'/" /root/.bashrc 2>/dev/null  

73 echo 'syntax on' /root/.vimrc 2>/dev/null  

74  

75 #init_ssh  

76 ssh_cf="/etc/ssh/sshd_config" 

77 sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' $ssh_cf  

78 sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf  

79  

80 #client  

81 sed -i -e '44 s/^/#/' -i -e '48 s/^/#/' $ssh_cf  

82  

83 Remove the ISO File translation files  

84 find -name TRANS.TBL -exec rm {} \; /dev/null 2>/dev/null  

85  

86 Remove some unneeded services  

87 #--------------------------------------------------------------------------------  

88 cat << EOF 

89 +--------------------------------------------------------------+  

90 === Welcome to Tunoff services ===  

91 +--------------------------------------------------------------+  

92 EOF  

93 #---------------------------------------------------------------------------------  

94 for in `ls /etc/rc3.d/S*`  

95 do  

96     CURSRV=`echo $i|cut -c 15-`  

97 echo $CURSRV  

98 case $CURSRV in  

99         crond irqbalance microcode_ctl network random sshd syslog local  

100     echo "Base services, Skip!"  

101     ;;  

102     *)  

103         echo "change $CURSRV to off"  

104         chkconfig --level 235 $CURSRV off  

105         service $CURSRV stop  

106     ;;  

107 esac  

108 done  

109  

110 file descriptors  

111 ulimit -HSn 65535  

112  

113 echo -ne  

114 soft nofile 65536  

115 hard nofile 65536  

116 >>/etc/security/limits.conf  

117  

118 #set sysctl  

119 true /etc/sysctl.conf  

120 cat >> /etc/sysctl.conf << EOF 

121 net.ipv4.ip_forward 

122 net.ipv4.conf.default.rp_filter 

123 net.ipv4.conf.default.accept_source_route 

124 kernel.sysrq 

125 kernel.core_uses_pid 

126 net.ipv4.tcp_syncookies 

127 kernel.msgmnb 65536 

128 kernel.msgmax 65536 

129 kernel.shmmax 68719476736 

130 kernel.shmall 4294967296 

131 net.ipv4.tcp_max_tw_buckets 6000 

132 net.ipv4.tcp_sack 

133 net.ipv4.tcp_window_scaling 

134 net.ipv4.tcp_rmem 4096 87380 4194304  

135 net.ipv4.tcp_wmem 4096 16384 4194304  

136 net.core.wmem_default 8388608 

137 net.core.rmem_default 8388608 

138 net.core.rmem_max 16777216 

139 net.core.wmem_max 16777216 

140 net.core.netdev_max_backlog 262144 

141 net.core.somaxconn 262144 

142 net.ipv4.tcp_max_orphans 3276800 

143 net.ipv4.tcp_max_syn_backlog 262144 

144 net.ipv4.tcp_timestamps 

145 net.ipv4.tcp_synack_retries 

146 net.ipv4.tcp_syn_retries 

147 net.ipv4.tcp_tw_recycle 

148 net.ipv4.tcp_tw_reuse 

149 net.ipv4.tcp_mem 94500000 915000000 927000000  

150 net.ipv4.tcp_fin_timeout 

151 net.ipv4.tcp_keepalive_time 1200 

152 net.ipv4.ip_local_port_range 1024 65535  

153 EOF  

154  

155 /sbin/sysctl -p  

156  

157 #close ctrl+alt+del  

158 sed -i "s/ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/#ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/" /etc/inittab  

159  

160 #set purview   

161 chmod 600 /etc/passwd  

162 chmod 600 /etc/shadow  

163 chmod 600 /etc/group  

164 chmod 600 /etc/gshadow 


  7.生成并同步所有配置

  cobbler sync

  8.启动相关的服务

   /etc/init.d/httpd start
   /etc/init.d/xinetd start
   /etc/init.d/dhcpd start
   /etc/init.d/cobblerd start

   chkconfig --level 35 httpd on
   chkconfig --level 35 xinetd on
   chkconfig --level 35 dhcpd on
   chkconfig --level 35 cobblerd on

   9.记得关闭防火墙和selinux

   10.客户端通过PXE安装系统
   启动另一台新服务器,通过 PXE 启动进入,提示"boot:"时输入"menu"即可进入蓝色 的Cobbler 安装界面,选择安装项,自动完成系统安装。