热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搭建Kickstart无人值守安装服务器

Cobble可做自动化部署理论概述内容搭建无人执守安装服务器需要使用到的服务:PXEDHCPTFTPKickstartFTPPXE原理和概念:1&

Cobble可做自动化部署


理论概述内容

搭建无人执守安装服务器需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP

PXE原理和概念:
1.PXE严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。
协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。
运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。
此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

KickStart概述
  KickStart是一种无人值守安装方式。Kickstart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。
  这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。


搭建无人执守安装服务器安装及相关配置文件

所有服务可以装在一台服务器上进行
需要安装的是DHCP(给客户机分发ip);FTP(存放系统安装文件)
TFTP(用来存放PEX的相关文件,如:系统引导文件)
KickStart(生成ks.cfg配置文件)
关闭防火墙&selinux

安装ftp 运行&开机自启

yum install vsftpd -ysystemctl start vsftpdsystemctl enable vsftpdmount /dev/cdrom /var/ftp/pub/ #把光盘镜像挂载到pub下 (可最后挂载 不然本地yum换了位置用不了)



做一下yum(可在服务都搭完做也可以提前做)

[development] (强调名称必须是development,否则无效)
name=my-centos7-dvd
baseurl=file:///var/ftp/pub
enabled=1
gpgcheck=0
yum makecache    #重新建立yum缓存,如果不新建缓存,还是用原来带着外网源的yum缓存,那么执行system-config-kickstart就会报错

创建ks应答文件
yum install -y gdm    #安装gdm,gdm是linux环境下的代码调试工具
(如有服务器因启动DHCP服务无法联网删除默认网关即可)
route -n查看
route del default gw ip

页尾查看最后安装过程



找台机器测试一下ftp是否可以访问 此次实验无需对ftp做任何配置

安装TFTP修改配置文件并开启服务
TFPT 简单文件传输协议或小型文件传输协议

yum install tftp tftp-server xinetd -y
mkdir /var/tftp    创建家目录
vim /etc/xinetd/tftp
修改配置文件里13、14行 改成以下内容
改:
13 server_args = -s /var/lib/tftpboot
14 disable = yes为:
13 server_args = -s /var/tftp
14 disable = no

注:
disable = no #不关闭tftp服务,就是开启tftp服务
server_args = -s /tftpboot #这是tftp服务器运行时的参数。-s /var/tftp表示服务器默认的目录是 /var/tftp,当你执行put a.txt时,文件会被放到服务器的/var/tftp/a.txt,省去你敲put a /var/tftp的麻烦。你也可以加其它服务器运行参数到这,具体可以执行man tftpd命令查阅。

重新启动xinetd服务,查看服务端口是否打开

systemctl restart xinetd netstat -antup | grep 69 #这种方法,只能看到xinetd进程
udp 0 0 0.0.0.0:69 0.0.0.0:* 3582/xinetd

将PXE启动所需的相关文件复制到tftp家目录下
安装软件

system-config-kickstart、syslinux

yum -y install system-config-kickstart syslinux

准备tftp需要共享出去的文件

mkdir /vat/tftp/pxelinux.cfgcp /usr/share/syslinux/pxelinux.0 /vat/tftp/   #系统引导文件

#注,只有安装了system-config-kickstart软件包,才会有/usr/share/syslinux/目录及目录中的文件。

cp /mnt/images/pxeboot/vmlinuz /vat/tftp/     #内核文件cp /mnt/images/pxeboot/initrd.img /vat/tftp/     #内核初始化镜像文件。cp /mnt/isolinux/isolinux.cfg /vat/tftp/pxelinux.cfg/default     #引导菜单:isolinux.cfg -- 开机后选择启动项的菜单文件。
chmod 644 /tftpboot/pxelinux.cfg/default     #赋予default文件644权限。

安装DHCP

yum install dhcp -y

修改配置开启服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcp.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y   #生成配置文件
vim /etc/dhcp/dhcpd.conf   只保留一个subnet{…} 如下

