前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kickstart + PXE 实现无人职守安装 RHEL6 和 RHEL7 系统

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

作者头像
魏豪
修改2017-06-19 19:10:37
2K0
修改2017-06-19 19:10:37
举报
文章被收录于专栏:魏豪的专栏

【批量装机自动化】项目名称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为例)
代码语言:javascript
复制
[development]
name=http://192.168.4.254/rhel6dvd
baseurl=http://192.168.4.254/rhel6dvd
enable=1
gpgcheck=0
  • 在红帽6系统上查看yum源是否可用。
代码语言:javascript
复制
yum repolist      //红帽7同

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

  • 以RHEL7为服务器,安装dhcp包
代码语言:javascript
复制
yum -y install dhcp
  • 配置dhcp服务,修改DHCP主配置文件:vim /etc/dhcp/dhcpd.conf
代码语言:javascript
复制
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服务
代码语言:javascript
复制
systemctl restart dhcpd

3.启动TFTP服务

  • 安装tftp包
代码语言:javascript
复制
yum -y install tftp
  • 启动tftp服务
代码语言:javascript
复制
systemctl restart tftp

4.准备装机文件

  • 创建存储装机的必备文件
代码语言:javascript
复制
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
代码语言:javascript
复制
cp /usr/src/syslinux/pxelinux.0  /var/lib/tftpboot/
  • 下载装机选择时的背景图片和图形模块文件并放在/var/lib/tftpboot/根目录下。
代码语言:javascript
复制
wget http://192.168.4.254/rhldvd/isolinux/vesamenu.c32
wget http://192.168.4.254/rhldvd/isolinux/splash.png
  • 创建目录来存放默认启动配置文件
代码语言:javascript
复制
mkdir /var/lib/tftpboot/pxelinux.cfg/

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

代码语言:javascript
复制
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
代码语言:javascript
复制
system-config-kickstart
  • 导入一个已经存在的包,进行修改,命名为ks-rhel6.cfg。
  • 从真机上去提取ks-rhel6.cfg,并创建目录/var/www/html/rhel6以存放ks-rhel6.cfg。
代码语言:javascript
复制
scp root@192.168.4.10:/root/ks-rhel6.cfg   /var/www/html/rhel6/

2.红帽7上:

  • 装system-config-kickstart软件包
代码语言:javascript
复制
yum -y install system-config-kickstart
  • 运行
代码语言:javascript
复制
system-config-kickstart
  • 导入一个已经存在的包,进行修改,命名为ks-rhel7.cfg。
  • 从真机上去提取ks-rhel7.cfg,并创建目录/var/www/html/rhel7以存放ks-rhel7.cfg。
代码语言:javascript
复制
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文件中修改从硬盘启动为默认启动方式。

代码语言:javascript
复制
label local                                         //从硬盘启动
menu  default                              //默认启动方式
menu label Boot from ^local drive
localboot 0xffff

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

本文系转载,如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目需求:
  • 项目分析:
  • 项目背景
  • 整体思路
  • 实施步骤
  • 疑难解答
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档