声明:我们这里用kvm做测验。centos7u3的系统
PXE+kickstart 全自动安装操作系统。
原理图:
注释:图中有错误,vmlinuz文件。抱歉!!各位
客户端寻找dhcp服务器,dhcp服务器来负责客户端的ip分配;
客户端寻找tftp服务器,pxelinux.0引导文件引导vmlinux和initrd两个启动文件。
default中配置文件标记启动内核。标记ks.cfg安装内容文件。
ks.cfg文件需要一台图形化操作系统下载pykickstart软件,启动之后手动鼠标点击就可以生成ks.cfg文件。
将ks.cfg文件放到vsftpd服务器中,default文件中指定相应的路径就可以。
镜像也需要挂载到/var/ftp下的目录,default文件中指定相应的路径。
所有配置完成之后,可以试验是否成功。
先安装服务
# yum install dhcp tftp-server tftp vsftpd lftp -y
DHCP安装和配置
#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y#vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.3 192.168.10.88; next-server 192.168.10.2; filename "pxelinux.0"; default-lease-time 600; max-lease-time 7200;}注释:第一行写网段,子网掩码;第二行写tftp服务器的ip地址(也就是配置pxe的本机ip)
TFTP安装和配置
TFTP
协议:ftp安装软件 客户端:tftp 服务器:tftp-server#yum -y install xinted配置 # vim /etc/xinetd.d/tftp disable = no //不关闭这个服务 server_args = -s /var/lib/tftpboot -c -c 上传重启服务 #/etc/init.d/xinetd restartxinetd 超级守护进程另外开启服务的方法: #chkconfig tftp on不支持目录的上传和下载#touch /var/lib/tftpboot/{a.txt,b.txt}为了保证tftp好用: 1.#/etc/init.d/iptables 2.#setenforce 0 3.#chmod 777 /var/lib/tftpboot -R 客户端 #tftp 172.16.70.251 tftp > get a.txt //下载 tftp > put b.txt //上传 tftp > quitPXE引导文件
拷贝引导文件:
# yum provides */pxelinux.0syslinux-4.05-13.el7.x86_64#yum install syslinux -y# find / -name 'pxelinux.0'/usr/share/syslinux/pxelinux.0# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/default文件
# mkdir /var/lib/tftpboot/pxelinux.cfg
# mount /dev/cdrom /mnt# cp /mnt/isolinux/* /var/lib/tftpboot/# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default# umount /mnt# mount /dev/cdrom /var/ftp/centos7u3
修改default配置文件:
# vim /var/lib/tftpboot/pxelinux.cfg/default label linux menu label ^Install CentOS Linux 7 kernel vmlinuz append initrd=initrd.img inst.stage2=ftp://192.168.10.2/centos7u3 inst.repo=ftp://192.168.10.2/centos7u3 ks=ks.cfg文件
主机(任意一台图形化的操作系统):
# yum install system-config-kickstart -y# system-config-kickstart把做好的ks.cfg文件拷贝到pxe服务器的/var/ftp/里面去yum源配置:
[development] //名字必须是这个name=centos7u3baseurl=file:///mnt/centos7u3enabled=1gpgcheck=0vsftpd服务
#cd /var/ftp/
#mkdir centos7u3# mount /dev/cdrom centos7u3/mount: /dev/sr0 写保护,将以只读方式挂载启动服务进行测试,新建一台以pxe方式安装的操作系统。
如果失败,请检测以上步骤是否漏掉。尤其是chmod -R 777 /var/ftp/tftpboot
还有default文件文件路径是否正确。