PXE 网络装机和kickstart 无人值守安装

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

PXE 网络装机


1.PXE 服务器

    操作系统:RHEL 6.5

    网卡连接:eth0  (VMnet4)

    主机名:pxesvr.tarena.com

    IP地址:192.168.4.6/24

    ——  关闭 iptables 防火墙、SELinux防护机制

[root@ser5 桌面]# service iptables stop

[root@ser5 桌面]# chkconfig iptables off

[root@ser5 桌面]# setenforce 0

[root@ser5 桌面]# vim /etc/selinux/config 

SELINUX=permissive

[root@ser5 桌面]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 

IPADDR=192.168.4.6

NETMASK=255.255.255.0

[root@ser5 桌面]# vim /etc/sysconfig/network

HOSTNAME=pxesvr.tarena.com

[root@ser5 桌面]# reboot

2. PXE 客户机

    新建一台RHEL6虚拟机(裸机)

    内存:1GB

    硬盘:20GB

    光盘:无

    网卡连接:eth0 (VMnet4)

    !!!! 注意:客户机与服务器应在同一物理网段,并排除其他DHCP服务器的干扰

3.搭建PXE装机服务器

1)搭建FTP类型的yum

[root@pxesvr 桌面]# yum -y install vsftpd  #安装ftp服务器

[root@pxesvr 桌面]# service vsftpd restart  #重启ftp服务器

[root@pxesvr 桌面]# chkconfig vsftpd on  #设置开机自启动

[root@pxesvr 桌面]# mkdir /var/ftp/rhel6  #在ftp的根目录下创建存放光盘文件的目录

[root@pxesvr 桌面]# cp -r /misc/cd/* /var/ftp/rhel6/  #将安装光盘的所有文件放在ftp的根目录下

[root@pxesvr 桌面]# cd /etc/yum.repos.d/

[root@pxesvr yum.repos.d]# vim dvd.repo  #创建yum源的配置文件

[rhel-6.4]

name=RHEL 6.5 Packages

baseurl=ftp://192.168.4.6/rhel6

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[root@pxesvr ftp]# yum repolist  #查看yum是否配置成功

2)配置DNS服务

[root@pxesvr rhel6]# yum -y install bind bind-chroot  #安装DNS服务器所需的软件包

[root@pxesvr rhel6]# service named restart  #重启DNS服务

[root@pxesvr rhel6]# chkconfig named on  #设置DNS服务器开机自启动

[root@pxesvr etc]# mv /etc/named.conf /etc/named.conf.bak  #使默认配置文件失效

[root@pxesvr rhel6]# cd /var/named/chroot/etc/

[root@pxesvr etc]# vim named.conf  #配置DNS的主配置文件,分别设置正向和反向搜索域

options{

        directory "/var/named";

};

zone "tarena.com" IN {

        type master;

        file "tarena.com.zone";

};

zone "4.168.192.in-addr.arpa" IN {

        type master;

        file "192.168.4.arpa";

};

[root@pxesvr named]# cd /var/named/chroot/var/named/

[root@pxesvr named]# vim tarena.com.zone   #创建正向解析域的配置文件

$TTL 1D

@ SOA tarena.com.  root.tarena.com.  (

        2014072101

        8H

        2H

        4H

        1D

)

@       IN      NS      ns.tarena.com.

ns      IN      A       192.168.4.6

pxesvr  IN      A       192.168.4.6

ftp     IN      CNAME   pxesvr

$GENERATE       100-200 pc$     IN      A       192.168.4.$

[root@pxesvr named]# vim 192.168.4.arpa   #创建反向解析域的配置文件

$TTL 1D

@ SOA tarena.com.  root.tarena.com.  (

        2014072101

        8H

        2H

        4H

        1D

)

@       IN      NS      ns.tarena.com.

6       IN      PTR     pxesvr.tarena.com.

$GENERATE       100-200 $       IN      PTR     pc$.tarena.com.

[root@pxesvr named]# named-checkconf /var/named/chroot/etc/named.conf  #检查主配置文件的语法是否正确

[root@pxesvr named]# named-checkzone tarena.com tarena.com.zone   #检查正向解析域配置文件语法是否正确

zone tarena.com/IN: loaded serial 2014072101

OK

[root@pxesvr named]# named-checkzone 4.168.192.in-addr.arpa 192.168.4.arpa   #检查反向解析域配置文件语法是否正确

zone 4.168.192.in-addr.arpa/IN: loaded serial 2014072101

OK

[root@pxesvr named]# vim /etc/resolv.conf  #设置默认的DNS服务器地址

