这里使用的Server环境是

Ubuntu Server 12.04

1、安装所需软件包

 

# apt-get install  system-config-kickstart dhcp3-server tftpd-hpa tftp-hpa debmrror 
安装配置一下VNC,并开户远程连接上去,VNC的配置省略
# system-config-kickstart
弹出上面的一个图形界面配置窗,配置完成之后,保存文件到/var/www/ubuntu/下,命令为ks.cfg,为以后提供服务打下基础

Ubuntu配置PXE+Kickstart+TFTP+DHCP实现快速布署Linux操作系统_第1张图片

当然,也可以直接自己写Kikcstart文件,是一样的

2、配置DHCP服务

 

   
   
   
   
  1. root@node1:~# vim /etc/dhcp/dhcpd.conf 
  2. subnet 1.0.0.0 netmask 255.0.0.0 { 
  3. range 1.1.1.210 1.1.1.253; 
  4. option routers 1.1.1.254; 
  5. option domain-name-servers 8.8.8.8;
  6. default-lease-time 600; 
  7. max-lease-time 7200; 
  8. next-server 1.1.1.1; 
  9. filename "pxelinux.0";  //注意文件名,这里是数字0

一定要注意上面指定的文件名,如果写错了,会出现以下错误

使用以下命令启动dhcpd服务

# dhcpd    启动dhcp服务,如果有脚本,也可以使用脚本启动/etc/init.d/dhcp3-server start

通过/var/log/syslog可以看到日志

 

   
   
   
   
  1. Jul 18 00:48:34 node1 dhcpd: DHCPOFFER on 1.1.1.210 to 00:0c:29:31:95:8f (node20) via eth0 
  2. Jul 18 00:48:34 node1 dhcpd: DHCPREQUEST for 1.1.1.210 (1.1.1.1) from 00:0c:29:31:95:8f (node20) via eth0 
  3. Jul 18 00:48:34 node1 dhcpd: DHCPACK on 1.1.1.210 to 00:0c:29:31:95:8f (node20) via eth0 
  4. Jul 18 00:50:03 node1 dhcpd: DHCPREQUEST for 1.1.1.210 from 00:0c:29:31:95:8f (node20) via eth0 

3、配置tftp服务,这里保持默认就可以

 

   
   
   
   
  1. root@node1:/var/lib/tftpboot# cat /etc/default/tftpd-hpa  
  2. # /etc/default/tftpd-hpa 
  3.  
  4. TFTP_USERNAME="tftp" 
  5. TFTP_DIRECTORY="/var/lib/tftpboot" 
  6. TFTP_ADDRESS="0.0.0.0:69" 
  7. TFTP_OPTIONS="--secure" 

 

   
   
   
   
  1. # /etc/init.d/tftpd-hpa start            //启动服务 
  2. # cd /var/lib/tftpboot/ 
  3. # mount /dev/cdrom /mnt            //挂载系统光盘到/mnt下 
  4. # cp -a /mnt/install/netboot/* .        /拷贝系统启动文件到当前目录,注意后面有个. 

修改配置文件,添加以下红字内容

ks=http://1.1.1.1/ubuntu/ks.cfg

   
   
   
   
  1. root@node1:/etc/apache2/sites-enabled# cat /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg  
  2. default install 
  3. label install 
  4.     menu label ^Install 
  5.     menu default 
  6.     kernel ubuntu-installer/amd64/linux 
  7.     append ks=http://1.1.1.1/ubuntu/ks.cfg vga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet  
  8. label cli 
  9.     menu label ^Command-line install 
  10.     kernel ubuntu-installer/amd64/linux 
  11.     append tasks=standard pkgsel/language-pack-patternspkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet  

4、配置WEB服务,可以使用apache或者Nginx提供

 

   
   
   
   
  1. 这里使用的是apache2提供 
  2. # cd /etc/apache2/sites-enabled 
  3. <VirtualHost *:80> 
  4.     ServerAdmin webmaster@localhost 
  5.  
  6.     DocumentRoot /var/www/ 
  7.     <Directory /> 
  8.         Options FollowSymLinks 
  9.         AllowOverride None 
  10.     Directory> 
  11.     <Directory /var/www/> 
  12.         Options Indexes FollowSymLinks MultiViews 
  13.         AllowOverride None 
  14.         Order allow,deny 
  15.         allow from all 
  16.     Directory> 
  17. VirtualHost> 

5、新建一个虚拟机测试

 

Ubuntu配置PXE+Kickstart+TFTP+DHCP实现快速布署Linux操作系统_第2张图片

 

 

Ubuntu配置PXE+Kickstart+TFTP+DHCP实现快速布署Linux操作系统_第3张图片

稍等一会儿,就安装完成了!

注意:

DHCP配置的时候,如果没有分配DNS,客户端安装就会卡在这里

 

Ubuntu配置PXE+Kickstart+TFTP+DHCP实现快速布署Linux操作系统_第4张图片