SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答

1.实现网络方式来实现安装操作系统

HTTP服务端

DHCP服务器

TFTP服务端

2.让网络装机实现自动化

手动安装

无人值守安装

准备装机环境 —— 

HTTP服务端  (提供软件源和应答文件)

在真机上提供软件安装源 http://192.168.4.254/rh7dvd

1)启用httpd服务

# systemctl  restart  httpd

2)挂载RHEL7的ISO文件到 /var/www/html/rh7dvd

# mkdir -p /var/www/html/rh7dvd

# vim  /etc/fstab

ISO文件的绝对路径 /var/www/html/rh7dvd  iso9660  defaults  0  0

# mount  /var/www/html/rh7dvd

# ls  /var/www/html/rh7dvd/   //确认目录下有资源

3)检查,确认软件源可访问

浏览器访问 http://192.168.4.254/rh7dvd,可看到软件目录资源

 

常见问题:执行mount  -a 挂载不成功

原因:同一个镜像挂载到多个位置,如果其中一个位置已经挂载,那么在执行mount  -a时不再挂载新的位置

解决办法:

重启,

或者 mount  挂载点

或者 卸载这个设备的所有挂载点,再重新mount  -a

 

DHCP服务器      (为客户机动态提供IP地址相关参数,告诉客户机要访问的下一个服务器和向服务器索取启动文件

 

一台计算机如何从DHCP服务器获取IP地址

1)客户机 请求,DHCP DISCOVERY

2)服务器 提供,DHCP OFFER

3)客户机 选择,DHCP REQUEST 

4)服务器 确认,DHCP ACK

 

快速搭建DHCP服务器(svr7) ——

1)装包 dhcp

# yum  -y  install  dhcp

2)配置

# vim  /etc/dhcp/dhcpd.conf


    
    
    
    
  1. subnet 192.168 .4 .0 netmask 255.255 .255 .0 {
  2. range 192.168 .4 .10 192.168 .4 .200;
  3. next-server 192.168 .4 .7; //PXE装机服务器地址
  4. filename ”pxelinux.0”; //启动文件
  5. }

3)起服务 dhcpd

# systemctl  restart  dhcpd

4)确认监听状态

# netstat   -anptu  |  grep  :67

5)在客户机pc207上测试

# dhclient  -d  eth0

 

选项含义:

-a,所有连接

-n,以数字方式显示地址和端口

-p,列出对应的进程和PID

-t,列出TCP类型的连接

-u,列出UDP类型的连接

 

DHCP服务监听端口:UDP 67

BOOTROM 启动芯片

 

PXE 应用:

方式1:远程装操作系统

方式2:远程运行操作系统(无盘工作站)

 

实现PXE网络装机 —— 

基本条件:

  1. DHCP地址分配服务

  2. yum 软件源

PXE引导配置:

 

TFTP服务端 (为客户机提供启动文件,装系统用的素材)

pxelinux.0 (网卡启动文件) rhel7/vmlinuz(内核文件)   rhel7/initrd.img(初始化文件) 

 /var/lib/tftpboot/pxelinux.cfg/default(决定客户端显示界面如何显示)      

 vesamenu.c32 (模板文件)  splash.png (背景图片)

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第1张图片

    3. 启用TFTP引导服务,提供用来启动客户机的文件资料

1)装包、起服务

# yum  -y  install  tftp-server

# systemctl  restart  tftp

2)提供网卡启动文件 pxelinux.0

# yum  -y  install  syslinux

# cp  /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/pxelinux.0

 

—— 建议在客户机pc207先测试,确保可以下载

# yum  -y  install  tftp

!!! 测试方法:tftp  服务器地址   -c  get  文件名

# tftp  192.168.4.7   -c  get  pxelinux.0

# ls  -lh  pxelinux.0 //确认下载结果

 

3)提供用来安装XX系统的内核文件(及运行内核所需的初始化文件)

#### 访问 http://192.168.4.254/isolinux/

#### 找到 vmlinuz、initrd.img 文件的下载地址,复制使用

# mkdir  /var/lib/tftpboot/rhel7

# cd  /var/lib/tftpboot/rhel7

# wget  http://vmlinuz文件的下载地址

# wget  http://initrd.img文件的下载地址

# ls  /var/lib/tftpboot/rhel7/   //确认部署结果

initrd.img  vmlinuz

 

4)提供pxelinux.0启动程序的配置文件(用来显示启动菜单)

#### 访问 http://192.168.4.254/isolinux/

#### 找到 isolinux.cfg 文件的下载地址,复制使用

# mkdir  /var/lib/tftpboot/pxelinux.cfg/

# cd  /var/lib/tftpboot/pxelinux.cfg/

# wget  http://isolinux.cfg文件的下载地址  -O  default  (default这个文件决定客户端的PXE启动菜单的显示)

# cd  /var/lib/tftpboot/

# wget  http://vesamenu.c32图形模块支持文件的下载地址

# wget  http://splash.png背景图片文件的下载地址

 

# ls  /var/lib/tftpboot/ //确认部署结果

pxelinux.cfg   rhel7       vesamenu.c32

pxelinux.0    splash.png

# ls pxelinux.cfg/   //确认菜单配置文件

default

 

TFTP服务的默认资源目录

/var/lib/tftpboot/

 

!!!! 查找哪一个软件包能够提供 XXXX 文件

# yum  provides  ”*/XXXX”  【查看哪个软件包能提供XX文件】

