一、系统环境:
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
以上两个文件的内容相同
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
以上三个文件的内容相同
1 # Kickstart file automatically generated by anaconda.
2 #Install OS instead of upgrade
3 install
4 #Use text mode install
5 text
6 #Use CDROM installation media
7 cdrom
8 lang en_US.UTF-8
9 keyboard us
10
11 #Skip the X 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 i 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 = 0
122 net.ipv4.conf.default.rp_filter = 1
123 net.ipv4.conf.default.accept_source_route = 0
124 kernel.sysrq = 0
125 kernel.core_uses_pid = 1
126 net.ipv4.tcp_syncookies = 1
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 = 1
133 net.ipv4.tcp_window_scaling = 1
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 = 0
145 net.ipv4.tcp_synack_retries = 1
146 net.ipv4.tcp_syn_retries = 1
147 net.ipv4.tcp_tw_recycle = 1
148 net.ipv4.tcp_tw_reuse = 1
149 net.ipv4.tcp_mem = 94500000 915000000 927000000
150 net.ipv4.tcp_fin_timeout = 1
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 安装界面,选择安装项,自动完成系统安装。