Linux运维笔记-文档总结-pxe无人值守安装系统

来源:互联网 发布:mac设置下面图标 编辑:程序博客网 时间:2024/06/03 17:44

以下所有操作都是在Red-hat 7.0上


1.pxe的简单介绍

PXE(preboot execute environment,预启动执行环境),工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。

2.pxe的工作流程

1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP

2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)

3.客户机向本网络中的TFTP服务器索取bootstrap文件

4.客户机取得bootstrap文件后之执行该文件

5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统

6.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装(常用HTTP)

这里写图片描述

3.pxe具体配置流程

1.需要安装的服务

yum install httpd tftp-server dhcp syslinux -y

httpd ##共享安装资源

dhcp ##分配ip以及让客户主机获取pexlinux.0文件

pxelinux.0 ##预安装环境头文件,用来指定读取后续文件的程序

tftp-server ##提供tftp协议,令客户主机可以读取到预安装环境

syslinux ##提供pxelinux.0文件

这里写图片描述

2.启用服务

1)关闭防火墙

systemctl stop firewalld

systemctl disable firewalld ##下次启动不启动防火墙

2)打开http服务

systemctl start httpd

systemctl enable httpd ##下次默认打开防火墙

3)开启tftp服务:

[root@localhost ~]# netstat -anutlpe | grep xinetd

[root@localhost ~]# vim /etc/xinetd.d/tftp

14 disable = no ##打开tftp服务

[root@localhost ~]# systemctl restart xinetd.service

[root@localhost ~]# netstat -anutlpe | grep xinetd

udp 0 0 0.0.0.0:69 0.0.0.0:* 0 92471 5130/xinetd

这里写图片描述

4)启用dhcp服务

[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##制作dhcp配置文件

cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y ##按y,确定创建dhcp配置文件

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf (将36行之后都删除掉)

1 option domain-name “example.com”; ##客户主机域名

2 option domain-name-servers 172.25.254.254; ##客户主机获得到的dns

3 default-lease-time 600; ##默认租约期

4 max-lease-time 7200; ##最长租约期

5 log-facility local7; ##日志级别

6 subnet 172.25.254.0 netmask 255.255.255.0 { ##网段,子网掩码

7 range 172.25.254.77 172.25.254.88; ##ip地址池

8 option routers 172.25.254.250; ##客户主机获得到的网关

9 filename “pxelinux.0”; ##客户主机获得到的预安装环境头文件

10 next-server 172.25.254.139; ##指定头文件所在主机的ip

11 }

[root@localhost ~]# systemctl start dhcpd

[root@localhost ~]# systemctl enable dhcpd

这里写图片描述

3.设定共享文件

1)制作安装源

mkdir /var/www/html/rhel7.0

mkdir /iso

mv /root/rhel-server-7.0-x86_64-dvd.iso /iso/

mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/

vim /etc/rc.d/rc.local ##永久挂载

3 mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/

chmod +x /etc/rc.d/rc.local ##给一个可执行权限,在开机的时候,就可以被执行!

2)制作预安装环境

cp /var/www/html/rhel7.0/isolinux/* /var/lib/tftpboot/ ##isolinux/目录下有目录有内核和初始化文件等,复制到/var/lib/tftpboot/,在pexlinux.0引导客户主机访问tftp时,访问这些文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ##复制pxelinux.0程序到此处

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default ##pexlinux.0的配置文件是/var/lib/tftpboot/pxelinux.cfg/default

这里写图片描述

这里写图片描述

3)设定自动化部署

yum install system-config-kickstart -y

system-config-kickstart —–> /var/www/html/ks.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

label autoinstall ##选项标签

kernel vmlinuz ##启动的内核文件

append initrd=initrd.img repo=http://172.25.254.139/rhel7.0 ks=http://172.25.254.139/ks.cfg quiet ##初始化镜像 / ##安装资源 / ##自动安装脚本

这里写图片描述

这里写图片描述

4.测试结果

这里写图片描述


The End

原创粉丝点击