一.实现过程
PXE称为网络批量部署安装,且可支持多版本选择安装,方便快捷。具体实现过程如下:
2.1 DCHP服务器
要求可以正常分配ip并且指定TFTP服务器
2.2 TFTP 服务器
存放系统安装所需要的引导文件pxelinux.0文件、启动菜单、内核vmlinuz及initrd.ing、ks无人值守配置文件
启动菜单:有两种菜单类型可以选择
1、menu.c32为菜单主程序(不可修改),添加配置文件即可
2、boot.msg general.msg options.msg param.msg rescue.msg为菜单配置,可 手动修改
2.3 准备下载镜像服务器HTTP/FTP/移动介质
准备客户端获取系统镜像文件及自动安装配置文件ks.cfg的服务器(FTP NFS Samaba 等都可以 这里用HTTP)
(注:客户端需要获取的安装文件和自动安装ks文件放在这里,客户端选读取ks文件再根据ks文件里面的具体配置进行安装)
Linux版
首先关闭防火墙(service iptables stop)
注:防火墙默认不允许dhcp、tftp、http通过,所以为了简便直接把防火墙关闭.
3.1 安装配置DHCP服务器
[root@TJ-2013 ~]# yum -y install dhcp #安装dchp.
[root@TJ-2013 ~]# vim /etc/dhcp/dhcpd.conf #修改dhcp配置文件.
默认配置文件什么都没有,提示参考文件/usr/share/doc/dhcp*/dhcpd.conf.sample或者查看帮助文件;
[root@TJ-2013 ~]# cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
查看参考文件如下图:
可以把这个文件直接复制并覆盖 /etc/dhcp/dhcpd.conf文件,然后再修改这个文件,因为这个参考文件的内容比较多,这里直接保留需要的东西,其他的都删除。如下:
[root@TJ-2013 dhcp]# vim /etc/dhcp/dhcpd.conf
option domain-name-servers 8.8.8.8; #域名服务器ip
default-lease-time 600; #指定缺省租约时间,单位是秒
max-lease-time 7200; #指定最大租约时间,单位是秒
subnet 10.0.1.0 netmask 255.255.255.0 { #指定作用网络和子网掩码
range dynamic-bootp 10.0.1.2 10.0.1.100; #指定起始ip和终止ip地址
option broadcast-address 10.0.1.255; #指定广播地址
option routers 10.0.1.1; #指定默认网关
server-name “10.0.1.11”; #通知dhcp客户,服务器的地址 filename “pxelinux.0”; #启动引导文件的文件名和路径,
}
保存退出!
[root@TJ-2013 ~]# service dhcpd start #启动dhcpd服务
[root@TJ-2013 ~]# chkconfig dhcpd on #设置开机启动
3.2 配置TFTP、syslinux、xinetd
[root@TJ-2013 ~]# yum -y install tftp-server syslinux xinetd
[root@TJ-2013 ~]# vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #tftp目录的根目录
disable = yes #把yes改成no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@TJ-2013 ~]# service xinetd start # tftp依靠xinetd启动
[root@TJ-2013 ~]# chkconfig tftp on #设置开机启动
[root@TJ-2013 ~]# chkconfig xinetd on #设置开机启动
3.3 为tftp准备pxe所需要文件
1.拷贝启动引导文件到tftp目录/var/lib/tftpboot
[root@TJ-2013 /]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
2.创建启动菜单配置文件夹
[root@TJ-2013 /]# mkdir /var/lib/tftpboot/pxelinux.cfg
3.挂载centos6.3系统光盘,并拷贝需要的系统安装文件default
[root@TJ-2013 /]# mount /dev/cdrom /mnt
[root@TJ-2013 /]# cd /mnt
[root@TJ-2013 mnt]# ls
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
4.从光盘中提取启动引导配置菜单到工作目录的下的pxelinux.cfg目录下。稍后根据要引导安装的系统修改菜单的内容。
注:为方便安装可以复制全部isolinux文件夹内容。不过isolinux.cfg必须放到pxelinux.cfg文件夹中并改名。
[root@TJ-2013 mnt]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@TJ-2013 mnt]# cp /mnt/isolinux/boot.msg /var/lib/tftpboot/pxelinux.cfg/
[root@TJ-2013 mnt]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/pxelinux.cfg/
5.从光盘中提取准备要安装系统的安装引导内核文件
[root@TJ-2013 tftpboot]# cd /mnt/images/pxeboot/
[root@TJ-2013 pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
6.修改default文件
[root@TJ-2013 pxelinux.cfg]# vi /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32 #默认使用图形菜单
default vesamenu.c32 #默认使用图形菜单
#prompt 1 #不使用图形时,启用该项
timeout 600 #引导菜单的等待时间,自动安装的话得把这个时间调小,
#display boot.msg #文本背景模式
menu background splash.jpg #图形背景模式
menu title Welcome to CentOS 6.3! #菜单标题
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 #把linux改成centos6.3
menu label ^Install or upgrade an existing system
menu default #等待时间过后默认加载的选项
kernel vmlinuz
append initrd=centos6.3/initrd.img ks=http://10.0.1.11/ks.cfg
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
3.4 安装http,修改ks文件
1.安装dhcp,并把系统光盘中的所有内容复制到http目录/var/www/html #这个目录主要做共享文件用
[root@TJ-2013 pxelinux.cfg]# yum -y install httpd #安装http
[root@TJ-2013 pxelinux.cfg]#service httpd start #启动http服务
[root@TJ-2013 pxelinux.cfg]#chkconfig httpd on #设置开机启动
[root@TJ-2013 html]# cp -rf /mnt/* /var/www/html/ #拷贝光盘文件到html目录
2.复制并修改ks文件
默认的linux在安装完成后会在/root目录下自动生成一个anaconda-ks.cfg文件,只需要把这个文件修改一下就可以了,修改后的文件要放到共享目录/var/www/html下面并且改名为ks.cfg。如下:
[root@TJ-2013 ~]# cp /root/anaconda-ks.cfg /var/www/html/ks.cfg #拷贝并改名为ks.cfg
[root@TJ-2013 ~]# vi /var/www/html/ks.cfg #编辑ks文件
# Kickstart file automatically generated by anaconda.
install
url –url=”http://192.168.1.11/” #获取文件的服务器ip地址,就是现在这台机器ip
lang en_US.UTF-8 #设置语系
keyboard us #键盘类型
network –onboot yes –device eth0 –bootproto dhcp –noipv6 #网络配置
rootpw –iscrypted $1$0BOd5js0$pw3awOY8ahzKSNexO5Obj #密码设置
firewall –disabled #设置防火墙开启enable或关闭disabled
authconfig –enableshadow –enablemd5 #加密方式
selinux –disabled #selinux开启或关闭,
timezone Asia/Shanghai #设置时区,这里是上海
Zerombr #设置主引导信息MBR
bootloader –location=mbr –driveorder=sda –append=”crashkernel=auto rhgb quiet”
clearpart –all –initlabel #分区信息设置分区大小
part /boot –fstype ext3 –size=100
part / –fstype ext3 –size=10000
part swap –size=2048
part /home –fstype ext3 –size=100 –grow
Reboot
skipx
%packages #选择要安装的软件包,可以最简安装,也可以选择其他软件包
@base
@core
%end
Ks文件因为牵扯东西比较多,具体详细的说明可以参考下面这个文章
总结一下:制作pxe安装服务器主要是安装这几个东西dhcp tftp-server syslinux httpd,要修改的文件主要就这4个/var/lib/tftpboot/pxelinux.cfg/default、/etc/dhcp/dhcpd.conf /var/www/html/ks.cfg /etc/xinetd.d/tftp。
3.5 启动客户端开始安装
以此次服务器为例,不使用ks安装,启动机器按F12选择网络启动.
No comments:
Post a Comment