阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DHCP+TFTP+HTTP+KS无人值守安装

174次阅读
没有评论

共计 5153 个字符,预计需要花费 13 分钟才能阅读完成。

PXE 启动的原理什么的这里就不介绍了,网上有很多,一定要理解原理再来做,不但便于记忆,也便于操作,可以把安装步骤模块化,前后要融会贯通。如果有不好的地方请谅解。

DHCP+TFTP+HTTP+KS 无人值守安装

环境:

CentOS 6.8_x86_64

Apache2.2.27 编译安装

安装配置 DHCP 服务器

rpm -qa | grep dhcp     #查看 DHCP 服务是否已经安装了,一般默认有个 dhcp- common-4.1.1-51.P1.el6.centos.x86_64,这个不是主程序

yum install dhcp.x86_64 dhcp-devel.x86_64 -y    #安装 DHCP 服务和 devel,必须要有 devel 否则出错

cat /etc/dhcp/dhcpd.conf     #查看配置文件

# DHCP Server Configuration file.        #一下是查看 DHCP 配置文件的方法,这里我们用第一种方法

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see ‘man 5 dhcpd.conf’

===DHCP 服务安装完成 ============================

rpm -ql dhcp | grep sample

/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample    #DHCP 的配置文件

egrep -v “#|^$” /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample > /etc/dhcp/dhcpd.conf

## 去除 dhcpd.conf.sample 文件中的空行和注释行,并重定向到 /etc/dhcpdhcpd.conf 文件中

vim /etc/dhcp/dhcpd.conf    #编辑配置文件,留下一下内容即可,其他的参数用不到,红色的是自己加的

subnet 192.168.199.0 netmask 255.255.255.0 {#DHCP 分配的网段

  range 192.168.199.2 192.168.199.6;                     #DHCP 分配的地址段

  option domain-name-servers ns1.internal.example.org;    #DNS 服务器地址,这里就默认把

  option domain-name “internal.example.org”;            #域名

  option routers 192.168.199.1;            #默认路由,其实就是网关地址

  option broadcast-address 192.168.199.255;    #广播地址

  default-lease-time 600;    #默认租期

  max-lease-time 7200;    #最大租期

  next-server 192.168.199.214;                            #tftp 服务器所在的地址

  filename “pxelinux.0”;                                       #网络引导文件名,引号别忘了,我经常忘记

}

service dhcpd start    #启动服务

    提示:如果服务器启动失败,可以查看 /var/log/messages 日志信息,在之后的安装系统时最好关闭网络中的其他有 DHCP 功能的设备,比如路由器等,否则不能正确指向 TFTP 服务器,从而无法正常引导、启动和安装。

netstat -nupl | grep dhcp    #查看 DHCP 的工作端口号

iptables -I INPUT -p udp –dport 67 -j ACCEPT     #添加放火墙端口

service iptables save    #保存配置规则

===DHCP 服务器配置完成 =======================

yum install httpd        #安装 httpd 服务器,我等等就用之前编译好的 httpd 服务器了,但是用 yum 安装的作为演示

service httpd start        #启动 httpd 服务

curl localhost                #测试下服务器是否正常用功了

iptables -I INPUT -p tcp –dport 80 -j ACCEPT         ## 添加防火墙规则

===httpd 安装和配置完成 =========================

yum install tftp.x86_64 tftp-server.x86_64 -y            #安装 tftp 和 tftp-server,同时会安装一个 xinetd

vim /etc/xinetd.d/tftp            #编辑 tftp 文件将 disable 的 yes 改成 no

        disable                 = no

service xinetd start                #启动 xinetd 服务

netstat -nupl| grep xinetd    #查看 xinetd 的工作端口

iptables -I INPUT -p udp –dport 69 -j ACCEPT        #给防火墙添加开放的端口

service iptables save        #保存规则

mkdir /var/www/cdrom -p        #yum 安装的站点目录是 /var/www/html/,我是编译的所以自己新建

mount /dev/cdrom /var/www/cdrom/    #为了方便这里将 iso 文件直接挂载了

cd /var/www/cdrom/isolinux/        #进入 isolinux 目录

cp -v  boot.msg vmlinuz vesamenu.c32 initrd.img /var/lib/tftpboot/     #复制这四个文件到指定                                                                                                                        tftp 的工作目录

mkdir /var/lib/tftpboot/pxelinux.cfg -p            #在 tftp 工作目录创建 pxelinux.cfg 目录

cat isolinux.cfg > /var/lib/tftpboot/pxelinux.cfg/default        #查看重定向,到 default 文件

vim /var/lib/tftpboot/pxelinux.cfg/default 

timeout 5            #超时时间

