1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PXE无人值守安装

PXE无人值守安装

时间:2021-07-05 10:53:05

相关推荐

PXE无人值守安装

1.PXE无人值守安装

1) 实验一:搭建PXE Server

服务器IP为192.168.10.253,可以给192.168.10.0/24安装RHEL5.9

分别给每台客户端分配主机名,格式如下

192.168.10.x

安装所需要的软件包存放在/data/iso/rhel5.9

1.网络配置

编辑网卡配置文件

[root@PXE-Server~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

HWADDR=00:0c:29:ad:f5:27

IPADDR=192.168.0.252

NETMASK=255.255.255.0

GATEWAY=192.168.0.252

网络服务重新启动

[root@PXE-Server~]# /etc/init.d/network restart

正在关闭接口 eth0: [确定]

关闭环回接口: [确定]

弹出环回接口: [确定]

弹出界面 eth0: [确定]

将网络服务设为开机启动

[root@PXE-Server~]# chkconfig --list network

network 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

修改主机名(非必须)

[root@PXE-Server~]# vim /etc/sysconfig/network

HOSTNAME=PXE-

NETWORKING=yes

HOSTNAME=os.server

为了使修改直接生效,可以直接再开终端Ctrl+Shift+t

关闭NetworkManager服务(非必须)

[root@PXE-Server~]# /etc/init.d/NetworkManager status

NetworkManager已停

[root@PXE-Server~]# chkconfig --list NetworkManager

NetworkManager 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

配置yum源文件

[root@PXE-Server~]# cd /etc/yum.repos.d/

[root@PXE-Serveryum.repos.d]# ls

rhel-debuginfo.repo

[root@PXE-Serveryum.repos.d]# cp rhel-debuginfo.repo dvd.repo

[root@PXE-Serveryum.repos.d]# vim dvd.repo

[rhel-server]

name=RedHat

baseurl=file:///media/Server

enabled=1

gpgcheck=0

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

[root@PXE-Serveryum.repos.d]# yum clean all

查看yum源的配置情况

[root@PXE-Server~]# yum repolist

Loadedplugins: product-id, security, subscription-manager

Thissystem is not registered to Red Hat Subscription Management. You can usesubscription-manager to register.

rhel-server | 1.5 kB 00:00

rhel-server/primary | 932 kB 00:00

rhel-server3335/3335

repoid repo name status

rhel-server Red Hat 3,335

repolist:3,335

证明yum源配置正确

确定防火墙与SELinux关闭

[root@PXE-Server~]# /etc/init.d/iptables status

防火墙已停

[root@PXE-Server~]# getenforce

Disabled

2.实验步骤:

01. 配置DHCP(给需要安装系统的主机分配ip)

[root@pxesvr~]# yum -y installdhcp //安装 dhcp 服务程序

[root@pxesvr~]# vim /etc/dhcp/dhcpd.conf

option domain-name "";

option domain-name-servers 192.168.4.6;

default-lease-time 7200;6

max-lease-time 14400;

subnet192.168.4.0 netmask 255.255.255.0{

range192.168.4.100 192.168.4.200;

option routers 192.168.4.254;

next-server 192.168.4.6; #//TFTP引导服务器的地址

filename "pxelinux.0"; #//网卡引导文件名

}

[root@pxesvr~]# service dhcpd restart //启动 dhcpd 服务

[root@pxesvr~]# netstat -anptu |grep dhcpd //查看监听状态

udp 0 0 0.0.0.0:67 0.0.0.0:* 4095/dhcpd

[root@pxesvr~]# chkconfig dhcpd on //设置 dhcpd 服务开机自运行

02. 配置DNS

[root@pxesvr~]# yum -y install bind bind-chroot

[root@pxesvr ~]# mv/etc/named.conf/etc/named.conf.old //避免默认配置干扰

[root@pxesvr ~]# vim/var/named/chroot/etc/named.conf //DNS服务的主配置文件

options {

directory "/var/named";

};

zone "" IN { //定义正向区域

type master;

file ".zone";

};

zone"4.168.192.in-addr.arpa" IN { //定义反向区域

type master;

file "192.168.4.arpa";

};

[pxesvr ~]# vim/var/named/chroot/var/named/.zone //正向区域数据文件

$TTL1D

@ . . (

072101

8H

2H

4H

1D

)

@ IN NS .

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.$

[@pxesvr ~]# cat/var/named/chroot/var/named/192.168.4.arpa //反向区域数据文件

$TTL1D

@ . . (

072101

8H

2H

4H

1D

)

@ IN NS .

6 IN PTR .

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

[root@pxesvr ~]# servicenamed restart //启动 named 服务

。。。

[root@pxesvr ~]# chkconfignamed on //设置 named 服务开机自运行

[root@pxesvr ~]# vim/etc/resolv.conf //设置 DNS 客户端文件

Search

nameserver 192.168.4.6

[root@pxesvr ~]# //测试,确保 DNS 解析可用

has address 192.168.4.6

[root@pxesvr ~]# host

has address 192.168.4.123

[root@pxesvr ~]# host192.168.4.123

123.4.168.192.in-addr.arpa domain name .

03. 配置TFTP

[root@pxesvr ~]# yum-y install tftp-server //安装 TFTP 服务器程序

[root@pxesvr ~]# chkconfigtftp on //将临时服务 tftp 设为启用

[root@pxesvr ~]# servicexinetd restart //启用 xinetd 超级服务

[root@pxesvr ~]# netstat-anptu | grepxinetd //查看监听状态

udp 0 0 0.0.0.0:69 0.0.0.0:* 30426/xinetd

[root@pxesvr ~]# chkconfigxinetd on //设置 dhcpd 服务开机自运行

04. 准备装机文件initrd.imgpxelinux.0 vmlinuz

a)提取 pxelinux.0
法1直接从光盘目录提取

