装机环境
1, win7的电脑中经过vmware workstation装了一台redhat6.7的虚拟机做为服务端,若是电脑系统是linux则选择KVM来安装linux虚拟机
2,服务器的ip是使用的桥接模式获取的,最好是把服务端IP固定linux
3,服务端须要安装如下服务器
服务端ip 192.168.1.105
DHCP服务器 分配IP地址,定位引导程序
DNS服务器 为客户机分配主机名(可选)
TFTP服务器 使用的UDP协议 不须要验证 速度块,为客户机提供引导程序下载
FTP/HTTP/NFS 提供yum源为客户端安装软件bootstrap
4,PXE的原理与流程vim
- 客户机从本身的 PXE 网卡启动,向本网络中的 DHCP 服务器索取 IP,并搜寻引导文件的位置。
- DHCP 服务器返回分给客户机 IP 以及 bootstrap 文件的放置位置(该文件通常是放在一台 TFTP 服务器上)。
- 客户机向本网络中的 TFTP 服务器索取 bootstrap 文件。客户机取得 bootstrap 文件后之执行该文件。根据 bootstra 的执行结果,经过 TFTP 服务器加载内核和文
件系统,进入安装画面, 此时能够经过选择 FTP,HTTP,NFS 方式之一进行安装。
5,安装过程服务器
(1)服务端搭建yum仓库
我使用的挂载本地镜像源,把光盘当作文件系统挂到OS中,设置成开机自启动,
[root@C pxelinux.cfg]# cat /etc/fstab |grep -i ftp
/dev/cdrom /var/ftp/rhel6 iso9660 defaults,loop 0 1
[root@C pxelinux.cfg]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 15G 2.3G 87% /
tmpfs 932M 136K 931M 1% /dev/shm
/dev/sda1 283M 41M 228M 16% /boot
/dev/sr0 3.6G 3.6G 0 100% /var/ftp/rhel6
(2) DHCP服务的配置
1.安装dhcp软件包
2.修改主配置文件/etc/dhcp/dhcpd.conf
:r /usr/share/doc/dhcp*/dhcpd.conf.sample网络
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20; #指定DHCP服务分配地址的范围
option domain-name-servers 192.168.1.105; #指定DHCP服务器
next-server 192.168.1.105; #指定客户端找的下一个服务器的的地址,也就是TFTP服务器
filename "pxelinux.0"; #指定PXE程序引导文件名
option routers 192.168.1.1;
}app
检查DHCP语法是不是正确的 配置语法检查:service dhcpd configtest
3.启动dhcpd服务并设置为开机自起
找个其余的虚拟机测试是否能够从192.168.1.105获取ip
dhclient -d eth0
服务端dhcp的分配IP的档案查看租约文件: /var/lib/dhcpd/dhcpd.leases
客户端查看得到过哪些dhcp服务器分配的IP查看租约文件 /var/lib/dhclient/dhclient-eth0.leasesdom
(3) TFTP服务器的安装与配置
TFTP是临时服务由xinetd管理,安装TFTP并去/etc/xinetd.d/tftp把服务启用,最好设置开机自启动
资源根目录是 /var/lib/tftpboot
3)读取启动配置(pxelinux.cfg/default)
根据用户选择(或超时自动选择)下载指定的vmlinuz和initrd.img
把光盘内的/var/ftp/rhel6/images/pexboot/下的文件 initrd.img 和vmlinuz拷到tftp的家目录
/var/lib/tftpboot
准备pxelinux.0(网卡引导文件)
# yum provides */pxelinux.0 #查询由那个包产生的
# yum -y install syslinux-nonlinuxide
# rpm -ql syslinux-nonlinux | grep pxelinux.0工具
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 把网卡引导文件也拷贝到TFTP的家目录下面
# ls /var/lib/tftpboot/
[root@C tftpboot]# ll
total 39716
-r--r--r-- 1 root root 36411002 Dec 12 20:21 initrd.img #redhat6系统的镜像文件
-rw-r--r-- 1 root root 26759 Dec 12 20:30 pxelinux.0 #引导文件
drwxr-xr-x 2 root root 4096 Dec 12 20:40 pxelinux.cfg #引导文件的配置,选择哪一个系统
-r-xr-xr-x 1 root root 4222192 Dec 12 20:21 vmlinuz #redhat6的临时文件系统
4,如何配置网卡引导配置文件
[root@C pxelinux.cfg]# cat default
prompt 1
timeout 600 #超时的时间
default rhel6 #默认选择的系统的标签
label rhel6 #标签名称
kernel vmlinuz #在/var/lib/tftpboot/加载vmlinuz
append initrd=initrd.img #导入镜像文件oop
5.什么是Kickstart?
预先提供应答文件,定义好各类安装设置
免去交互过程,实现全自动化安装
添加%post脚本,可执行安装后的各类配置
6.生成kickstart的方法有哪些?
/root/anaconda-ks.cfg 找一台已经安装系统的详细过程模板
服务端须要安装 安装system-config-kickstart工具
7,使用kickstart自动安装,须要修改,把/root/anaconda-ks.cfg拷贝到FTP家目录下面
达到自动配置客户机的需求
# vim /var/lib/tftpboot/pxelinux.cfg/default
default abc
timeout 60
label abc
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.4.5/ks.cfg
ks.cfg能够先在192.168.1.105的服务器端设置好,会生成一个ks.cfg文件也就是配置的模板
总结:这个PXE网络装机是yum 源,网络配置,DHCP,FTP,TFTP加文件系统分区的集合,须要熟悉这些工做的流程和原理,具体细节配置能够百度。