williamzhuone_1

导航

 

一、安装网络引导服务器的rhel8系统

说明:

​ 1、此次实验是在VMWware16虚拟机下进行的;

​ 2、使用的系统镜像是rhel8系统;

1、pxe服务器硬件配置

image

2、pxe服务器的系统

A、安装系统:pxe服务器系统安装的是rhel8,采用默认安装方式安装

image

B、系统安装完成后,简单初始化配置

# 1、检查系统网络与防火墙、SELinux状态
[root@linuxprobe ~]# systemctl status firewalld.service   # 状态为:active
[root@linuxprobe ~]# getenforce							  # 状态为:Enforcing
root@linuxprobe ~]# nmcli con show 						  # 状态:启动状态
[root@linuxprobe ~]# ifconfig ens160					  # 检查地址是否正确:正确

# 2、设置时间同步
[root@linuxprobe ~]# vim /etc/chrony.conf
	#内容如下:设置中国时间同步服务器
	   pool 0.cn.pool.ntp.org iburst
	   pool 1.cn.pool.ntp.org iburst
	   pool 2.cn.pool.ntp.org iburst
	   pool 3.cn.pool.ntp.org iburst
[root@linuxprobe ~]# systemctl start chronyd		# 启动时间同步
[root@linuxprobe ~]# systemctl enable chronyd		# 开机自启动
[root@linuxprobe ~]# systemctl status chronyd		# 查看服务状态:active
[root@linuxprobe ~]# systemctl is-enabled chronyd	# 检查是否开机自启 :enabled

# 3、配置本地yum源(光盘镜像处于启动状态)
# step1:挂载关盘镜像
[root@linuxprobe ~]# mkdir /media/cdrom		# 新建光盘挂载目录
[root@linuxprobe ~]# mount /dev/cdrom /media/cdrom	# 临时挂载光盘
[root@linuxprobe ~]# echo "/dev/sr0 /media/cdrom iso9660 defaults 0 0" >> /etc/fstab  # 永久挂载
[root@linuxprobe ~]# lsblk	# 查看是否挂载成功
# step2:配置yum源
[root@linuxprobe ~]# vim /etc/yum.repo.d/redhat.repo
  # 内容如下:
    [BaseOS]
    name=BaseOS
    baseurl=file:///media/cdrom/BaseOS
    enabled=1
    gpgcheck=0
    [AppStream]
    name=AppStream
    baseurl=file:///media/cdrom/AppStream
    enabled=1
    gpgcheck=0
[root@linuxprobe ~]# yum clean all
[root@linuxprobe ~]# yum makecache
[root@linuxprobe ~]# yum repolist	# 检查

二、配置pxe网络引导安装系统相关服务

1、DHCP Server

DHCP服务器主要用于向需要网络引导安装系统的客户端分配IP地址,并告知tftp服务器的ip地址引导文件位置pxelinux.0文件或 shimx64.efi文件)

# step1:安装 dhcp-server 服务
[root@linuxprobe ~]# yum -y install dhcp-server		# A、安装
[root@linuxprobe ~]# systemctl enable dhcpd			# B、设置开机启动
[root@linuxprobe ~]# systemctl is-enabled dhcpd		# 检查是否开机启动
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=dhcp	# C、防火墙放行dhcp服务
[root@linuxprobe ~]# firewall-cmd --reload			# 重新加载防火墙
[root@linuxprobe ~]# firewal-cmd --list-all			# 查看dhcp服务是否被防火墙放行

