运维之系统服务篇------ 4.批量装机环境配置PXE引导kickstart自动应答

大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述运维之系统服务篇------ 4.批量装机环境配置PXE引导kickstart自动应答相关的知识,希望能为你提供帮助。
FIVE  DAY
知识点:复习DNS----批量装机环境-----配置PXE引导---------Kickstart自动应答
随笔录:
Nameserver---基本运用前三个
镜像不是光盘
可以挂载光驱,但真机没有
Mount  -o  loop  /dev/cdrom  /var/www/html/
Umount  -a卸载所有挂载的设备
Vim  /etc/yum.repos.d/repo.conf
Vim  /etc/yum.conf    改变全局配置
Gpgcheck=0
DHCP四次会话以广播地址发送-------ip是租用来的花钱,租约有期限
Usr/syslinux/pxelinux.0  /var/lib/tftpboot
-vesamenu.c32----图形菜单--
Splash.png      ---背景图片
Pxelinux.cfg      --配置
Menu  ---控制显示界面
Label  linux  显示安装行目录
Append  加载
Pxeliunx。0----配置文件isolinux。Cfg-----菜单labellinux
Ls/boot/vmlinuz-3  5M
Ls  /boot/initramfs-3    #删除进不了
Initrd  镜像内容:包括insmod模块管理工具
Ls  /lib/modules/3,,,,,kernel/drivers/net/ethernet
Kickstart---------%post-  ---#安装后的自动化操作
正式笔记:
复习:DNS域名解析服务器  ——
        为客户机提供“域名  < ---->   IP地址”信息
软件包(S):bind、bind-chroot
配置文件(S):/etc/named.conf  ==>   /var/named/地址库文件
软件包(C):bind-utils、命令程序(ping、firefox、wget)
配置文件(C):/etc/resolv.conf
DNS基本配置--/etc/named.conf:
options 
directory    "存放地址库文件的默认目录路径";
;
zone    "DNS区域名字" 
type    master;
file    "地址库文件的文件名";
;
DNS基本配置--/var/named/地址库文件:
$TTL    地址库记录的默认有效期(1D)
@  IN  SOA  @  管理邮箱  (
..  ..
)
@NS本区域的DNS服务器的合法域名.
本区域DNS服务器的站点名  A本区域DNS服务器的IP地址
站点1的站点名称A站点1的IP地址
站点2的站点名称A站点2的IP地址
..  ..
语法检查工具、排错:
named-checkconf
named-checkzone    区域名      地址库文件路径
less    /var/log/messages
DNS轮询(同一个FQDN  ==》多个IP地址):
站点名称 A IP地址1
站点名称 A IP地址2
站点名称 A IP地址3
..  ..
 
泛域名解析(多个任意站点名  ==》同一个IP地址):
* A IP地址
子域授权(告诉父DNS两个信息:子域名称、子DNS的地址):
修改父DNS的地址库文件,添加两行  ——
子域名称.NS子DNS的FQDN.
子DNS的FQDN.A子DNS的IP地址
递归式的DNS服务器:为客户机查询非本机管理的域名
迭代式的DNS服务器(子域授权+禁止递归):不愿意为客户机查询非本机管理的域名,但是对于子域内的站点,当前DNS会为客户机反馈子域授权信息
缓存DNS  ——
#  yum    -y    install    bind    bind-chroot
#  vim    /etc/named.conf
options 
forwarders    公共DNS1;   公共DNS2;     ;
;
#  systemctl    restart    named
PXE批量、全自动装配  ——  安装系统、配置系统
装机条件:
一.PXE批量装机环境搭建(基础篇)
PXE---Preboot  execution  Environment:预启动执行环境;可用于远程安装
工作模式:PXE  client  集成在网卡启动芯片。引导时调入内存执行,获取PXE  server配置,显示菜单,用户远程。
PXE组件:
DHCP服务:分配IP地址,定位引导程序
TFTP服务:提供引导程序下载
HTTP服务(FTP/NIS),提供yum安装源
客户机网卡必须支持PXE协议域主板支持从网卡启动


