CentOS7下PXE+Kickstart+DHCP+TFTP+HTTP无人值守安装系统(杰哥教你Linux)
一、简述
(一)甚么是PXE
PXE(Pre boot Execution Environment,预开启继续执行自然环境)是由Intel子公司合作开发的新一代控制技术,组织工作于Client/Server的互联网商业模式,全力支持服务站透过互联网从控制台伺服器浏览PV,并继而全力支持透过互联网开启作业控制系统,在开启操作过程中,终端产品明确要求伺服器重新分配IP门牌号,皮德盖TFTP ( trivial file transfer protocol )或MTFTP(multicast trivial file transfer protocol)协定浏览两个开启应用应用软件到Yak,缓存中继续执行,由那个开启应用应用软件顺利完成终端产品基本上应用软件增设,进而鼓励事先加装在伺服器中的终端产品作业控制系统。
严格说来,PXE并并非一类加装形式 ,而要种鼓励形式。 展开PXE加装的先决条件是在要加装的计算机控制系统中要包涵个PXE全力支持的存储设备(NIC), 即存储设备中要要有PXE Client。PXE 协定能使计算机控制系统透过互联网开启。此协定分成Client端和Server端,而PXE Client则在存储设备的ROM中。当计算机控制系统鼓励时,BIOS把PXE Client调至缓存中继续执行,接着由PXE Client将置放在控制台的文档透过互联网浏览到邻近地区运转。运转PXE协定须要增设DHCP伺服器和TFTP伺服器。DHCP伺服器会给PXE Client (即将加装控制系统的PS3)重新分配个IP门牌号,虽然是给PXE Client重新分配IP门牌号,因此在实用性DHCP伺服器时须要减少适当的PXE增设。除此之外,在PXE Client的ROM中,早已存有了TFTP Client,因此它就能透过TFTP协定到TFTP Server上浏览所需的文档了。
(二)PXE组织工作操作过程
1.PXE方便透过互联网大批量地作业控制系统的部署。PXE client当按下电源键选择从PXE互联网开启,透过广播找到DHCP伺服器索取IP;
2.DHCP伺服器返回重新分配给客户机的IP以及PXE文档的置放位置(该文档一般是放在一台TFTP伺服器上) ;
3.PXE Client向本互联网中的TFTP伺服器索取pxelinux.0文档;
4.PXE Client取得pxelinux.0文档后之继续执行该文档;
5.根据nxelinux 0的继续执行结里诵过TFTP伺服器加载内核和文档控制系统;
6.进入加装画面,此时能透过选择HTTP、FTP、NFS形式之一展开加装。
(三)自然环境准备说明
PXE伺服器:CentOS7基于virtualbox的虚拟机
IP:10.0.2.15
可透过如下命令查询DNS [root@localhost ~] cat /etc/resolv.conf
DNS:114.114.114.114
在tftp伺服器上要首先由PXE的加装信息,实用性服务及加装应用应用软件如下;DHCP;tftp;http;sysliinux(透过yum加装)
[root@localhost ~] yum install dhcp tftp tftp-server syslinux httpd -y 生成ks.cfg文档须要system-config-kickstart工具 [root@localhost ~] yum install system-config-kickstart -y 此工具依赖于X Windows,因此需加装X Windows和Desktop [root@localhost ~] yum groupinstall "X Windows System" [root@localhost ~] yum groupinstall Desktop 重启控制系统 [root@localhost ~] reboot
二、基于httpd搭建邻近地区加装源
(一)挂载光盘
挂载CentOS7光盘 [root@localhost ~] mkdir /media/cdrom [root@localhost ~] mount /dev/cdrom /media/cdrom [root@localhost ~] mkdir -pv/var/www/html/centos/7/x86_64 绑定挂载到http默认目录下 [root@localhost ~]mount --bind /media/cdrom/var/www/html/centos/7/x86_64
(二)kickstart ks.cfg实用性文档
[root@localhost ~] cd /var/www/html;mkdir ks [root@localhost ~] vim anaconda-ks.cfg version=DEVEL System authorization information auth --enableshadow --passalgo=sha512 Use CDROM installation media cdrom Install OS instead of upgrade install Use network installation url --url=http://(自己的IP门牌号,如:10.0.2.15)/centos/7/x86_64 Use graphical install graphical Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda Keyboard layouts keyboard --vckeymap=cn --xlayouts=cn System language lang zh_CN.UTF-8 Network information network --bootproto=dhcp --device=enp0s3 --onboot=off --ipv6=auto network --hostname=localhost.pkey.cn Root password rootpw --iscrypted $1$lSeSXuy.$7HmGY9vVxEGEGB98qTUuv1 System timezone timezone Asia/Shanghai --isUtc System bootloader configuration bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda autopart --type=lvm Partition clearing information clearpart --none --initlabel %packages @^minimal @core kexec-tools vim wget httpd %end %addon com_redhat_kdump --enable --reserve-mb=auto %end selinux --disabled 禁用selinux reboot 加装完重启控制系统
(三)实用性开启
[root@localhost ~] systemctl start httpd [root@localhost ~] systemctl enable httpd
(四)查看当前服务状态
[root@localhost ~] systemctl status httpd.service
三、实用性DHCP服务
(一)实用性dhcp服务
dhcp实用性文档在/etc/dhcp/目录下,默认的实用性文档没有,但我们能在帮助文档中找到模板示例文档加以修改,帮助文档的位置为 /usr/share/doc/dhcp*/dhcpd.conf.sample,也能自己新建两个dhcpd.conf文档,写入
[root@localhost ~] vim /etc/dhcp/dhcpd.conf DHCP Server Configuration file. see /usr/share/doc/dhcp*/dhcpd.conf.example see dhcpd.conf(5) man page option domain-name "pkey.cn"; option domain-name-servers 114.114.114.114; 写入网关 default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 10.0.2.0 netmask 255.255.255.0 { range dynamic-bootp 10.0.2.110 10.0.2.120; option routers 10.0.2.1; next-server 10.0.2.254; tftp server也是Yak,能分开 filename "pxelinux.0"; 鼓励文档 }
(二)开启与查看
[root@localhost ~] systemctl start dhcpd [root@localhost ~] systemctl enable dhcpd 查看监听情况 [root@localhost ~] ss -tunl Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:67 *:* udp UNCONN 0 0 *:68 *:* udp UNCONN 0 0 127.0.0.1:323 *:* udp UNCONN 0 0 :::69 :::*
(三)查看当前服务状态
[root@localhost ~] systemctl status httpd.service
四、实用性tftp服务
加装好tftp-server应用应用软件后 默认的数据根目录是/var/lib/tftpboot/ 无须修改,只须要复制一些应用软件鼓励文档进来即可
1、相关文档准备
鼓励文档 [root@localhost ~] cp/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 内核文档 [root@localhost ~] cp/media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot 鼓励菜单 [root@localhost ~] cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot 制件鼓励默认文档 [root@localhost ~] mkdir -pv/var/lib/tftpboot/pxelinux.cfg 在/var/lib/tftpboot/pxelinux.cfg目录下 [root@localhost pxelinux.cfg] cat default default menu.c32 prompt 5 timeout 30 MENU TITLE CentOS 7 PXE Menu LABEL linux MENU LABEL Install CentOS 7 x86_64 KERNEL vmlinuz APPEND initrd=initrd.img inst.repo=http://(自己的IP)/centos/7/x86_64 ks=http://(自己的IP)/ks/ks.cfg
2、开启实用性开机自启
[root@localhost] systemctl enable tftp [root@localhost] systemctl start tftp
3、tftp测试
查看/var/lib/tftpboot/的目录文档结构 [root@localhost tftpboot] tree -L 2 . ├── chain.c32 ├── initrd.img ├── mboot.c32 ├── memdisk ├── menu.c32 ├── pxelinux.0 ├── pxelinux.cfg │ └── default └── vmlinuz 1 directory, 8 files
[root@localhost ~] cd /var/lib/tpm [root@localhost tpm] pwd;ls /var/lib/tpm [root@localhost tpm] tftp 10.0.2.15 tftp> get vmlinuz tftp> quit [root@localhost tpm] pwd;ls /var/lib/tpm vmlinuz
五、PEX随处值班加装测试
(一)修改virtualbox互联网
管理–>全局设定–>互联网–>仅PS3(Host-Only)互联网 –>双击vboxnet0 –>把virtualbox自带的仅PS3互联网的DHCP服务关掉
(二)新建虚拟机
和用cdrom加装虚拟的唯一区别是不用挂载镜像,只须要修改新的虚拟机的互联网类型为仅PS3(Host-Only)互联网
开机–>按F12选择LAN开启
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!