# step2: 配置DHCP服务
[root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf
	# (要配置的模板内容在:/usr/share/doc/dhcp-server/dhcpd.conf.example文件中第47到55行内容)
	# 内容如下:
		subnet 192.168.50.0 netmask 255.255.255.0 {	# 指定分配IP的地址段和子网掩码
      		range 192.168.50.130 192.168.50.150;	# 指定分配IP地址的范围
      		option routers 192.168.50.2;			# 指定路由地址
      		option broadcast-address 192.168.50.255; # 指定广播域
      		default-lease-time 600;
      		max-lease-time 7200;
    		
      		next-server 192.168.50.228;		# 指定tftp服务的IP地址
      		filename "pxelinux.0";	# 指定引导文件(该文件放在tftp服务的共享根目录下)
   		}

# step3:启动DHCP服务
[root@linuxprobe ~]# systemctl start dhcpd
[root@linuxprobe ~]# systemctl status dhcpd

2、tftp Server

TFTP服务器向网络中需要安装系统的客户端提供引导文件(如:pxelinux.0)、对客户端的pxelinux.cfg或grub.cfg以及vimliuzinitrd文件,并告知客户端ks应答文件的位置

# step1:安装 tftp-server、xinetd;并配置启动tftp服务
#  (原因:tftp服务是由xinetd服务管理的,故需安装xinetd服务)
#  A、安装 -->  B、配置xinetd服务以管理tftp服务 --> C、设置xinetd服务开机启动 --> D、防火墙放行tftp服务 --> E、启动xinetd服务
[root@linuxprobe ~]# yum -y install tftp-server xinetd	# A、安装
[root@linuxprobe ~]# cd /etc/xinetd.d/                  # B、配置xinetd服务以管理tftp服务
[root@linuxprobe ~]# touch tftp						    # 创建tftp
[root@linuxprobe xinetd.d]# vim tftp					# 配置tftp服务
	#(要配置tftp服务的模板内容在:/usr/share/doc/xinetd/sample.conf文件中第142到149行内容)
	# 内容如下:
	service tftp
    	{
        	    socket_type             = dgram
            	wait                    = yes
            	user                    = root
            	server                  = /usr/sbin/in.tftpd		# tftp服务位置
            	server_args             = -s /var/lib/tftpboot		# tftp默认根目录
            	disable					= no						# xinetd启动tftp服务
    	}
[root@linuxprobe xinetd.d]# cd							# C、设置xinetd服务开机启动
[root@linuxprobe ~]# systemctl enable xinetd			# 		xinetd 开机自启
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=tftp	# D、防火墙放行tftp服务
[root@linuxprobe ~]# firewall-cmd --reload							#	重新加载防火墙
[root@linuxprobe ~]# systemctl start xinetd				# E、启动xinetd服务
[root@linuxprobe ~]# systemctl status xinetd			# 检查是否启动成功
		# 1、状态为 active;说明xinetd服务启动
		# 2、有这样信息:Started working: 1 available service,说明xinetd管理的一个服务启动
[root@linuxprobe ~]# netstat -tlunp						# 检查69端口是否启动
		# 3、查看有一个69端口的xinetd服务,说明tftp服务启动(tftp的端口是69)

# step2:向tftp服务根目录中添加网络安装系统所需文件
#   1、添加 “引导文件(pxelinux.0)” (注:所需要的引导文件在 syslinux 这个软件包中;故需要安装该包并将其中引导文件复制到tftp根目录中)
[root@linuxprobe ~]# yum -y install syslinux 	            # A、安装syslinux软件包
[root@linuxprobe ~]# cd /var/lib/tftpboot/		            # B、进入tftp服务的根目录下
[root@linuxprobe tftpboot]# cp -r /usr/share/syslinxu/* ./  # C、将syslinux目录下的所有引导文件复制到tftp服务根目录下
								
# 	2、添加vimliuz、initrd文件和安装时消息提示信息文件boot.msg
#	(vimliuz、initrd文件可以从光盘的系统镜像中复制:/media/cdrom/images/pxeboot/
#	 boot.msg文件在 /media/cdrom/isolinux/目录下)
#     A、将光盘中images/pxeboot目录下的vimliuz、initrd拷贝到tftp根目录下
[root@linuxprobe tftpboot]# cp -p /media/cdrom/images/pxeboot/* ./
#     B、将光盘中消息提示文件boot.msg拷贝到tftp根目录下
[root@linuxprobe tftpboot]# cp -p /media/cdrom/isolinux/boot.msg ./

# 	3、添加系统响应文件(pxelinux.cfg/default),并配置指定系统镜像位置和ks应答文件位置等信息
#	(default文件内容可以从光盘的ioslinux/pexlinux.cfg文件拷贝)
[root@linuxprobe tftpboot]# mkdir pxelinux.cfg
[root@linuxprobe tftpboot]# cd pxelinux.cfg
[root@linuxprobe pxelinux.cfg]# cp -p /media/cdrom/isolinux/isolinux.cfg default
[root@linuxprobe pxelinux.cfg]# chmod 644 default
[root@linuxprobe pxelinux.cfg]# vim default
	# 修改内容如下:
	# 	第1~2行改为如下内容:
			default linux	# 表示用以linux为名的标签下的内容引导系统
			timeout 0		# 表示不用等待,立即引导
	#	第61~64行改为如下内容:
		label linux
      		menu label ^Install Red Hat Enterprise Linux 8.0.0
      		kernel vmlinuz
      		append initrd=initrd.img inst.stage2=http://192.168.50.228/rhel8 inst.ks=http://192.168.50.228/rhel8.ks
      		# (inst.stage2指定系统镜像位置;inst.ks指定kickstart应答文件位置)
[root@linuxprobe pxelinux.cfg]# cd
[root@linuxprobe ~]# 

3、HTTP/FTP/NFS Server

以HTTP服务为例,它是用于向客户端提供系统镜像文件和kickstart响应文件,用于客户端正式安装操作系统。

# step1、安装 httpd 服务,启动并设置开机自启动,且防火墙放行httpd服务
[root@linuxprobe ~]# yum -y install httpd
[root@linuxprobe ~]# systemctl enable httpd
[root@linuxprobe ~]# systemctl start httpd
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=http
[root@linuxprobe ~]# firewall-cmd --reload

# step2、向httpd服务的共享目录下放置系统镜像文件
[root@linuxprobe ~]# cd /var/www/html/
[root@linuxprobe html]# mkdir rhel8
[root@linuxprobe html]# cp -rp /media/cdrom/* rhel8/

# step3、向httpd服务的共享目录下放置kickstart响应文件rhel8.ks;并修改配置
[root@linuxprobe html]# cp ~/anaconda-ks.cfg rhel8.ks
[root@linuxprobe html]# vim rhle8.ks
# 修改内容如下:

#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
# Use graphical install
#graphical
text
repo --name="AppStream" --baseurl=http://192.168.50.228/rhel8/AppStream
# Use HTTP SERVER installation media
url --url=http://192.168.50.228/rhel8/BaseOS
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=ens160 --onboot=on --ipv6=auto --activate
network  --hostname=redhat.com
# Root password
rootpw --iscrypted $6$z1KOHiwhfiqfiSvR$AHzRkayszpNknUI6rIX.kkybgc3ik6FH89jmNaPUybgqUkQyV3pmfkGbfQ7foXT8SMNwO9YEMnsa.RsQx8vVv/
# X Window System configuration information
xconfig  --startxonboot
# Run the Setup Agent on first boot
firstboot --disable
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
user --name=linuxprboe --password=$6$Tx8evCFyqElPOcXn$kNCG58vUBVH/BUQwCp6Fj.urwhZcB.lIawYqQChkmdv26p1YIb6yH9hnTJFmkT5FqnKfTEBF9IufmGletGrA10 --iscrypted 
reboot

%packages
@core
vim
net-tools

%end

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

[root@linuxprobe html]# chmod 644 rhel8.ks 		# 给rhel8.ks可读权限
posted on 2024-01-15 19:09  williamzhuone_1  阅读(20)  评论(0编辑  收藏  举报