rpm -ql syslinux   【查询软件包装了哪些文件】

    4. 提供装机菜单

手动安装

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

default  vesamecu.cfg   //菜单显示由vesa…负责

timeout  600 //倒计时等待时间(1/10秒)

label  linux

  menu label ^Install Red Hat Enterprise Linux 7.2

  kernel rhel7/vmlinuz   【第63行】

  append initrd=rhel7/initrd.img   inst.stage2=http://192.168.4.254/rh7dvd  【第64行】

 

练习:新建一台虚拟机,测试PXE网络装机的效果

1)虚拟机定制:从网络安装、内存2G、硬盘20G、网络private1

2)启动后能成功看到选择菜单

3)选择第一项后,成功加载图形安装程序

4)手动指定分区方式、软件仓库(http://192.168.4.)

 

 

客户机的引导过程:

一台需要装RHEL7系统的客户机(裸机)

==》电源 ==》主板开机BIOS自检 ==》优先从网络启动 

==》网卡芯片里的PXE Client程序 

==》获取IP地址、按照DHCP指示去找TFTP服务器 

==》向TFTP服务器索取 pxelinux.0 并下载

==》在内存中运行 pxelinux.0

==》从TFTP资源目录 pxelinux.cfg/default 下载到菜单配置

==》按照default文件配置显示一个选择界面

==》如果客户机的用户选择“Install Red Hat Enterprise Linux 7.2”,那么

==》找TFTP服务器的 rhel7/ 目录下载内核、初始化文件

==》在内存中运行vmlinuz内核文件,由内核获取系统控制权限

==》根据配置的inst.stage2参数指定的位置去获取安装程序

==》在客户机运行安装程序

==》由安装程序主导XX系统安装过程

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第2张图片

kernel panic,内核 恐慌

 

常见错误:

1)配置文件 default 错写为 deafult

2)inst.stage2指定的软件源位置写错 http://…/rhdvd

3)DHCP服务配置中

  subnet  192.168.4.0  netmask  254.254.254.0

4)tftp服务没开启

5)…… 

 

NIC,Network Interface Card,网卡

 

实现自动应答的关键配置:

1)在模板机上安装system-config-kickstart软件包

      

[root@svr7 ~]# yum  -y  install  system-config-kickstart
    
    
    
    

2)调整模板机的yum仓库设置

清理掉无关的yum源,只保留为客户机安装RHEL7系统所必要的yum源,并且将源的ID修改 development,如果不指定ID为development,生成ks文件时就无法获取yum源地址。


    
    
    
    
  1. [ root@svr7 ~] # vim /etc/yum.repos.d/rh7dvd.repo
  2. [ development]
  3. name = Red Hat Enterprise Linux 7
  4. baseurl = http: //192.168.4.254/rh7dvd
  5. gpgcheck = 0

应答文件的准备过程:

[root@dhcp_tftp_server yum.repos.d]# system-config-kickstart

1.设置默认语言,键盘,时区,root密码

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第3张图片

2.设置安装方式,安装来源(设置http的ip地址和目录)

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第4张图片

3.设置应到装载程序选项,安装类型选择安装新引导装载程序

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第5张图片

4.引导装载程序选项  选择安装新引导装载程序

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第6张图片

   4.1 添加交换分区 文件系统类型选择swap,固定大小为4096M

    SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第7张图片

4.2添加根分区   挂载点选择/  大小选项选择使用磁盘上全部未用空间

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第8张图片

5.网络配置中的网络设备选择eth0,网络类型选择DHCP

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第9张图片

5.验证采用默认配置即可

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第10张图片

6.防火墙配置   SELinux选择禁用,安全级别选择禁用防火墙

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第11张图片

7.显示配置默认

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第12张图片

8.软件包选择 桌面(除第二个不勾选,其他的都勾选)

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第13张图片

9.添加安装后的脚本   自动配置yum源的脚本

SERVICE04 - 批量装机环境 配置PXE引导 kickstart自动应答_第14张图片

然后点击左上角的文件,进行保存

应答文件ks_lijun.cfg下载地址

点击链接下载kickstart文件

1)需要一份提前准备好的应答文件,客户机必须能够下载

确认访问地址:http://192.168.4.254/ks-rhel7.cfg

2)修改 default 菜单配置使用这份应答文件

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

label linux

.. ..

kernel rhel7/vmlinuz

append initrd=rhel7/initrd.img ks=http://192.168.4.254/ks-rhel7.cfg

 

全自动裸机装配(装系统、配置系统)

 

安装后脚本 —— 使PXE客户机在完成系统安装之后自动执行XX操作

比如:自动配置好yum源

# rm  -rf  /etc/yum.repos.d/*.repo

!!!!

### echo  ‘yum源配置文件内容’  >  /etc/yum.repos.d/rhel7dvd

# echo  ’[rhel7]

name=Red Hat Enterprise Linux 7.2

baseurl=http://192.168.4.254/rh7dvd

gpgcheck=0’  >  /etc/yum.repos.d/rhel7.repo

 

TFTP+DHCP启动服务器备份与恢复

备份 :

tar    -zcPf   pxeconfig.tar.gz    /var/lib/tftpboot/  /etc/dhcp/dhcpd.conf

恢复:

yum -y install dhcp tftp-server

tar  -xPf   /opt/pxeconf.tar.gz

systemctl restart dhcpd tftp

 

vim末行模式,删除连续的多行文本

:73,144dd

配置default文件   加^RedHat7 可以定义快捷键

你可能感兴趣的:(Linux)