第一步:  安装素材(YUM源的准备与DHCP)-------防火墙+selinux关闭
1.在CentOS真机上(192.168.4.254)快速准备YUM仓库  ——
服务端(仓库),提供软件包:
(1)准备挂载点
#  mkdir  /var/www/html/rh7dvd
#  mkdir  /var/www/html/cos7dvd
(2)挂载镜像资源
#  vim  /etc/fstab
/ISO/CentOS-7-x86_64-DVD-1611.iso  /var/www/html/cos7dvd  iso9660  defaults  0  0
/ISO/rhel-server-7.2-x86_64-dvd.iso  /var/www/html/rh7dvd        iso9660    defaults  0  0
#  mount  -a
(3)启动Web服务
#  systemctl    restart    httpd
#  firefox    http://192.168.4.254/rh7dvd/
#  firefox    http://192.168.4.254/cos7dvd/
客户端192.168.4.7(yum),使用软件包:
#  rm    -rf    /etc/yum.repos.d/*.repo
#  yum-config-manager    --add    http://192.168.4.254/cos7dvd
#  vim    /etc/yum.conf
gpgcheck=0
#  yum    repolist


??          http://192.168.4.254/rh7dvd/??
2.DHCP服务器
(分配IP地址+子网掩码+广播地址+默认网关+DNS服务器地址+PXE引导设置(TFTP地址与引导文件名)
SHCP四次会话:discovery+offer+requery+ack
概念:
租期(单位ie秒)------作用域:客户机网段-------------地-址池:分配地址范围
(1)装包  dhcp
(2)配置  vim  /etc/dhcp/dhcpd.conf
subnet  192.168.4.0  netmask  255.255.255.0                #声明网段
                range  192.168.4.10  192.168.4.200;                   #IP范围
                next-server  192.168.4.7;                                   #指定PXE服务器
                filename  "pxelinux.0";                                       #引导文件名

Svr7#netstat  -anqu  |grep  dhcpd                            #确认结果
(3)起服务  dhcpd  (
#systemctl  restart  dhcpd
!!!  在客户机测试dhcpd服务是否能自动获取IP地址
PC207#  dhclient    -d    eth0
如果有冲突服务dnsmasq,需要干掉
Pc207#killall  -9    dnsmasq)




第二步  PXE引导配置
TFTP  Trivial  file  Transfer  Protocol  (小文件传输协议+UDP+69)
默认资源目录:/var/lib/tftpboot
扩展:若设成开机启动,需要改一下  /etc/xinetd.d/tftp  配置文件,将disable设成no 
 
1.  Svr7启用  tftp  服务
#  yum    -y  install    tftp-server
#  systemctl  restart  tftp
#  ls    /var/lib/tftpboot    【TFTP资源目录】
2.  提供用来启动客户机的引导文件(pxelinux.0、内核和初始镜像)
#  yum  -y  install  syslinux    #该软件包用来提供pxelinux.0启动程序
[root@svr7  ~]#  rpm    -ql    syslinux    |    grep  pxelinux.0
#  cp    /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/        #将启动程序转入TFTP默认路径下为了传输给客户端。
扩展:pxelinux.0是一个bootloader,类似于grub,通过它来load  kernel,我们可以在它的配置文件中指定内核的位置和内核的启动参数  安装及配置都在  /tftpboot  目录下操作。pxelinux.0是syslinux的一个文件,可以从  syslinux-/core/pxelinux.0
 


3.部署操作系统引导文件即rhel7(linux内核与初始镜像文件)
#  mkdir  /var/lib/tftpboot/rhel7
#  cd    /var/lib/tftpboot/rhel7
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/vmlinuz#??
扩展:vmlinuz是可引导的、压缩的内核,vm”代表“Virtual  Memory虚拟内存;位于/boot/vmlinuz,它一般是一个软链接
vmlinuz的建立有两种方式
make  zImage“cp  /usr/src/linux-2.4/arch/i386/linux/boot/zImage  /boot/vmlinuz”产生zImage适用于小内核的情况,它的存在是为了向后的兼容性。
make  bzImage创建,然后通过cp  /usr/src/linux-2.4/arch/i386/linux/boot/bzImage  /boot/vmlinuz”产生。bzImage是压缩的内核映像。
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/initrd.img??
initrd是“initial  ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态;initrd映象文件是使用mkinitrd创建的命令是RedHat专有。
4.  配置引导菜单(default、图形支持文件--模块+背景图)
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/vesamenu.c32??    #图形菜单
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/splash.png??  #背景图片
#  mkdir  /var/lib/tftpboot/pxelinux.cfg            ##存放客户端的配置文件
#  wget    http://192.168.4.254/rh7dvd/isolinux/isolinux.cfg    -O  /var/lib/tftpboot/pxelinux.cfg/default
#  vim  /var/lib/tftpboot/pxelinux.cfg/default 
..  ..
label  linux
    menu  label  ^Install  Red  Hat  Enterprise  Linux  7.2
    kernel  rhel7/vmlinuz
    append  initrd=rhel7/initrd.img  inst.stage2=http://192.168.4.254/rh7dvd  quiet
 
5.客户机检查  TFTP  服务是否可用
#  yum    -y    install    tftp
#  tftp    TFTP服务器地址    -c    get    文件名
#tftp  192.168.4.7  -c  get  pxelinux.0
 
PXE客户机从开机以后到安装系统的过程  ——
Yum源(网站资源在这下载)------由真机远程操控服务器(中介)(批量装机环境)----------客户机
1)加载网卡芯片里的  PXE  Client  程序
2)PXE  Client  向DHCP服务器获知  IP地址、TFTP服务器地址、启动文件名
3)从TFTP服务器下载启动文件  pxelinux.0
4)由  pxelinux.0  接管控制权
5)由  pxelinux.0  从TFTP服务器下载配置文件  pxelinux.cfg/default
6)由  pxelinux.0  根据  default  配置在客户机显示启动菜单
7)根据用户选择(装rhel7),去下载内核  vmlinuz、配套的  initrd.img
8)在内存里加载  initrd.img、vmlinuz
9)由  vmlinuz  接管控制权
10)由  vmlinuz  根据inst.stage2=给定的地址下载RHEL7的安装程序
        !!!!  给定的地址/LiveOS/squashfs.img          #与lickstart区别开来ks=http://192.168.4.254/ks-rhel.cfg
