kickstart + PXE 实现无人职守安装 RHEL6 和 RHEL7 系统

【批量装机自动化】项目名称PXE + kickstart 实现无人值守批量装机

项目需求:

  1. 利用PXE + kickstart 技术实现无人值守装RHEL6和RHEL7系统
  2. 需要有台DHCP服务器为新装系统提供自动分配IP地址服务。
  3. 新装好的系统需要以红帽官方提供的光盘系统作为本机yum源。

项目分析:

  1. 利用DHCP为新建虚拟机动态分配IP地址
  2. 利用TFTP用来提供装机用的内核,初始化文件,PXE引导程序和配置启动菜单。
  3. 分别在已经安装好的RHEL6和RHEL7系统上利用system-config-kickstart服务生成相应应答文件。

项目背景

PXE + kickstart 技术可解决人工装系统的繁琐的等待以及交互过程,也解决了人工装机的低下效率。利用该技术不仅可实现无人值守自动装系统,还可实现规模化,自动化以及远程实现。规模化就是可以同时装配很多台服务器,也可以同时装配不同的系统类型。自动化就是无人值守,解放劳动力。不需要光盘和U盘等介质。

整体思路

1.装机条件准备

  • 准备RHEL6和RHEL7两个以存在的系统
  • 准备RHEL6和7的安装源(HTTP方式提供yum仓库)
  • 以RHEL7系统为服务器提供DHCP和TFTP服务
  • 配置DHCP服务

2.PXE引导配置

  • 启用TFTP服务,提供装机用的内核,初始化文件
  • 提供PXE引导程序,配置启动菜单

实施步骤

1.配置装机的yum源

  • 挂载红帽光盘,开机自动挂载,挂载到http服务下,实现真机http自动发布yum源。真机:vim /etc/fstab /ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhldvd iso9660 loop,ro 0 0 //红帽7系统光盘挂载 /ISO/rhel-server-6.7-x86_64-dvd.iso /var/www/html/rhel6dvd iso9660 loop,ro 0 0 //红帽6系统光盘挂载
  • 客户机配置yum仓库,vim /etc/yum.repos.d/rhel6.repo (以红帽6为例)
[development]
name=http://192.168.4.254/rhel6dvd
baseurl=http://192.168.4.254/rhel6dvd
enable=1
gpgcheck=0
  • 在红帽6系统上查看yum源是否可用。
yum repolist      //红帽7同

2.服务器上手动搭建DHCP服务

  • 以RHEL7为服务器,安装dhcp包
yum -y install dhcp
  • 配置dhcp服务,修改DHCP主配置文件:vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0        //定义dhcp服务分配网段
{
        range 192.168.4.10 192.168.4.200;         //定义ip地址池            
        option routers 192.168.4.254;             //默认网关
        next-server 192.168.4.2;                  //服务器ip地址
        filename "pxelinux.0";                    //引导文件
}
  • 启动dhcp服务
systemctl restart dhcpd

3.启动TFTP服务

  • 安装tftp包
yum -y install tftp
  • 启动tftp服务
systemctl restart tftp

4.准备装机文件

  • 创建存储装机的必备文件
mkdir -p  /var/lib/tftpboot{/rhel6dvd,/rhel7dvd}
  • 分别在这两个目录下存放各自装系统的内核文件和初始化文件,在红帽系统盘下/isolinux里下载vmlinuz和initrd.img (以RHEL6为例) cd /var/lib/tftpboot/rhel6 wget http://192.168.4.254/rhldvd/isolinux/vmlinuz wget http://192.168.4.254/rhldvd/isolinux/initrd.img
  • 复制pxelinux.0引导文件到/var/lib/tftpboot
cp /usr/src/syslinux/pxelinux.0  /var/lib/tftpboot/
  • 下载装机选择时的背景图片和图形模块文件并放在/var/lib/tftpboot/根目录下。
