搭建PXE网络实现远程装机服务

    PXE(Pre-boot Execution Environment,预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统


PXE远程装机的好处:

*规模化:同时装配多台服务器

*自动化:安装系统、配置各种服务

*远程实现:不需要光盘、U盘等安装介质


杨书凡16.png


搭建PXE网络环境的前提条件

    既然是通过网络传输,那么计算机在启动时,它的IP地址有谁来分配;又是怎样下载到Linux内核和给文件系统的呢?

网卡:客户机的网卡支持PXE协议,且主板主持网络引导,并设置BIOS中允许从Network或LAN启动

DHCP:网络中有一台DHCP服务器为客户机分配地址、指定引导文件,并添加相应的PXE特有配置

TFTP:通过TFTP服务器提供引导镜像文件的下载


搭建PXE远程装机服务器

    本案例PXE远程装机服务器集成了RHEL安装源、TFTP、DHCP服务

案例:随着公司业务不断发展,服务器数量也迅速增长,需要重新安装RHEL6操作系统。为了提高服务器装机效率,要求基于PXE网络实现全自动无人值守批量安装

需求描述:

1. 服务器的IP地址为192.168.1.10,所在网段为192.168.1.0/24

2. 搭建PXE网络装机服务器,为新采购的10台服务器裸机安装RHEL操作系统

3. 新装的系统必须包括基本组件、开发工具、LAMP平台,默认语言为中文

4. 为新装的系统自动配置好YUM仓库,root设置密码为password


实验步骤:

1. 准备RHEL6安装源

    RHEL安装源一般通过HTTP、FTP协议发布,也支持NFS协议。本例采用FTP发布安装源,并配置YUM软件仓库,YUM软件仓库的配置方法请参阅我的上一篇博客,这里不在赘述

1
2
3
4
5
[root@localhost ~] # yum -y install vsftpd           //安装vsftpd服务
[root@localhost ~] # mount /dev/cdrom /media/        //挂载系统光盘
mount : block device  /dev/sr0  is write-protected, mounting  read -only
[root@localhost ~] # cp -rf /media/* /var/ftp/rhel   //准备安装源
[root@localhost ~] # service vsftpd restart          //开启vsftpd服务

 

2. 安装并启用TFTP服务

    TFTP服务默认由超级服务xinetd超级服务器进行管理

1
2
3
4
5
[root@localhost ~] # yum -y install tftp-server     //安装tftp服务
[root@localhost ~] # vim /etc/xinetd.d/tftp         //修改以下配置项,将yes改为no
         disable                 = no
         
[root@localhost ~] # service xinetd start           //开启xinetd服务


3. 准备Linux内核、初始化镜像文件

1
2
[root@localhost media] # cd /media/images/pxeboot/      //将这两个文件复制到tftp服务的根目录下
[root@localhost pxeboot] # cp vmlinuz initrd.img /var/lib/tftpboot/


4. 准备PXE引导程序、启动菜单文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~] # yum -y install syslinux   //安装PXE引导程序,并复制到tftp根目录下
[root@localhost ~] # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~] # mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~] # vim /var/lib/tftpboot/pxelinux.cfg/default
default auto            // 指定默认入口名称
prompt 1                //1 表示等待用户控制,0表示不等待用户控制
label auto              // 图形安装
       kernel vmlinuz 
       append initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text        // 文本安装
       kernel vmlinuz
       append text initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux rescue      // 救援模式
       kernel vmlinuz
       append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192


5. 安装并启用DHCP服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~] # yum -y install dhcp          //安装dhcp服务
[root@localhost ~] # vim /etc/dhcp/dhcpd.conf     //修改配置文件分配地址,并指定引导文件位置
# A slightly different configuration for an internal subnet.
subnet 192.168.1.0 netmask 255.255.255.0 {        // 定义网段
   range 192.160.1.100 192.168.1.200;              // 分配地址池
   option domain-name-servers 192.168.1.10;        //DNS 服务器地址
   option domain-name  "yangshufan.com" ;            // 域名
   option routers 192.168.1.10;                    // 路由地址
   option broadcast-address 192.168.1.255;         // 广播地址
   default-lease- time  600;                         // 默认租约时间
   max-lease- time  7200;                            // 最大租约时间
   next-server 192.168.1.10;                       //PXE 服务器IP地址
   filename  "pxelinux.0" ;                          //PXE 引导程序的文件名
}
[root@localhost ~] # service dhcpd start          //开启dhcpd服务,需要配置静态IP地址


    现在就可以在客户机上进行安装测试了,然而安装期间仍需手动选择语言、键盘类型、指定安装源等一系列交互操作,十分不方便,通过Kickstart工具配置安装应答文件,自动完成安装中的各种设置,从而无需手动干预,提高网络装机效率

杨书凡17.png

杨书凡18.png


6. 实现Kickstart无人值守安装

(1)安装system-config-kickstart工具

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


(2)准备安装应答文件

    通过桌面菜单“应用程序”\“系统工具”\“Kickstart”即可打开“Kickstart配置窗口”,对各种安装设置进行指定

1)基本配置

杨书凡19.png


2)安装方法

杨书凡26.png


3)分区信息

杨书凡21.png


4)网络配置

杨书凡22.png


5)防火墙设置

杨书凡23.png


6)软件包选择

    根据需要选择需要安装的软件包分组,本例选择“基本”、“万维网服务”、“X窗口系统”、“字体”、“桌面”、“开发工具”、“中文支持”等

杨书凡24.png


7)安装脚本

杨书凡28.png



(3)保存自动应答文件

杨书凡27.png


(4)启动自动应答文件

1
2
3
4
5
6
7
8
[root@localhost ~] # vim ks.cfg 
[root@localhost ~] # cp ks.cfg /var/ftp/rhel/ks.cfg
[root@localhost ~] # vim /var/lib/tftpboot/pxelinux.cfg/default 
default auto
prompt 0                // 修改为0,表示不等待用户控制
label auto
       kernel vmlinuz       // 添加引导参数,指定ks.cfg文件的URL路径
       append ks= ftp : //192 .168.1.10 /rhel/ks .cfg initrd=initrd.img devfs=nomount ramdisk_size=8192


7. 验证无人值守安装

杨书凡29.png










本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/2058885,如需转载请自行联系原作者
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值