一 准备

1.1 完整架构:Kickstart+DHCP+HTTP+TFTP+PXE

1.2 组件应用

Kickstart服务端IP:172.24.8.12
DHCP:提供客户端IP,网关,镜像路径等;
TFTP:共享pxelinux.0、initrd.img、vmlinux、isolinux.cfg、boot.msg、vesamenu.c32、splash.png文件
HTTP:共享ks.cfg、及所有光盘文件
注意:此ks.cfg文件和所有光盘文件也可通过HTTP、FTP等方式共享。

1.3 DHCP等组件安装

[root@server ~]# yum -y install dhcp* tftp* nfs-utils httpd
[root@server ~]# yum -y install xinetd #tftp依赖于xinetd,因此需要安装xinetd
 

1.4 挂载系统光盘

系统一:CentOS7
[root@server ~]# mkdir -p /media/centos7/
[root@server ~]# mount /dev/sr0 /mnt/cdrom/
[root@server ~]# cp /mnt/cdrom/* /media/centos7/
 
系统二:CentOS6.8
[root@server ~]# mkdir -p /media/centos6.8/
[root@server ~]# mount /dev/sr0 /mnt/cdrom/
[root@server ~]# cp /mnt/cdrom/* /media/centos6.8/
 
1.5 关闭防火墙及SELinux
[root@server ~]# systemctl stop firewalld.service
[root@server ~]# systemctl disable firewalld.service
[root@server ~]# setenforce 0
[root@server ~]# vi /etc/selinux/config #彻底关闭SELinux
SELINUX=disabled
 

二 服务端的配置

2.1 配置DHCP

[root@server ~]# vi /etc/dhcp/dhcpd.conf
option domain-name-servers 223.5.5.5,223.6.6.6; #全局DNS
default-lease-time 600; #默认的租赁时间
max-lease-time 7200; #最大可租赁时间
subnet 172.24.8.0 netmask 255.255.255.0 { #设置网段
range 172.24.8.13 172.24.8.50; #设置可分配地址池
option routers 172.24.8.2; #默认网关
next-server 172.24.8.12; #tftp server的ip
filename "pxelinux.0";} #pxe boot需要的启动文件名, 相当于bootloader
[root@server ~]# systemctl start dhcpd.service #启动dhcp服务
[root@server ~]# systemctl enable dhcpd.service #开机自动启动
 

2.2 配置TFTP

[root@localhost ~]# vi /etc/xinetd.d/tftp
service tftp
{
……
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #此为TFTP服务根目录
disable = no #打开TFTP
……
}
[root@server ~]# systemctl start xinetd.service #启动xinetd,则xinetd管理的tftp也会启动
[root@server ~]# systemctl enable xinetd.service #开机启动xinetd,则xinetd管理的tftp也会启动
 

2.3 TFTP文件配置

