运维之系统服务篇------ 4.批量装机环境 配置PXE引导 kickstart自动应答
Posted ghostwritten
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维之系统服务篇------ 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
概念:
租期(单位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引导+无人值守自动安装
以上是关于运维之系统服务篇------ 4.批量装机环境 配置PXE引导 kickstart自动应答的主要内容,如果未能解决你的问题,请参考以下文章