11)把  squashfs.img  释放到内存里运行
12)由  sqaushfs.img  提供安装向导程序(选语言、。。。)
13)进入正常的安装过程
PXE客户机从开机以后到安装系统(自动应答)的过程  ——
1)
..  ..
三.PXE+KICKSTART(高级实战篇)
1.DHCP服务器
(分配IP地址+子网掩码+广播地址+默认网关+DNS服务器地址+PXE引导设置(TFTP地址与引导文件名)
SHCP四次会话:discovery+offer+requery+ack
【运维之系统服务篇------ 4.批量装机环境配置PXE引导kickstart自动应答】概念:
租期(单位ie秒)------作用域:客户机网段-------------地-址池:分配地址范围
(1)装包  dhcp
(2)配置  vim  /etc/dhcp/dhcpd.conf
subnet  192.168.4.0  netmask  255.255.255.0                #声明网段
                range  192.168.4.10  192.168.4.200;                   #IP范围
                next-server  192.168.4.7;                                   #指定PXE服务器
                filename  "pxelinux.0";                                       #引导文件名

Svr7#netstat  -anqu  |grep  dhcpd                            #确认结果
(3)起服务  dhcpd  (如果有冲突服务dnsmasq,需要干掉killall  -9    dnsmasq)
#systemctl  restart  dhcpd
!!!  在客户机测试dhcpd服务是否可用
PC207#  dhclient    -d    eth0
2.  PXE引导配置
TFTP  Trivial  file  Transfer  Protocol  (小文件传输协议+UDP+69)
默认资源目录:/var/lib/tftpboot
扩展:若设成开机启动,需要改一下  /etc/xinetd.d/tftp  配置文件,将disable设成no 
 
1.  Svr7启用  tftp  服务
#  yum    -y  install    tftp-server
#  systemctl  restart  tftp
#  ls    /var/lib/tftpboot    【TFTP资源目录】
2.  提供用来启动客户机的引导文件(pxelinux.0、内核和初始镜像)
#  yum  -y  install  syslinux    #该软件包用来提供pxelinux.0启动程序
#  cp    /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/        #将启动程序转入TFTP默认路径下为了传输给客户端。
扩展:pxelinux.0是一个bootloader,类似于grub,通过它来load  kernel,我们可以在它的配置文件中指定内核的位置和内核的启动参数  安装及配置都在  /tftpboot  目录下操作。pxelinux.0是syslinux的一个文件,可以从  syslinux-/core/pxelinux.0


3.部署操作系统引导文件即rhel7(linux内核与初始镜像文件)
#  mkdir  /var/lib/tftpboot/rhel7
#  cd    /var/lib/tftpboot/rhel7
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/vmlinuz#??
扩展:vmlinuz是可引导的、压缩的内核,vm”代表“Virtual  Memory虚拟内存;位于/boot/vmlinuz,它一般是一个软链接
vmlinuz的建立有两种方式
make  zImage“cp  /usr/src/linux-2.4/arch/i386/linux/boot/zImage  /boot/vmlinuz”产生zImage适用于小内核的情况,它的存在是为了向后的兼容性。
make  bzImage创建,然后通过cp  /usr/src/linux-2.4/arch/i386/linux/boot/bzImage  /boot/vmlinuz”产生。bzImage是压缩的内核映像。
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/initrd.img??
initrd是“initial  ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态;initrd映象文件是使用mkinitrd创建的命令是RedHat专有。
4.  配置引导菜单(default、图形支持文件--模块+背景图)
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/vesamenu.c32??    #图形菜单
#  wget  ??http://192.168.4.254/rh7dvd/isolinux/splash.png??  #背景图片
#  mkdir  /var/lib/tftpboot/pxelinux.cfg            ##存放客户端的配置文件
#  wget    http://192.168.4.254/rh7dvd/isolinux/isolinux.cfg    -O  /var/lib/tftpboot/pxelinux.cfg/default  #启动pxelinux.0配置文件
#  vim  /var/lib/tftpboot/pxelinux.cfg/default 
..  ..
label  linux
    menu  label  ^Install  Red  Hat  Enterprise  Linux  7.2
    kernel  rhel7/vmlinuz
    append  initrd=rhel7/initrd.img  ks=http://192.168.4.254/ks-rhel7.cfg    #


5.kikstart无人值守即自动应答
因此要预订自动应答文件------
设置好各项参数免交互
添加%post脚本安装系统后需求脚本程序运行
有两种方法:
第一:找一台客户机获取应答文件包含各项参数。在/root/anaconda-ks.cfg
第二种:
Svr7操作
1.安装system-config-kickstart工具
2.  yum  -y  nstalll  system-config-kickstart 
3.【调整仓库ID为development】
[development]
#name=rh7dvd
name  =Red  Hat  Enterprise  Linux  7
baseurl  =  http://192.168.4.254/rh7dvd/
gpgcheck  =0
~                       
4.  system-config-kickstart                      #打开图形化配置系统参数-----超连接
保存为/root/ks-rhel7.cfg至/root/
5,应答文件微调整  (大部分图形化已设置好)
删除掉随模板机配置残留的不可用仓库记录(比如以repo  --name开头的Server-HighAvailability、Server-ResilientStorage、autopart等行)
1.  [root@svr7  ~]#  vim    /root/ks-rhel7.cfg
2.  install                                                                                                    //安装基本信息设置
3.  xconfig    --startxonboot
4.  keyboard  --vckeymap=cn  --xlayouts=cn
5.  rootpw  --iscrypted  $1$.48kBNVL$e.Ym0L/RzkJonYwbg9Brq1
6.  timezone  Asia/Shanghai
7.  url  --url="http://192.168.4.254/rh7dvd"                                    //安装源设置
8.  lang  zh_CN
9.  firewall  --disabled
10.  #repo  --name="Server-HighAvailability"  --baseurl=file:///run/install/repo/addons/HighAvailability
11.  #repo  --name="Server-ResilientStorage"  --baseurl=file:///run/install/repo/addons/ResilientStorage
12.  #autopart  --type=lvm                                                                            //分区设置
13.  zerombr
14.  clearpart  --all  --initlabel
15.  part  /boot  --fstype="xfs"  --size=200
16.  part  swap  --fstype="swap"  --size=2000
17.  part  /  --fstype="xfs"  --grow  --size=1
18.  ..  ..
19.  %post  --interpreter=/bin/bash                                                    //安装后脚本设置
20.  echo    [rhel7]
21.  name  =  Red  Hat  Enterprise  Linux  7.2
22.  baseurl  =  http://192.168.4.254/rh7dvd
23.  gpgcheck  =  0    >     /etc/yum.repos.d/rhel7.repo
24.  %end
25. 
26.  %packages                                                                                            //软件包设置
27.  @^graphical-server-environment
28.  @base
29.  @core
30.  @desktop-debugging
31.  @development
32.  ..  ..
33.  initial-setup
34.  initial-setup-gui
35.  -NetworkManager
36.  -NetworkManager-team
37.  ..  ..
38. 
39.  %end


6.将应答文件部署在客户机可下载的位置
客户端pc207~#scp  ??root@192.168.4.7??:/root/ks-rhel7.cfg  /var/www/html/
 
7.真机新建虚拟机进行检测---PXE引导+无人值守自动安装



    推荐阅读