nameserver 192.168.4.6

[root@pxesvr named]# service named restart  #重启服务生效

3)配置DHCP服务

[root@pxesvr named]# yum -y install dhcp  #安装dhcp服务器

[root@pxesvr named]# vim /etc/dhcp/dhcpd.conf  #配置dhcp的主配置文件

option domain-name "tarena.com";

option domain-name-servers 192.168.4.6;

default-lease-time 7200;

max-lease-time 14400;

subnet 192.168.4.0 netmask 255.255.255.0 {

        range 192.168.4.100 192.168.4.200;

        option routers 192.168.4.254;

        next-server 192.168.4.6;

        filename "pxelinux.0";

}

[root@pxesvr named]# service dhcpd restart  #重启服务

[root@pxesvr named]# chkconfig dhcpd on  #设置开机自启动

4)启用TFTP服务,并提供内核、引导程序

[root@pxesvr /]# yum -y install tftp-server  #安装tftp服务器用户提供内核和引号程序的安装

[root@pxesvr /]# chkconfig tftp on  #开启tftp服务

[root@pxesvr /]# service xinetd restart  #重新临时服务

[root@pxesvr /]# yum -y install syslinux 

[root@pxesvr /]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝网卡启动文件到tftp的主目录

[root@pxesvr /]# cd /var/ftp/rhel6/images/pxeboot/

[root@pxesvr pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/  #复制客户机的内核和初始化镜像到tftp的主目录

[root@pxesvr pxeboot]# ls /var/lib/tftpboot/    #确认tftp主目录所需的文件

initrd.img  pxelinux.0  vmlinuz

5)为PXE安装配置启动菜单

[root@pxesvr pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg  #创建启动配置目录

[root@pxesvr pxeboot]# cp /var/ftp/rhel6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  #复制拷贝模板配置

[root@pxesvr pxelinux.cfg]# chmod 755 /var/lib/tftpboot/pxelinux.cfg/default #修改模板的权限可以修改

[root@pxesvr ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default   //修改默认启动设置

default   linux     #//默认从哪个标签引导系统

prompt 1     #//是否交互式安装

timeout 600     #//进入默认系统的等待超时(单位:1/10秒)

label linux    #//定义名为linux的标签

        kernel  vmlinuz   #//选择此标签时,需要加载的内核文件

        append  initrd=initrd.img   #//加载内核文件时附加的参数

4.测试 PXE 网络装机


1). 启动一台裸客户机(新建虚拟机),默认会从网卡启动

    !!!! 如果是已有系统的客户机,则需要调整BIOS设置,将网络引导作为第一启动设备


2). 客户机启动后的基本过程

    1)自动获取IP地址

    2)下载 pxelinux.0 引导文件

    3)读取 pxelinux.cfg/default 配置文件

    4)在 boot: 后输入要安装的系统标签(比如 linux)进行选择,直接回车或超时过均选择默认

    5)根据选择结果执行相应的引导文件:vmlinuz、initrd

    6)加载安装向导程序,进入交互式安装过程。。。

     !!!! 指定采用URL源,自动获取IP地址

     !!!! 将安装源设置为  ftp://192.168.4.6/rhel6 

     !!!! 此后的安装设置、分区、软件包定制等过程与光盘安装相同

     —— 至此,说明 PXE 引导及配置已成功,可中止后续手动安装的验证过程

     —— 等待后续的 kickstart 无人值守安装测试



配置 kickstart 无人值守安装

1. 准备应答文件

    找一台已装好的RHEL 6.5 模板客户机(本例中可选 PXE 服务器本机),

    通过 system-config-kickstart 工具创建 ks-el6.cfg 应答文件

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

