部署PXE远程安装服务及实现Kickstart无人值守安装

本文详细介绍了如何利用PXE进行大规模服务器的远程批量安装,包括搭建PXE服务器、配置DHCP和TFTP服务、安装Linux内核和引导程序。此外,还讲解了kickstart技术,使得系统安装可以自动化进行,极大地提高了效率。
摘要由CSDN通过智能技术生成

前言

在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量。
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

搭建PXE远程安装服务器

PXE 批量部署的优点:
1、规模化:同时装配多台服务器
2、自动化:安装系统、配置各种服务
3 、远程实现 :不需要光盘、U盘等安装介质
在这里插入图片描述
PXE (Preboot eXcution Environment)
预启动执行环境,在操作系统之前运行

服务端
运行DHCP服务,用来分配地址、定位引导程序
运行TFTP服务,提供引导程序下载

客户端
网卡支持PXE协议
主板支持网络引导

基本配属过程
1.准备CentoS7安装源(YUM仓库)
2.安装并启用TFTP服务
3.提供Linux内核、PXE引导程序等
4.安装并启用DHCP服务
5.配置启动菜单

PXE安装项目

需求:
一台服务器 地址192.168.100.10/24
一台客户机(没系统的)
客户机网卡支持PXE协议,且主板支持网络引导

1、安装 tftp-server.x86_64 0:5.2-13.el7
进入 /etc/xinetd.d/tftp 修改disable 把yes改成no 意思是开启tftp

[root@server1 ~]# yum -y install tftp-server
[root@server1 ~]# vi /etc/xinetd.d/tftp 
server_args             = -s /var/lib/tftpboot
        disable                 = no

2、 安装dhcp 进入/etc/dhcp/dhcpd.conf 里面添加配置

[root@server1 ~]# yum -y install dhcp
[root@server1 ~]# vi /etc/dhcp/dhcpd.conf 

ddns-update-style none;        --支持dns动态更新,一般选择关闭
next-server 192.168.100.10;    ----指定tftp服务器地址
filename "/pxelinux.0";    ---引导文件 tftp上的位置
subnet 192.168.100.0 netmask 255.255.255.0 {  
        range 192.168.100.120 192.168.100.200;  ----------安装客户机地址的范围
        option routers 192.168.100.10;  ----客户机的网关
        option domain-name-servers 8.8.8.8, 4.4.4.4;   ---dns
}

3、安装vsftp 并把/dev/cdrom 挂载到/var/ftp/pub下面
进入 /etc/vsftpd/vsftpd.conf 设置配置

[root@server1 ~]# yum -y install vsftpd
[root@server1 ~]# mount /dev/cdrom /var/ftp/pub
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf 
[root@server1 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$"
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@server1 ~]# 
 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、复制网络启动所需要的文件到tftp服务器的根目录下

[root@pxe ~]# yum -y install syslinux-----安装引导加载程序

[root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@pxe ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/--------linux引导加载模块
[root@pxe ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/----------压缩内核
[root@pxe ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@pxe ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg//default------启动菜单
[root@pxe ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/-------图形化启动菜单
root@server1 ~]# cd /var/lib/tftpboot/
[root@server1 tftpboot]# ls -lh
总用量 52M
-rw-r--r-- 1 root root  47M 1031 16:19 initrd.img
-rw-r--r-- 1 root root  27K 1031 16:19 pxelinux.0
drwxr-xr-x 2 root root   21 1031 16:20 pxelinux.cfg
-rw-r--r-- 1 root root 150K 1031 16:20 vesamenu.c32
-rwxr-xr-x 1 root root 5.7M 1031 16:19 vmlinuz
[root@server1 tftpboot]# 

5、修改安装的配置文件
[root@pxe ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

default auto----------默认图形化安装
prompt 1--------------需要用户的选择
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.10/pub
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.10/pub
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.10/pub

6、 启动所有服务
[root@pxe ~]# systemctl start dhcpd
[root@pxe ~]# systemctl start vsftpd
[root@pxe ~]# yum -y install xinetd
[root@pxe ~]# systemctl start xinetd
[root@pxe ~]# chkconfig --level 35 xinetd on
[root@pxe ~]# chkconfig --level 35 tftp on

7、把客户机BIOS设置从Network或LAN启动
在这里插入图片描述

kickstart无人值守技术

kickstar概述
使用kickstart,系统管理员在安装虚拟机时就可以自动回答安装常见的问题,使redhat 的linux虚拟机可以更方便地自动安装,即无人一键安装

1、在手动pex基础上安装system-config-kickstart 软件 在系统工具里生成一个kickstart软件

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/bin/bash

cd /etc/yum.repos.d
rm -f *
echo -e "[base]" >> aa.repo
echo -e "name=yum" >> aa.repo
echo -e "baseurl=ftp://192.168.100.10" >> aa.repo
echo -e "gpgcheck=0" >> aa.repo
echo -e "enable=1" >> aa.repo

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、进入 /var/lib/tftpboot/pxelinux.cfg/default 修改prompt 改成0 (自动化)添加 ks=ftp://192.168.100.10/ks.cfg

[root@pxe ~]# vi /var/lib/tftpboot/pxelinux.cfg/default 

default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.10/pub  ks=ftp://192.168.100.10/ks.cfg
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.100.10/pub
label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.100.10/pu

3、把anaconda-ks.cfg 里面的模板复制到 vi /var/ftp/ks.cfg 末尾

[root@pxe ~]# vi anaconda-ks.cfg 
%packages
@^gnome-desktop-environment
@backup-client
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-apps
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@multimedia
@network-file-system-client
@networkmanager-submodules
@office-suite
@print-client
@security-tools
@smart-card
@x11
kexec-tools

%end

4、配置完成 把客户机BIOS设置Network或者LAN 安装完成再设回硬盘启动

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值