[root@pxesvr ~]# rpm2cpio/var/ftp/rhel6/Packages/syslinux-4.02-8.el6.x86_64.rpm | \

cpio -id./usr/share/syslinux/pxelinux.0提取光盘内的 pxelinux.0 文件

。。。

[root@pxesvr ~]# mvusr/share/syslinux/pxelinux.0/var/lib/tftpboot/

//提取引导RHEL6客户机的网卡启动文件

[root@pxesvr ~]# rm-rf usr/ //清理残留的目录

法2查找pxelinux.0文件,因为本机开机时也需要该文件,所以本机上必然存在。

[root@PXE-Server ~]# find / -name pxelinux.0

/usr/share/syslinux/pxelinux.0

/tftpboot/linux-install/pxelinux.0

法3 安装 安装syslinux 提取pxelinux.0

[root@server01 ~]# rpm -ql syslinux | grep pxelinux.0

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0

[root@os chroot]# yum -y install syslinux

[root@oschroot]# cp /var/ftp/redhat6.5/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

[root@oschroot]# cd /var/lib/tftpboot/

[root@ostftpboot]# ls

initrd.img vmlinuz

[root@ostftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@ostftpboot]# ls

initrd.imgpxelinux.0 vmlinuz

b)提取initrd.img 和 vmlinuz 文件

[root@pxesvr ~]# cd /var/ftp/rhel6/p_w_picpaths/pxeboot/ //拷贝引导RHEL6客户机的内核和初始化镜像

[root@pxesvr isolinux]# cpvmlinuz initrd.img /var/lib/tftpboot/

[root@pxesvr ~]# ls/var/lib/tftpboot/ //确认 TFTP 根目录下部署的文档

initrd.imgpxelinux.0 vmlinuz

c)测试 TFTP 服务 (可选)

[root@pxesvr ~]# yum-y install tftp //安装TFTP 客户端命令

[root@pxesvr ~]# tftp192.168.4.6 -c getpxelinux.0 //连接服务端,测试下载文件

