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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

余二五 2017-11-15 15:07:00 浏览908
展开阅读全文

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,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
余二五
+ 关注