Linux 之pxe全自动化安装

一、pxe介绍

  • pxeE:通过网络对主机进行引导、安装系统。

  • 过程:

    • 客户端的网络借口通过广播地址向提供DHCP服务的服务端索要IP;
    • 服务端向客户端提供IP+PXElinux.0程序;
    • pxelinux.0指定tftp协议,所以先引导用户访问服务端的tftp协议:读取内核程序及init–初始化安装包、default文件
    • default文件指定安装资源文件–ks.cfg文件,该文件指定安装资源–httpd
    • 服务端通过http协议向客户端提供安装包,客户端读取安装包、自动安装

二、pxe全自动化安装

通过上述过程可知,我们需要使用到的服务或协议:httpd、dhcp、tftp、pxelinux.0

1.接下来安装他们

yum install -y httpd dhcp tftp-server syslinux

2.启用服务

systemctl stop  firewalld
systemctl start  httpd              ##启用httpd共享服务
tftp服务启用,是通过改变其守护进程来启用的

vim /etc/xinetd.d/tftp

disable  =  no           ##编辑14行,no表示启用tftp服务,保存退出

systemctl  restart xinetd  
netstan anutlpe  |  grep xinetd    ##查看是否 69端口是否开启
chkconfig  --list                 ##查看服务进程
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf       ##生成主配置文件
vim /etc/dhcp/dhcpd.conf

编辑后的主配置文件内容显示如下:

  option domain-name  "example.com";            ##客户主机域名
  option domain-name-servers  172.25.254.254;   ##客户主机获得的dns
  default-lease-time 600;                       ##默认租约期
  max-lease-time7 200;                     ##最长租约期
  log-facility local7;                    ##日志级别
  subnet 172.25.254.0  netmask  255.255.255.0 {    ##网段、子网掩码
      range  172.25.254.120  172.25.254.130;         ##IP分配范围
      option routers 1 72.25.254.250;         ##客户主机获得的网关
      filename "pxelinux.0"                ##客户主机获得的预安装环境头文件
     next-server  172.25.254.116;               ##指定头文件所在主机的IP
}

systemctl restart dhcpd
systemctl enable dhcpd

4.设定共享文件

  • 制作安装源
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.0     ##注意版本,也可以永久挂载,过程如下

vim  /etc/rc.d/rc.local     ##永久挂载配置文件

mount  /iso/rhel-server-7.2-x86_64-dvd.iso  /var/www/html/rhel7.0           ##在文件末尾插入这一行,保存退出

chmod  +x  /etc/rc.d/rc.local
  • 制作预安装环境
cp /var/www/html/rhel7.0/isolinux/* /var/lib/tftpboot/      ##使用tftp协议读取安装环境
cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/       ##生成安装头文件
mkdir /var/lib/tftpboot/pxelinux.cfg        ##pxelinux.0文件中指定读取pxelinux.cfd中default的内容
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftfboot/pxelinux.cfg/default
systemctl  restart xinetd          ##重启服务
  • 为减少后续错误,可在此处先进行测试,客户端选择从网卡启动,启动客户端,若能进入到以下界面说明配置无误

5.自动化部署配置

自动化部署需要用到一个工具——system-config-kickstart 自动应答脚本制作工具

yum install system-config-kickstart -y
system-config-kickstart     ##运行自动应答脚本制作工具制作自动应答脚本

1.设置时间时区,超级用户密码
Linux 之pxe全自动化安装_第1张图片
Linux 之pxe全自动化安装_第2张图片

2.设置安装源

Linux 之pxe全自动化安装_第3张图片

Linux 之pxe全自动化安装_第4张图片

3.分区,清空原有分区

Linux 之pxe全自动化安装_第5张图片

Linux 之pxe全自动化安装_第6张图片

Linux 之pxe全自动化安装_第7张图片

Linux 之pxe全自动化安装_第8张图片

4.添加网卡

Linux 之pxe全自动化安装_第9张图片

Linux 之pxe全自动化安装_第10张图片

5.authentication–认证加密方式,不用更改,默认即可

Linux 之pxe全自动化安装_第11张图片

6.配置火墙信息disabled,selinux信息disabled

Linux 之pxe全自动化安装_第12张图片

7.图形化界面,需要可以开启,默认不开启

Linux 之pxe全自动化安装_第13张图片
8.package selection——软件包选择,默认即可
9.安装前执行脚本和安装后执行脚本,我们不需要,所有不做更改

Linux 之pxe全自动化安装_第14张图片

Linux 之pxe全自动化安装_第15张图片

10.一定保存至/var/www/html下,即httpd默认发布目录下,且后缀不可更改
Linux 之pxe全自动化安装_第16张图片

11.配置好之后将ks.cfg保存到我们httpd默认发布目录下,进入编辑

vim ks.cfg      ##在这里,配置好yum源,vim和base组件

%post
cat >> /etc/yum.repo/yum.repo <<end
[rhel7.0]
name
baseurl=http://172.25.254.250/content/x86_64/dvd
gpgcheck=0
%end

%packages
vim-enhanced
@base
%end

Linux 之pxe全自动化安装_第17张图片

ksvalidator ks.cfg ##检测语法,检测自动应答脚本是否有错,只检测语法,不检测配置
如无错误,http://localhost/ks.cfg可以看到文件内容

Linux 之pxe全自动化安装_第18张图片

12.指定安装源
vim /var/lib/tftpboot/pxelinux.cfg/default

编辑内容如下:

 label  autoinstall     ##可以任写
 menu  label  ^Autoinstall Rhel      ##标题,^表示首字母大写
 menu  default          ##默认启用该标题及其内容
 kernel  vmlinuz
 append  initrd=initrd.img     ##依靠vmlinuz,initrd来加载
 repo=http://172.25.254.116/rhel7.0   ##安装源位置
 ks=http://172.25.254.116/ks.cfg     ##自动安装脚本位置
 quiet                 ##初始化时不显示信息,可不加

Linux 之pxe全自动化安装_第19张图片

13,安装脚本,最后面指定我们的自动应答脚本,放在httpd默认发布目录下

vim /mnt/pxe.sh
#!/bin/bash
virt-install \
--name $* \
--vcpus 1 \
--ram 1024 \
--file /var/lib/libvirt/images/$*.qcow2 \
--file-size 8 \
--location http://172.25.254.250/rhel7.2 \  必须以网络共享方式配置安装源
--extra-args "ks=http://172.25.254.250/ks.cfg" &
systemctl start tftp
ss -antlpe | grep tftp

less /usr/share/doc/syslinux-4.05/pxelinux.txt      ##通过文件可以发现需要一些文件的配置支持

cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp /var/www/html/rhel7.2/isolinux/* /var/lib/tftpboot/
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

vim /var/lib/tftpboot/pxelinux.cfg/default      ##这里面的配置都是可以自己修改的,体现了可定制性

设置虚拟机以网卡启动之后,直接打开虚拟机,可以直接进入系统的安装

Linux 之pxe全自动化安装_第20张图片

DHCP获取IP中

Linux 之pxe全自动化安装_第21张图片

熟悉的安装界面,选择安装之后一切就悄悄地进行了

Linux 之pxe全自动化安装_第22张图片

你可能感兴趣的:(linux,自动化部署,pxe,redhat,linux运维,linux运维,python)