[root@pxesvr ~]# system-config-kickstart   //在图形桌面下运行

     !!!! 打开 /root/anaconda-ks.cfg 文件,作为应答文件模板

     !!!! 基本配置:指定默认语言、时区、根口令(123456)

     !!!! 安装方式:新安装、FTP安装(192.168.4.6、/rhel6)

     !!!! 分区信息:清除主引导记录、删除所有现存分区、初始化磁盘标签、/boot 200MB、SWAP 2GB、/  剩余空间

     !!!! 网络配置:第一块网卡DHCP自动获取

     !!!! 防火墙配置:禁用SELinux、禁用防火墙

     !!!! 软件包选择:不安装图形桌面

     !!!! 安装后脚本:从 pxesvr 自动下载并部署 YUM 客户端配置、安装并启动 httpd 网站服务

    rm  -rf  /etc/yum.repos.d/*

    wget  ftp://192.168.4.6/rhel6.repo  -O  /etc/yum.repos.d/rhel6.repo

    yum  clean  all

    yum  -y  install  httpd

    echo  "I  LOVE  TARENA"  > /var/www/html/index.html

    /etc/init.d/httpd  start

  chkconfig  httpd  on

注明:在软件包选择中必须选择一项,否则在安装过程中会让重新选择

     !!!! 经上述调整后,另存为应答文件 /opt/ks-el6.cfg

2. 在 PXE 服务器上部署应答文件、为客户机准备的YUM配置文件

[root@pxesvr /]# cp /opt/ks-el6.cfg /var/ftp/   #将应答文件复制到ftp的主目录里面

[root@pxesvr /]# vim /var/lib/tftpboot/pxelinux.cfg/default  #修改启动菜单模板文件内容

default   linux     #//默认从哪个标签引导系统

prompt 1     #//是否交互式安装

timeout 600     #//进入默认系统的等待超时(单位:1/10秒)

label linux    #//定义名为linux的标签

        kernel  vmlinuz   #//选择此标签时,需要加载的内核文件

        append  ks=ftp://192.168.4.6/ks-el6.cfg  initrd=initrd.img       #//下载并启用自动应答文件,并加载初始化文件


[root@pxesvr ~]# vim  /var/ftp/rhel6.repo 

[rhel-6.4]

name=RHEL 6.5 Packages

baseurl=ftp://192.168.4.6/rhel6

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


[root@pxesvr ~]# ls /var/ftp/   //确认部署结果

ks-el6.cfg  pub  rhel6  rhel6.repo


[root@pxesvr ~]# wget  ftp://192.168.4.6/rhel6.repo   //测试下载上述两文件

[root@pxesvr ~]# wget  ftp://192.168.4.6/ks-el6.cfg


[root@pxesvr ~]# ls  -lh  rhel6.repo  ks-el6.cfg   //确认下载结果

-rw-r--r--. 1 root root 1.7K 7月  19 23:04 ks-el6.cfg

-rw-r--r--. 1 root root  145 7月  19 23:07 rhel6.repo


3. 启动一台裸客户机(新建虚拟机),测试无人值守安装

     !!!! 安装设置过程会自动应答,免手工交互

     !!!! 等待客户机系统安装完成

4. 检查装好的客户机,确认 POST 脚本设置结果


[root@pc100 ~]# ifconfig  eth0  |  grep  "inet addr"   //查看自动配置的IP地址

          inet addr:192.168.4.100  Bcast:192.168.4.255  Mask:255.255.255.0


[root@pc100 ~]# chkconfig  --list  httpd   //查看Web服务的自启动状态

httpd           0:off 1:off 2:on 3:on 4:on 5:on 6:关闭

    

[root@pc100 ~]# yum  -y  install  elinks   //确保可yum安装软件包

[root@pc100 ~]# elinks  --dump  http://127.0.0.1   //访问测试网页

I  LOVE  TARENA











本文转自 无心低语 51CTO博客,原文链接:http://blog.51cto.com/fengzhankui/1542251,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
133 0
|
3月前
|
监控 安全 网络协议
这10款网络扫描工具,是个网工,都想全部安装!
这10款网络扫描工具,是个网工,都想全部安装!
255 1
|
3月前
|
Linux
虚拟机安装Linux系统的网络配置
该博客文章提供了解决虚拟机中Linux系统网络问题的多种方法,包括重置网络服务、修改网络配置文件、使用不同网络模式等,以确保虚拟机能够成功连接到网络。
虚拟机安装Linux系统的网络配置
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
260 0
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
3月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
|
3月前
|
存储 Kubernetes 调度
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
60 0
|
3月前
|
人工智能 物联网 异构计算
AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用
AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用
223 0
|
3月前
|
Ubuntu 虚拟化
Ubuntu——VMware安装后网络提示线缆已拔除
Ubuntu——VMware安装后网络提示线缆已拔除
75 0
|
4月前
|
Linux 虚拟化
部署04-ncpa.cpl 虚拟机介绍,什么是虚拟机,怎样使用虚拟机,安装VMWARE,WorkStation,VMWARE这款软件是收费软件,可以在一个月期间进行使用,成功看VMWARE高级网络设置
部署04-ncpa.cpl 虚拟机介绍,什么是虚拟机,怎样使用虚拟机,安装VMWARE,WorkStation,VMWARE这款软件是收费软件,可以在一个月期间进行使用,成功看VMWARE高级网络设置
|
6月前
|
小程序 Ubuntu Linux
PXE高效批量网络装机
PXE高效批量网络装机