#在TFTP目录中指定相关PXE内核模块及相关参数
[root@server ~]# yum -y install syslinux #Linux引导加载程序
[root@server ~]# find / -name pxelinux.0
/usr/share/syslinux/pxelinux.0 #查找pxelinux.0文件所在目录
[root@server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#将pxelinux.0复制到TFTP所在目录,以便客户端(需要自动安装系统的主机)通过TFTP能找到此加载程序。
[root@server ~]# mkdir -p /var/lib/tftpboot/centos7
[root@server ~]# mkdir -p /var/lib/tftpboot/centos6.8
[root@server ~]# cp /media/centos7/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/centos7
[root@server ~]# cp /media/centos6.8/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/centos6.8
[root@server ~]# cp /media/centos7/isolinux/{boot.msg,splash.png} /var/lib/tftpboot/centos7
[root@server ~]# cp /media/centos6.8/isolinux/{boot.msg,splash.jpg} /var/lib/tftpboot/centos6.8
#copy pxe引导所需要的配置文件, splash.png:背景图. boot.msg启动标语, vesamenu.c32: 显示同行界面用的程序.
#copy光盘目录中的vmlinuz和initrd.img, 这两个文件相当于系统启动时/boot目录下的启动文件
[root@server ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg
[root@server ~]# cp /media/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#TFTP目录下新建pxelinux.cfg的目录,将【isolinux.cfg:启动时显示配置文件信息】复制到此目录下。
#多系统中,引导菜单任意一个系统的此文件都可以使用。
 

2.4 HTTP配置

[root@server ~]# cp -r /media/centos7/ /var/www/html/
[root@server ~]# cp -r /media/centos6.8/ /var/www/html/
[root@server ~]# systemctl start httpd.service
[root@server ~]# systemctl enable httpd.service
 

2.5 ks.cfg文件的修改

注意:此文件为安装过程中自动应答文件,可将Kickstart的anaconda-ks.cfg文件为模板,也可采用图形化方式设置此文件【参考006笔记】。
[root@server ~]# cp /root/anaconda-ks.cfg /var/www/html/centos7/ks.cfg
[root@server ~]# cp /root/ks6.8.cfg /var/www/html/centos6.8/ks.cfg
 
注意:CentOS6.8的应答文件需要从CentOS6.8复制,也可参考附件。
[root@server ~]# chmod 755 /var/www/html/centos7/ks.cfg
[root@server ~]# chmod 755 /var/www/html/centos6.8/ks.cfg
[root@server ~]# vi /var/www/html/centos7/ks.cfg
auth --enableshadow --passalgo=sha512
url --url=http://172.24.8.12/centos7 #修改为http目录,6.8则为centos6.8
graphical
firstboot --enable
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 #根据需求增加语言支持
reboot
network --bootproto=dhcp --device=eno16777736 --onboot=yes --ipv6=auto --activate
#此项采用默认即可,测试修改网卡名为eth0也无法生效,依旧是eno16777736。
#CentOS6.8此处修改为eth0
network --hostname=localhost.localdomain
rootpw --iscrypted $6$LgafQJ7F1rcyRCpk$ZteQKXvywjifMoPbAnhm7nESFx4fuROoxVYie4YvP04DGiUGpjEW2mA.m0TUQyq1ZoOUv.EF9vMWUaBjGyowW.
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
clearpart --none --initlabel
part /boot --fstype="xfs" --ondisk=sda --size=300
part pv.195 --fstype="lvmpv" --ondisk=sda --size=30419
volgroup centos --pesize=4096 pv.195
logvol / --fstype="xfs" --size=1 --name=root --vgname=centos --grow
logvol swap --fstype="swap" --size=2148 --name=swap --vgname=centos
logvol /home --fstype="xfs" --size=10340 --name=home --vgname=centos
%packages
@^minimal
@core
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
[root@server ~]# vi /var/www/html/centos6.8/ks.cfg
firewall --service=ssh
install
url --url=http://172.24.8.12/centos6.8 #修改为http目录,6.8则为centos6.8
rootpw --iscrypted $1$IhvcV1i7$ulEXyYqfIUBENneuqgDwd0
auth --useshadow --passalgo=sha512
graphical
keyboard us
lang en_US #根据需求增加语言支持
selinux --enforcing
skipx
logging --level=info
reboot
timezone --utc Asia/Shanghai
network --bootproto=dhcp --device=eth0 --onboot=on
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype="ext4" --ondisk=sda --size=300
part pv.01 --size=1 --grow
volgroup centos --pesize=4096 pv.01
logvol swap --fstype="swap" --size=2148 --name=lv_swap --vgname=centos
logvol / --fstype="ext4" --size=1 --grow --name=lv_root --vgname=centos
%packages
@chinese-support
@core
@server-policy
@workstation-policy
%end
 
注意:
1:key --skip:为红帽系统跳过输入序列号过程;若为CentOS 系列,则可以不保留此项内容;
2:reboot: 必须项,也必须文中设定位置,不然安装完后无法自动重启;
3:clearpart --all --initlabel:必须项,自动选择清除所有数据,无需人为干预。
[root@server ~]# systemctl restart xinetd	#重启tftp服务

2.6 Kickstart配置

[root@server ~]# chmod 755 /var/lib/tftpboot/pxelinux.cfg/default
#将此文件赋予修改权限,默认不可修改。
[root@server ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
timeout 60 #等待时间
label centos7
kernel centos7/vmlinuz #CentOS7安装项
append initrd=centos7/initrd.img ks=http://172.24.8.12/centos7/ks.cfg quiet
label centos6.8
kernel centos6.8/vmlinuz #CentOS6.8安装项
append initrd=centos6.8/initrd.img ks=http://172.24.8.12/centos6.8/ks.cfg quiet
#timeout 1:#选择停留时间为1秒
#172.24.8.12:Kickstart服务器;
#append:HTTP共享Linux镜像的目录,即Linux存放安装文件的路径;
#ks.cfg:Kickstart自动应答配置文件;
#不同服务共享ks写法——
HTTP Server ks=http://server_ip:port/path/kickstart_file
HTTPS Server ks=https://server_ip:port/path/kickstart_file
FTP Server ks=ftp://serverip:port/path/kickstart_file
NFS Server ks=nfs:server_ip:/path/kickstart_file

Kickstart部署多系统的更多相关文章

  1. 005.Kickstart部署多系统

    一 准备 1.1 完整架构:Kickstart+DHCP+HTTP+TFTP+PXE 1.2 组件应用 Kickstart服务端IP:172.24.8.12 DHCP:提供客户端IP,网关,镜像路径等 ...

  2. Ubuntu 16.04 PXE+kickstart部署系统

    #PXE+TFTP+Kickstart 自动部署服务器系统系统Ubuntu16.04apt-get install isc-dhcp-servervim /etc/default/isc-dhcp-s ...

  3. 第19章 使用PXE+Kickstart部署无人值守安装

    章节概述: 本章节将教会您通过PXE+DHCP+TFTP+VSftpd+Kickstart服务程序搭建出无人值守安装系统,从而批量部署客户机系统. 这种系统能够实现自动化运维.避免了重复性劳动,帮助提 ...

  4. Cobbler全自动批量安装部署Linux系统

    说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...

  5. 使用PXE+Kickstart无人值守安装系统

    PXE预启动执行环境(即Preboot execute environment) 是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服 ...

  6. Cobbler自动部署主机系统

    Cobbler自动部署主机系统 简介: Cobbler由python语言开发,是对PXE和 Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装. ...

  7. PXE+Kickstart无人值守安装系统re

    PXE(Preboot Excute Environment)预启动执行环境,可以让计算机通过网络启动系统,主要用于无人值守安装系统中引导客户端主机安装Linux操作系统. 由于之前有过使用cobbl ...

  8. linux服务器批量部署应用系统shell脚本(Tomcat/jetty)

    linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...

  9. Linux Deploy 使用 Repository部署Linux系统

    Linux Deploy 使用 Repository部署Linux系统 为了解决镜像不稳定导致包下载错误,能得到一个稳定环境,可以使用linux deploy导出功能. 这里提供两个制作好的包 用户名 ...

随机推荐

  1. Receiver class com.mchange.v2.c3p0.impl.NewProxyResultSet does not define or inherit an implementation of the resolved method 'abstract boolean isClosed()' of interface java.sql.ResultSet.

    背景: Mayabtis+springboot项目,连接数据库发生异常 报错内容: java.lang.AbstractMethodError: Receiver class com.mchange. ...

  2. vue tab实现右定位

    呈现效果 利用v-if进行判断,登页面完全加载完毕后,显示tab页, 利用name标签,实现选择哪个tab <template> <el-tabs v-if="displa ...

  3. vue-cli 3.0脚手架创建vue项目

    1. 卸载vue-cli 2.0 npm uninstall -g vue-cli 2. 安装vue-cli 3.0 npm install @vue/cli 3. 创建项目 npm create & ...

  4. js中的 true 与 false

    可判断为 false 的情况: 0,-0,NaN,undedined,"",false,null,缺省的值 可判断为 true 的情况: 除false的其他情况均可,包括负数.&q ...

  5. SLF4J日志桥接的应用

    最近在给公司的测试部门开发一套自动化测试框架,为了是框架产生的测试报告更易于分析,我考虑将每一个用例与运行过程中产生的日志相关联,为了实现这样的效果,首先就需要统一项目的日志输出,那么具体怎么做呢? ...

  6. 【FATE】设置虚拟机固定IP以及免密登录

    一.前期准备 1.VMWare上新建三个Centos7的虚拟机 2.VMWare虚拟机的三种联网方式 1.桥接模式 -- 桥接: 默认使用VMnet0 这一种联网方式最简单,在局域网内,你的主机是怎么 ...

  7. .Net Core如何优雅的实现中间件

    在.Net Core的源码中,很多地方都有中间件的地方,Kestrel Server和Asp.net Core 等都用了中间件的设计,比如在Kestrel Server中,Http协议的1.0, 1. ...

  8. 树莓派远程连接工具VNC使用教程

    树莓派远程连接工具VNC使用教程 背景故事 树莓派作为一款迷你小主机,大部分的使用场景都会用到远程调试,远程调试用到最多的方式一般就是VNC和SSH,VNC是远程桌面型的远程方式,简单来说就是用Win ...

  9. Java实现WebSocket服务

    一.使用Tomcat提供的WebSocket库  Java可以使用Tomcat提供的WebSocket库接口实现WebSocket服务,代码编写也非常的简单.现在的H5联网游戏基本上都是使用WebSo ...

  10. NOIP 模拟 9 考试总结

    T1 一道推规律的题,没想出来,暴力打得常数还太大了,挂了不少 题解 T2 这是一道二分题,很巧妙,但是对于想我一样懒得人,那个数据结构就水过去了 (裸的分块加强大的卡长和合适的块的大小可以卡过去) ...