一台centos6.4作为安装服务器和引导服务器(centos6.4没有xwindow)

IP:192.168.1.8


一台客户机client,用于测试自动化安装ubuntu12.04


实验需要配置的服务

DHCP 服务器用来给客户机分配IP

TFTP 服务器用来存放PXE的相关文件,比如:系统引导文件

FTP 服务器用来存放系统安装文件

KickStart所生成的ks.cfg配置文件

带有一个 PXE 支持网卡的将安装的主机,并且把第一启动项改为从网络启动


首先配置一台ftp服务器,匿名访问目录为/share,ubuntu-12.04.4-alternate-amd64.iso镜像解压后存放目录/share/ubuntu

shell> mount -o loop ubuntu-12.04.4-alternate-amd64.iso /mnt
shell> cd /mnt
shell> rpm -ivh vsftpd 
shell> mkdir /share/ubuntu
shell> cp –rf /mnt/* /share/ubuntu
shell> chmod 755 -R /share/ubuntu


配置ftp server主目录为/share

-------------------------------------

anonymous_enable=yes
anon_root=/share
shell> chkconfig vsftpd on

-------------------------------------


无人值守安装的大致过程

A.client网卡启动pxe程序从服务器获取IP信息

B.client从server获取IP和pxelinux.0文件位置

C.client可以从server获取pxelinux.0文件

D.client从default文件获取内核文件名称,并且内核文件已存在,启动tftp下载系统内核文件vmlinuz等

E.client从default文件获取ks.cfg文件ftp路径,并下载配置文件

F.ks.cfg配置文件路径中有安装镜ftp路径,以及安装过程中配置参数

G.client启动自动安装过程


>>>>>       安装步骤--服务器配置

A.client网卡启动pxe程序从服务器获取IP信息


安装dhcp服务,同时修改配置

shell> yum install dhcp -y
shell> vi /etc/dhcp/dhcpd.conf

-----------------------------------

allow booting;
allow bootp;
next-server 192.168.1.8;     #PXE服务器的IP
filename "pxelinux.0";            #文件位置,相对于tftp根目录
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.159; #动态分配的IP段
option routers 192.168.1.8;      #一个虚假的网关,禁止测试机联网
}

------------------------------------


启动dhcp服务

shell> service dhcpd restart
shell> chkconfig dhcpd on

B.server DHCP服务器配置完成,client从server获取IP和pxelinux.0文件位置


安装tftp

shell> yum install -y xinetd tftp-server


修改tftp配置文件

----------------------------------------

shell> vim /etc/xinetd.d/tftp
server_args = -s /tftpboot         #这个目录可以不用改
disable = no          #改成no

----------------------------------------

shell> service xinetd start
shell> chkconfig xinetd on


复制pxelinux.0文件及引导文件到tftp根目录/tftpboot

shell> cp  /share/ubuntu/install/vmlinuz /tftpboot/
shell> cd  /share/ubuntu/install/netboot/ubuntu-installer/amd64/
Shell> cp  initrd.gz pxelinux.0  /tftpboot/

#复制安装菜单背景

Shell> cd ./boot-screens
Shell> cp vesamenu.c32 splash.png /tftpboot/

             

C.server TFTP服务配置完成,client可以从server获取pxelinux.0文件

配置启动项菜单

shell> cd /tftpboot
shell> mkdir /tftpboot/pxelinux.cfg
shell> vim pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 100
menu background splash.png
menu title Welcome to linux install!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
#  menu label ^Install or upgrade an existing system
label ubuntu12.04
  menu default
  kernel vmlinuz
  append vga=788 initrd=initrd.gz ks=ftp://192.168.1.8/ubuntu/ks/ks.cfg -- quiet

----------------------------------

D.client获取default配置文件,并启动tftp下载系统内核文件vmlinuz等

安装kickstart,同时在gnome环境下配置kickstart

shell> yum install system-config-kickstart

#在ubuntu下用ssh图形调用centos6.4

shell> ssh -X user@192.168.1.8   #虚拟机中调用
ubuntu> system-config-kickstart    #图形界面调用


在图形界面配置安装参数,然后保存生成的ks.cfg参数文件

shell> mkdir /share/ubuntu/ks
shell> vim /share/ubuntu/ks/ks.cfg   #生成的安装配置文件

--------------------------------

----------------------------------

#Generated by Kickstart Configurator
platform=AMD64 or Intel EM64T
#System language
lang en_US 
#Language modules to install
langsupport zh_CN --default=en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone --utc Asia/Shanghai    #时区
#Root password
rootpw --iscrypted $1$mMY45BNP$aIAncq5gW/ulyk9Hgps3T/   #root用户
#Initial user
user test1 --fullname "test1" --iscrypted --password $1$ZlJ6HBGC$D3CZ9rLJMWOVHcYk8KFlB0                   #测试账户,密码为test1
#Reboot after installation
#reboot                   #重启
#Use text mode install
text                  
#Install OS instead of upgrade
install
#Use Web installation
url --url ftp://192.168.8.8/ubuntu      #网络安装路径
#System bootloader configuration
bootloader --location=mbr 
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel         #清除所有分区
#Disk partitioning information
part / --fstype ext4 --size 20000
part /home --fstype ext4 --size 20000
part /boot --fstype ext4 --size 200
part swap --size 2000
#System authorization infomation
auth  --useshadow  --enablemd5
#Network information
#network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#X Window System configuration information
xconfig --depth=8 --resolution=1600x900 --defaultdesktop=GNOME
%packages
@ubuntu-desktop      #可选项,安装桌面环境
%post                #安装后脚本
hostname
echo “ubuntu” > /etc/hostname
hostname ubuntu


E.client从default文件获取ks.cfg文件ftp路径,并下载配置文件


F.ks.cfg配置文件路径中有安装镜ftp路径,以及安装过程中配置参数


G.client启动自动安装过程


待测试主机boot order顺序把network调到第一项,表示首先从网络引导,然后开机测试