[root@pxesvr ~]# ls-lh pxelinux.0 //确认下载结果

-rw-r--r--. 1 root root 27K 7月 19 21:55 pxelinux.0

05. NFS共享网络装机

[root@PXE-Server ~]# cat /etc/exports

/data/iso/rhel5.9 *(ro)

[root@PXE-Server~]# service portmap restart

[root@PXE-Server~]# service nfs restart

[root@PXE-Server~]# chkconfig portmap on

[root@PXE-Server~]# chkconfig nfs on

06. FTP网络装机

[root@server01~]# yum -y install vsftpd

[root@server01 ~]# tail -n 1/etc/vsftpd/vsftpd.conf

anon_root=/var/ftp/

[root@server01~]# service vsftpd restart

[root@server01~]# chkconfig vsftpd on

07. HTTP网络装机

[root@server01~]# yum -y install httpd

[root@server01 ~]# grep DocumentRoot/etc/httpd/conf/httpd.conf | grep -v"^#"

DocumentRoot "/var/www/html"

[root@server01~]# grep Indexes /etc/httpd/conf.d/welcome.conf

OptionsIndexes

[root@server01~]# service httpd restart

[root@server01~]# chkconfig httpd on

08. 准备安装光盘

cp/misc/cd/* /var/ftp/redhat6.5

3.为PXE安装配置启动菜单

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

[root@pxesvr ~]#cp/var/ftp/rhel6/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default

//拷贝模板配置

[root@pxesvr ~]#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 #//选择此标签时,需要加载的内核文件

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

2) 实验二:通过Kickstart实现无人值守安装(接着实验一)

[root@PXE-Server ~]# yum -y installsystem-config-kickstart

操作过程见图片

在/root/ks.cfg文件中添加key --skip

[root@PXE-Server~]# cp /root/ks.cfg /data/iso/rhel5.9/

[root@server01~]# vim /tftpboot/pxelinux.cfg/default

...

10label linux

11 kernel vmlinuz

12 append initrd=initrd.imgks=http://192.168.10.253/ks.cfg

appendinitrd=initrd.img ks=nfs:192.168.10.253:/../ks.cfg

4. 文字:准备应答文件

找一台已装好的RHEL 6.4模板客户机(本例中可选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/*

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

yum clean all

yum -y installhttpd

echo "I LOVETARENA" > /var/www/html/index.html

/etc/init.d/httpdstart

chkconfighttpd on

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

5.图片:安装软件包

[root@PXE-Server~]# rpm -q system-config-kickstart

packagesystem-config-kickstart is not installed

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

……

Installed:

system-config-kickstart.noarch0:2.6.19.9-2.el5

DependencyInstalled:

pykickstart.noarch0:0.43.9-1.el5

Complete!

[root@PXE-Server~]# system-config-kickstart

安装方法选择

引导装在程序,使用默认值

6.分区信息

7.网络配置,添加网络设备,曹勇DHCP自动获取IP

8.验证,使用默认值

9.防火墙配置,全部禁用

10.显示配置,可根据情况调整

11.软件包选择

桌面,选择GNOME

12.用用程序的选择

13.开发的选择,可随意,可不选,在企业中根据是否有发开情况协商之后选择

14.服务器选择

15.基本系统的选择

16.语言支持,选择中文与英文

17.安装前脚本、安装后脚本暂时不需书写

将结果保存

18.文件名ks.cfg,保存位置随意,可以之后调整

3) 编辑ks.cfg文件

19.移动文件

[root@PXE-Server~]# ls

anaconda-ks.cfg install.log ks.cfg

Desktop install.log.syslog

编辑ks.cfg位置

[root@PXE-Server~]# cp ks.cfg /var/ftp/

[root@PXE-Server~]# /etc/init.d/vsftpd restart

关闭 vsftpd: [确定]

为 vsftpd 启动 vsftpd: [确定]

20.编辑default文件,说明应答文件的位置

[root@PXE-Server~]# vim /tftpboot/pxelinux.cfg/default

3timeout 60

11 append ks=ftp://192.168.0.252/ks.cfg initrd=initrd.img

21.通过浏览器可以查看到ks.cfg文件

22.在安装时有一个注意事项,需要安装码

可以在ks.cfg文件中写入一行内容,自动跳过

[root@PXE-Server~]# vim /var/ftp/ks.cfg

12key --skip

OK,准备工作都已经完成,之后就是验证我们操作结果的时候了

新建虚拟机,将网络设置与PXE+Kickstart相同,开机,这是如果你很自信,那么你就可以去喝咖啡了。

4) 验证

对于新安装的系统,查看本机IP、主机名、DNS解析、网关等,可以验证本次操作是否正确。

5) 扩展

23.使用httpd服务,提供ks.cfg文件,修改default文件

将vsftpd提供的ks.cfg备份

[root@PXE-Server~]# ls

anaconda-ks.cfg install.log ks.cfg

Desktop install.log.syslog

[root@PXE-Server~]# cd /var/ftp/

[root@PXE-Serverftp]# ls

ks.cfg pub

[root@PXE-Serverftp]# mv ks.cfg ks.cfg.bak

[root@PXE-Serverftp]# ls

ks.cfg.bak pub

[root@PXE-Serverftp]# cd

安装httpd软件包

[root@PXE-Server~]# rpm -q httpd

packagehttpd is not installed

[root@PXE-Server~]# yum -y install httpd

……

Installed:

httpd.x86_640:2.2.3-74.el5

DependencyInstalled:

apr.x86_640:1.2.7-11.el5_6.5

apr-util.x86_640:1.2.7-11.el5_5.2

postgresql-libs.x86_640:8.1.23-6.el5_8

Complete!

启动httpd服务

[root@PXE-Server~]# /etc/init.d/httpd status

httpd已停

[root@PXE-Server~]# /etc/init.d/httpd start

启动 httpd:httpd: apr_sockaddr_info_get() failedfor PXE-Server

httpd:Could not reliably determine the server's fully qualified domain name, using127.0.0.1 for ServerName

[确定]

编辑httpd的主配置文件

[root@PXE-Server~]# vim /etc/httpd/conf/httpd.conf

265#ServerName :80

266ServerName :80

设置主机名

查看之前的解析是否对应

[root@PXE-Server~]# host

has address 192.168.0.252

重启httpd服务并设置为开机启动

[root@PXE-Server~]# /etc/init.d/httpd restart

停止 httpd:[确定]

启动 httpd: [确定]

[root@PXE-Server~]# chkconfig --list httpd

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

[root@PXE-Server~]# chkconfig httpd on

[root@PXE-Server~]# chkconfig --list httpd

httpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

将ks.cfg文件移动到httpd服务的主目录下

[root@PXE-Server~]# ls

anaconda-ks.cfg install.log ks.cfg

Desktop install.log.syslog

[root@PXE-Server~]# cp ks.cfg /var/www/html/

验证是否能够读取该文件

能够成功读取该文件

修改default文件

[root@PXE-Server~]# vim /tftpboot/pxelinux.cfg/default

12 append ks=http://192.168.0.252/ks.cfginitrd=initrd.img

光盘镜像位置还由vsftpd服务提供

[root@PXE-Server~]# vim /var/www/html/ks.cfg

12key --skip

23url --url=ftp://192.168.0.252/pub

新建虚拟机验证

安装完成之后查看配置信息

[root@station46~]# ifconfig eth0 |head -n 2

eth0 Link encap:Ethernet HWaddr 00:0C:29:30:69:BB

inetaddr:192.168.0.46Bcast:192.168.0.255Mask:255.255.255.0

[root@station46~]# hostname

[root@station46~]# cat /etc/resolv.conf

;generated by /sbin/dhclient-script

nameserver192.168.0.252

[root@station46~]# route -n |tail -n 1

0.0.0.0 192.168.0.252 0.0.0.0 UG0 0 0 eth0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。