实验环境:vmworkstation10,centos6.5,远程终端xshell,操作系统已经安装过apache。虚拟机的ip为192.168.1.55。
网络安装服务器需要启动的服务。
DHCP:用来给客户机启动时分配IP,并告诉客户机到tftp服务器上找启动安装系统的引导程序。
tftp:负责提供启动系统引导程序,引导内核等。
文件服务器:提供安装过程中需要的软件包,kickstart应答文件等。
客户机需要把网络接入与服务器同一网络,并设备bios允许网络启动,保证第一启动项为网络引导。
安装配置dhcp服务
|
# rpm -qa dhcp #查看dhcp包有没有安装,如果没有安装执行下一步安装,已安装过跳过下一步。
# yum -y install dhcp #使用yum安装dhcp
|
#vim /etc/dhcp/dhcpd.conf #编辑dhcp的配置文件,可以参考/usr/share/doc/dhcp<与dhcp包版本同名>/dhcpd.conf.sample 。这是dhcp配置文件的模版。option开头的行是给客户端配置网络信息,剩下都配置都是配置dhcp服务器端工特性。我这里的配置文件如下。
|
option domain-name "wukui.com"; #客户机所属的域
option domain-name-servers 8.8.8.8; #分配给客户机制dns
default-lease-time 600; #租约时间,以秒为单位。
max-lease-time 7200; #最大租约时间,以秒为单位
log-facility local7; #记录DHCP服务器目录级别
subnet 192.168.1.0 netmask 255.255.255.0{ #标记要分配的网络,{}中为一个整体。
range 192.168.1.60 192.168.1.100; #地址池
option routers 192.168.1.1; #客户端的默认网关
next-server 192.168.1.55; #这里在网络安装操作系统时才用的到,指定客户机得到网络配置后第一个要找的tftp服务器。
filename "pxelinux.0" ; #指定读取tftp服务器上的文件。
host winxp { #这段用来指定某个MAC地址获取指定IP的。这里用不到这段,只是用来做个提示给单个主机分配IP的方法。
hardware ethernet 00:11:22:33:44:55; #硬件地址
fixed-address 192.168.1.88; #给这个硬件地址分配的IP
option routers 192.168.1.1; #分配给这个IP地址主机的的网关
}
}
|
安装配置tftp服务器。tftp包是客户端,tftp-server为服务器湍。tftp依赖超级守护进程xinetd启动监听服务,xinetd必须启动才可以使用tftp服务。
|
#yum -y install tftp-server
#yum -y install tftp
#vim /etc/xinetd.d/tftp #修改disable的值为no,其它不用修改。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #修改这里的值为no,这样xinetd启动后就会替tftp监听端口。
per_source = 11
cps = 100 2
flags = IPv4
}
|
重记xinetd服务,并测试tftp。
|
# service xinetd restart #重启xinetd服务,以让其监听tftp服务。
#rpm -ql tftp-server #查看tftp-server软件包都生成了那些文件,这里主要看它提供服务的目录在什么地方
/etc/xinetd.d/tftp
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-0.49
/usr/share/doc/tftp-server-0.49/CHANGES
/usr/share/doc/tftp-server-0.49/README
/usr/share/doc/tftp-server-0.49/README.security
/usr/share/doc/tftp-server-0.49/README.security.tftpboot
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot #提供服务的主目录
|
对tftp做测试,看下能否正常上传下载文件。进入tftp后无法使用像ls之类的命令。使用help可以获取使用帮助
|
#ss -unl | grep 69 #查看tftp使用udp 69端口是否监听。
#cp /etc/passwd /var/lib/tftpboot/
#tftp 192.168.1.55
>get passwd
>quit
#ls passwd #看下是否能够下载文件。确保tftp服务没问题。
|
把启动需要的文件拷贝到tftp目录下。以下对每个文件作用简单描述。
pxelinux.0 类似于grub的引导程序,文件位于/usr/shate/syslinux/pxelinux.0。加载它后会出现一个类似grub的命令行。然后加载tftp上的linux内核和ramdisk。再加载anaconda(fedora维护的软件,用来安装操作系统)开始安装系统。
vesamenu.c32 pxelinux.0 加载时的图形界面。
splash.jpg 加载图形内面的背景图片。
isolinux.cfg 图形界面显示的内容的功能配置文件,我这里主要在此文件中指定安装操作系统自动应答文件。此文件必须复制到tftp主目录下的pxelinux.cfg目录下,文件名必须为default
以上三个文件在光盘上的isolinux目录下
vmlinuz 网络引导启动的linux内核。
initrd.img 帮助内核加载客户机大磁盘的驱动。
以上两个文件在光盘上的image/pxeboot目录下
|
配置文件
default vesamenu.c32
timeout 60 #指定超时时间为6秒。
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.5!
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
label linux
menu label ^start install system
menu default
kernel vmlinuz ks= #给内核传参数,指定配置文件的位置。
append initrd=initrd.img
|
至此启动工作配置文完,接下来配置文件服务器和kickstart自动应答文件。文件服务使用apache。由于我的系统安装后就已经安装了httpd服务。所以直接启动就可以了。
准备操作系统安装文件
|
# service httpd start #启动apache
# cp -r /media/* /var/www/html/centos/ # 把操作系统安装过程中需要的文件复制到网站根目录下的centos目录下
制作kickstart自动应答文件
模板文件是/root/anaconda-ks.cfg,可以参考此文件。还可以使用图形配置工具system-config-kickstart,用这个工具来配置应答文件。这个软件需要安装。
# yum -y install system-config-kickstart
# system-config-kickstart #启动图形配置窗口,我试过在putty不可以使用。启动后的界面如下。
|
配置时区和root的密码
安装操作系统时所需要的文件url。这里指向我的光盘文件。
分区配置,与grub安装配置。不过不支持LVM,想要使用LVM需要参考模板文件,手动添写。分区根据自己的情况而定,注意备份数据。!!
这里选择要安装的软件包
还有安装执行的脚本等等。最后点file按钮保存文件,文件保存在当前的工作目录里。
把应答文件放在apache的根目录下,要确保可以访问到。并且保证/var/lib/tftpboot/pxelinux.cfg/default文件中kernel vmlinuz ks=http://192.168.1.55/ks.cfg 指向正确r的应答文件。
(责任编辑:IT) |