subnet 192.168.8.0 netmask 255.255.255.0 {range 192.168.8.100 192.168.8.200;option domain-name-servers 192.168.8.8;option domain-name "internal.example.org";option routers 192.168.8.8;option broadcast-address 192.168.8.255;default-lease-time 600;max-lease-time 7200;next-server 192.168.8.8;filename "pxelinux.0";
}

注:
#subnet192.168.8.0 netmask 255.255.255.0 服务端IP网段及掩码。
#range 192.168.8.100 192.168.8.200; dhcp分发的地址范围,最好将本机IP包含在内。
option domain-name-servers 192.168.8.1; 指定默认DNS地址。
option domain-name “internal.example.org”; 指定默认域名。
option routers 192.168.8.1; #指定默认网关。
default-lease-time 600;max-lease-time 7200; IP地址租约时间。
next-server 192.168.8.8; TFTP服务器地址。
filename “pxelinux.0”; 指定引导文件位置,这里是TFTP根目录下的pxelinux.0。

systemctl start dhcpd
systemctl enable dhcpd

开启后找台同网段主机测试dhcp是否正常运行分配地址

到此,所需服务已经搭建成功

修改default,指定操作系统的方式和ks.cfg文件路径
vim /var/tftp/pxelinux.cfg的配置文件
改1—default vesamenu.c32
为1—default linux
#修改第一行,后面的linux意识是寻找配置文件中61行的label linux
改:
64 append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
为:

64 append initrd=initrd.img inst.repo=ftp://192.168.8.8/pub inst.ks=ftp://192.168.8.8/ks.cfg

注:指定通过网络启动系统时,通过FTP服务器访问kickstart文件。

注:
第1行:default linux表示指定默认入口名称;
第61到64行:表示定义的引导入口,要开始自动安装,安装程序必须能访问kickstart文件。
有多种方法可访问kickstart文件,其中最常用的一种方法是通过网络服务器进行,例如:ftp服务器、WEB服务器或NFS服务器,这种方法非常易于部署,并且也使管理更改变得十分简单。

扩展:使安装程序指向kickstart文件的常见书写格式:
ks=ftp://server/dir/file 如:ks=ftp://192.168.1.63/ks.cfg
ks=http://server/dir/file 如:ks=http://192.168.1.63/ks.cfg
ks=nfs:server:/dir/file 如:ks=nfs:192.168.1.63:/var/ftp/pub/ks.cfg

测试查看ftp下面是否有ks.cfg和pub

创建ks.cfg文件
运行 system-config-kickstart命令
设置后期无人值守安装配置参数

注:system-config-kickstart需要在图形界面下执行,字符界面最小化安装均无法弹出窗口,此时要生成ks文件时,可以在物理/虚拟主机上安装有图形界面的系统中执行system-config-kickstart并生成ks文件,而后上传到生产环境中
如界面显示乱码,需要安装字体文件:
yum install dejavu-sans-fonts
yum install dejavu-serif-fonts
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自行设置分区大小
在这里插入图片描述
验证项不做修改
在这里插入图片描述
显示配置项选择是否安装图形桌面
在这里插入图片描述
如果没有配置ftpyum源获取不到软件包信息 详见
在这里插入图片描述

设置完成后 左上角文件保存 然后把ks.cfg文件拷贝到之前配置文件写明的位置 /var/ftp/ks.cfg

测试前关闭防火墙&selinux 如过没有关闭 tftp服务会有问题

重启服务开始测试

这边就不截图了

5-28

Cobble可做自动化部署


推荐阅读
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Redis API
    安装启动最简启动命令行输入验证动态参数启动配置文件启动常用配置通用命令keysbdsize计算key的总数exists判断是否存在delkeyvalue删除指定的keyvalue成 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • 本文介绍了在Linux系统中设置文件ACL权限的方法和使用说明,包括在centos7.3和centos6.9中开启ACL权限的两种方法:在挂载时指定打开ACL权限和修改默认的属性信息。同时提供了对ACL权限的详细解释和应用场景。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文介绍在使用vmware中配置centos6.5时遇到的网络问题,包括host-only和natip的配置,以及无法上网的原因。同时提供了解决方法,包括去掉host-only配置文件中的gateway。 ... [详细]
author-avatar
michaelma423
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有