label linux

  menu label ^Install or upgrade an existing system

  menu default                        默认选择 menu label ^Install or upgrade an existing system

  kernel vmlinuz                    #内核文件

  append initrd=initrd.img ks=http://192.168.199.214/ks.cfg

## 编辑 default 文件添加红色部分,即为 ks.cfg 文件存放的位置,centos7 还可以在理这顶安装文件路径,但是没什么意义,因为指定了 ks.cfg 文件的位置后,ks.cfg 文件中又指定了一次

yum install syslinux-devel.x86_64 syslinux.x86_64 -y        #安装 syslinux,因为他又我们所需  要 网 络  引导文件

find / -name “pxelinux.0” -exec cp {} /var/lib/tftpboot/ \;        #找到这个文件并且复制到指定位置

===TFTP 服务 + 网络引导 +linux 内核什么的准备完成 ================

cd /var/www/        #进入站点根目录

vim ks.cfg      #添加 ks.cfg 的配置文件,也可以自己用图化 system-config-kickstart.noarch 编辑

# Kickstart Configurator for CentOS 6.7 by yao zhang

install

url –url=”http://192.168.199.214/cdrom/”                # 指定安装盘的网络位置

#text                                                                    # 这个看习惯开把我还是喜欢图形界面

lang en_US.UTF-8

keyboard us

zerombr

bootloader –location=mbr –driveorder=sda –append=”crashkernel=auto rhgb quiet”

network –bootproto=dhcp –device=eth0 –onboot=yes –noipv6 –hostname=CentOS6

timezone –utc Asia/Shanghai

authconfig –enableshadow –passalgo=sha512

rootpw  –iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/

clearpart –all –initlabel

part /boot –fstype=ext4 –asprimary –size=200

part swap –size=1024

part / –fstype=ext4 –grow –asprimary –size=200

firstboot –disable

selinux –disabled

firewall –disabled

logging –level=info

reboot

%packages

@base

@compat-libraries

@debugging

@development

tree

nmap

sysstat

lrzsz

dos2unix

telnet

%end

注意:centos7 的 anaconda-ks.cfg 拿过来修改下安装方式,就是上面的红色部分就可以用了,centos6.x 的不行,也有可能是我比较菜,还不知道怎么弄,如果直接复制家目录下的 anaconda-ks.cfg,记得一定要给权限否则会报错,ks.cfg 文件出错 chmod 777 ks.cfg 

DHCP+TFTP+HTTP+KS 无人值守安装

# 新建一个这样的空虚拟机,不要挂载光盘,还有就是网络一定要和我们搭建的 DHCP 服务器一个网络,否则会找不到,或者直接出错。

后面全程高速公路无人驾驶模式,可以把整个过程回忆一遍,自己一定要总结,多操作,否则容易忘记。root 密码就不写了,我是为了强行让自己回忆一遍修改 root 的步骤。我对 ks 文件的编辑不很熟悉,碰过好多次壁,有不对的地方还请谅解。上面的 ks 文件是我参考老男孩老师提供的,因为我自己写了 6 次都出问题了DHCP+TFTP+HTTP+KS 无人值守安装

=== 只待开机完成了 ================================

DHCP+TFTP+HTTP+KS 无人值守安装

=== 安装完成 =================================

参见错误:

  1. DHCP 服务器

    a)centos 的配置文件查找不是查找 sample

    b)dhcp 配置文件的 filename “pxelinux.0”; 一定不要忘记引号和分号

    c)记得要么关闭防火墙和 selinux 除非你非常了解 selinux 这个服务

  2. httpd 服务器

    a)服务是否能够正常工作

    b)默认站点不要弄错

    c)如果是自己创建的话文件夹权限,还有 最好关闭 selinux

    d)记得要么关闭防火墙和 selinux 除非你非常了解 selinux 这个服务

  3. tftp 服务

    a)如果在安装了 tftp-server,并没有安装 xinetd 记得自行安装,yum 的话一般都是装的

    b)如果 tftpboot 目录是自己创建的注意 权限和 selinux问题

    c)pxelinux.cfg 目录下的文件名不要出错

    d)记得要么关闭防火墙和 selinux 除非你非常了解 selinux 这个服务

  4. default 文件

    a)超时时间自己随意

    b)centos6 不用在 append 的后面加 inst.stage2=http://IP/iso,直接 ks=http://IP/ks.cfg 就好了

    加了反而在 centos6.X 中会出错

    c)centos7 的 menu default 是在媒体测试选项上的记得自己改下

  5. ks.cfg

    a)这个文件的配置也是个大学问,每一句话是有顺序问题的,所以顺序不能乱

    b)常见的编辑方法就是 system-config-kickstart.noarch 编辑

    c)centos6.x 如果都到了选语言的界面之后,出现异常提出的问题,绝对就是 ks.cfg 文件有问题,再改改

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142640.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5153字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中