wget http://192.168.4.254/rhldvd/isolinux/vesamenu.c32
wget http://192.168.4.254/rhldvd/isolinux/splash.png
  • 创建目录来存放默认启动配置文件
mkdir /var/lib/tftpboot/pxelinux.cfg/

下载红帽系统光盘自带的启动配置文件(放在/pxelinux.cfg目录下)进行修改。需要修改地方有如下几处:在红帽系统盘下/isolinux里下载。注意:只需要留以下四处:安装红帽6和7,救援模式,默认选择方式(并在其配置条目里设置 menu default )

wget http://192.168.4.254/rhldvd/isolinux/isolinux.cfg -O /var/lib/tftpboot/pxelinux.cfg/
cd /var/lib/tftpboot/pxelinux.cfg/
mv isolinux.cfg   default.cfg

5.准备kickstart应答文件

1.红帽6上:

  • 装system-config-kickstart软件包yum -y install system-config-kickstart
  • 运行system-config-kickstart
system-config-kickstart
  • 导入一个已经存在的包,进行修改,命名为ks-rhel6.cfg。
  • 从真机上去提取ks-rhel6.cfg,并创建目录/var/www/html/rhel6以存放ks-rhel6.cfg。
scp root@192.168.4.10:/root/ks-rhel6.cfg   /var/www/html/rhel6/

2.红帽7上:

  • 装system-config-kickstart软件包
yum -y install system-config-kickstart
  • 运行
system-config-kickstart
  • 导入一个已经存在的包,进行修改,命名为ks-rhel7.cfg。
  • 从真机上去提取ks-rhel7.cfg,并创建目录/var/www/html/rhel7以存放ks-rhel7.cfg。
scp root@192.168.4.10:/root/ks-rhel7.cfg   /var/www/html/rhel7/

6.进行装机

  • 根据用户需求去进行操作。可装机,修复,进行默认操作。

疑难解答

1.手动进行配置分区并保证应答文件和创建虚拟机时选择硬盘类型一致,均为VirtIO。

2.注释掉kickstart应答文件关于LVM的那一行配置

3.在/var/lib/tftpboot/pxelinux.cfg/default文件中修改从硬盘启动为默认启动方式。

label local                                         //从硬盘启动
menu  default                              //默认启动方式
menu label Boot from ^local drive
localboot 0xffff

4.创建应答文件时,选择软件包时应该注意全部勾选。

原文链接:

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏抠抠空间

Linux上安装pip以及setuptools

1240
来自专栏魏艾斯博客www.vpsss.net

军哥 LNMP 1.5 测试版发布

1623
来自专栏运维一切

sentry部署整理 原

sentry是python开发的一个应用,使用python uWSG框架运行,所有安装完sentry要记得在nginx的代理上禁用掉/admin路径,不然uws...

941
来自专栏运维技术迷

连仕彤博客yum报错:No module named gzip解决

起因 小威wei yum update了一把,结果yum就报错了,Python版本并没有升级,依然是2.7.5版本。 报错信息 [root@localhost ...

3534
来自专栏pangguoming

已处理证书链,但是在不受信任提供程序信任的根证书中终止

win7 或以下系统没有 证书管理机构, 用下面方法彻底可以解决 证书不认问题 https://social.technet.microsoft.com/For...

6158
来自专栏deed博客

win2003服务器安全设置教程

1524
来自专栏我的安全视界观

【应急响应】redis未授权访问致远程植入挖矿脚本(攻击篇)

2016
来自专栏小白课代表

简洁平凡的PC清理工具——CCleaner

1296
来自专栏逸鹏说道

GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9

安装系列: 软件下载:http://git-scm.com/download/ 环境搭建:(比较简单,看图) ? ? ? ? ? ? ? ? 下面是命令模式,需...

2784
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用StrongSwan设置IKEv2 VPN服务器

虚拟专用网络(VPN)允许您在通过不受信任的网络(例如咖啡店,会议或机场的网络)时安全地加密流量。

1122

扫码关注云+社区