kickstart批量安装CentOS7

文章目录

  • 前言
  • 第一部分:虚拟环境实验
    • 一、实验环境及工具
    • 二、服务器预设
      • 1. 安装CentOS7
      • 2. 防火墙
      • 3. SELINUX
      • 4. IP
    • 三、服务器连接Xshell
    • 四、服务器连接互联网
    • 五、DHCP服务
      • 1. 安装
      • 2. 配置
      • 3. 启动
      • 4. 测试
    • 六、TFTP服务
      • 1. 安装
      • 2. 配置
      • 3. 启动
      • 4. 测试
    • 七、HTTP服务
      • 1. 安装
      • 2. 配置
      • 3. 启动
      • 4. 测试
    • 八、PXE配置
      • 1. 系统启动引导配置
      • 2. 配置ks.cfg
      • 3. 配置default
    • 九、自动安装
  • 第二部分:实际环境实验
    • 一、实验环境及工具
    • 二、服务器预设
      • 1. 安装CentOS7
      • 2. 防火墙
      • 3. SELINUX
      • 4. IP
    • 三、服务器连接互联网
    • 四、文件准备
    • 五、服务器架设
    • 六、PXE配置
      • 1. 系统启动引导配置
      • 2. 配置ks.cfg
      • 3. 配置default
    • 七、自动安装
  • END

前言

本教程主要详细写出安装的过程,具体原理及相关代码解释请看下面的文章。
KICKSTART无人值守安装
kickstart实现批量安装CentOS7.x系统
kickstart 配置文件说明

第一部分:虚拟环境实验

一、实验环境及工具

  • 物理主机硬件:联想笔记本,Windows 7 旗舰版,64位;处理器,i5;RAM,12G;
  • 物理主机网络:校园无线网络;IP地址,10.214.129.121;子网掩码,255.255.128.0;网关,10.214.128.1;
  • 虚拟机软件:VMware Workstation 15 Pro
  • 终端模拟软件:Xshell 6
  • Linux操作系统:CentOS Linux release 7.5.1804
  • 镜像文件:CentOS-7-x86_64-Everything-1804.iso

二、服务器预设

1. 安装CentOS7

CentOS7(即服务器S2),最小系统安装(基本开发工具环境);内存、硬盘、网络模式,如下所示
kickstart批量安装CentOS7_第1张图片

采用桥接网络模式,并关闭虚拟机的DHCP

2. 防火墙

关闭防火墙:

systemctl stop firewalld.service

禁止防火墙开机启动:

systemctl disable firewalld.service

查看防火墙状态:

firewall-cmd --state

防火墙

3. SELINUX

vi /etc/selinux/config

“SELINUX=enforcing”改为“SELINUX=disabled”
kickstart批量安装CentOS7_第2张图片
重启服务器S2,再检查SELINUX的状态:

reboot

getenforce

SELINUX已关闭

4. IP

查看虚拟机服务器S2的网卡标识:
ip addr
kickstart批量安装CentOS7_第3张图片
服务器S2网卡标识为ens33,开始设置网卡的静态IP:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
kickstart批量安装CentOS7_第4张图片
将上图的网络配置改为:
(在桥接模式下,服务器S2的IP要与物理主机的IP同一网段,但不能相同)
(改动的地方有:BOOTPROTO=static,ONBOOT=yes,再加上IPADDR,GATEWAY,NETMASK)
kickstart批量安装CentOS7_第5张图片
配置完IP后,重启网络服务

service network restart

三、服务器连接Xshell

kickstart批量安装CentOS7_第6张图片
kickstart批量安装CentOS7_第7张图片
利用Xshell就可以复制粘贴代码到服务器S2了,以下操作均在Xshell上进行。

四、服务器连接互联网

在上一步设好服务器静态IP后,进行连接互联网测试:

ping baidu.com

若ping失败,出现以下内容:

ping: baidu.com: 未知的名称或服务

但是ping自己的物理主机IP或百度的IP却没问题
则编辑:

vi /etc/resolv.conf

补充内容:

search localdomain
nameserver 8.8.8.8

再次重启网络服务:

service network restart

继续ping baidu.com,没问题就可以了

若不能联网,则使用yum会出现以下问题:
kickstart批量安装CentOS7_第8张图片

五、DHCP服务

1. 安装

yum -y install dhcp

2. 配置

vi /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
subnet 10.214.129.0 netmask 255.255.255.0 {
        range 10.214.129.100 10.214.129.200;  #可分配的IP范围
        option subnet-mask 255.255.255.0;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 10.214.129.123;  # 告知客户机TFTP服务器的IP
        filename "/pxelinux.0";
}

(上面的range必须包含服务器S2的IP;next-server就是S2的IP)

3. 启动

启动DHCP服务:

systemctl restart dhcpd.service

开机自启动设置(可选):

systemctl enable dhcpd

查看其状态是否正常:

systemctl status dhcpd.service

kickstart批量安装CentOS7_第9张图片

4. 测试

新建空白虚拟机C1(运行内存不能少于2G,使用桥接网络),看DHCP服务是否正常工作。
kickstart批量安装CentOS7_第10张图片
客户机C1已分配到IP,并且来源DHCP的IP正确,证明DHCP服务器工作正常。

六、TFTP服务

1. 安装

yum -y install tftp-server

2. 配置

将“disable= yes”改成“disable= no”

vi /etc/xinetd.d/tftp

kickstart批量安装CentOS7_第11张图片

3. 启动

启动TFTP服务

systemctl restart tftp.service

开机自启动设置(可选):

systemctl enable tftp

查看其状态是否正常:

systemctl status tftp.service

kickstart批量安装CentOS7_第12张图片

4. 测试

重启客户机C1,看TFTP服务是否正常工作。
kickstart批量安装CentOS7_第13张图片
TFTP已正常工作,只是在TFTP目录下找不到pxelinux.0文件

七、HTTP服务

1. 安装

yum -y install httpd

2. 配置

vi /etc/httpd/conf/httpd.conf

kickstart批量安装CentOS7_第14张图片
本虚拟服务器主机名为S2,所以改为下面所示:
kickstart批量安装CentOS7_第15张图片

3. 启动

启动HTTP服务:

systemctl restart httpd.service

开机自启动设置(可选):

systemctl enable httpd

查看其状态是否正常:

systemctl status httpd.service

kickstart批量安装CentOS7_第16张图片

若HTTP服务状态出现以下情况,检查上面的“2. 配置”

kickstart批量安装CentOS7_第17张图片

4. 测试

虚拟机连接镜像文件:
kickstart批量安装CentOS7_第18张图片
创建目录:

mkdir /var/www/html/CentOS7

挂载镜像:

mount /dev/cdrom /var/www/html/CentOS7

检查挂载情况:

df -h

kickstart批量安装CentOS7_第19张图片

在物理主机的浏览器中输入:
http://10.214.129.123/CentOS7/
出现以下网页为正常结果:
kickstart批量安装CentOS7_第20张图片

八、PXE配置

1. 系统启动引导配置

yum -y install syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

cp -a /var/www/html/CentOS7/isolinux/* /var/lib/tftpboot/

mkdir -p /var/lib/tftpboot/pxelinux.cfg

cp /var/www/html/CentOS7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

此时tftpboot文件夹下的文件目录如下:

ls -R /var/lib/tftpboot/

kickstart批量安装CentOS7_第21张图片

2. 配置ks.cfg

这里使用文本编辑器创建ks.cfg文件,首先生成客户机root加密密码:

python -c 'import crypt; print(crypt.crypt("123456"))'

复制所生成的密码,等会用于ks.cfg文件的rootpw。

下面开始创建自动安装配置文件CentOS7-ks.cfg

mkdir /var/www/html/ks_config
vi /var/www/html/ks_config/CentOS7-ks.cfg

以下代码移植只需改动IP,更多改动请看前言链接

#
# Adapted by LG 20181216
# No boot-up optimization settings for the time being
install
url --url="http://10.214.129.123/CentOS7/"
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=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw  --iscrypted $6$ZOqJtEcGR3A0Hf75$o8dcPt/F8V3Cu6pBXuUAY/10H5mUVPJbLNFnOH.TFew1xmcTVzKASukpv5nVFA/Cuv1mCEVj2sEtjvXquU/bJ0
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

3. 配置default

打开default文件,并将原有内容删除:

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

改为以下内容:

default ks
prompt 0

label ks
  kernel vmlinuz
  append initrd=initrd.img ks=http://10.214.129.123/ks_config/CentOS7-ks.cfg

九、自动安装

模拟批量自动安装CentOS7,下面为成功安装的客户机C1,C2,C3
kickstart批量安装CentOS7_第22张图片
成功安装后,检查一下预设的磁盘分区情况
kickstart批量安装CentOS7_第23张图片
没问题!

第二部分:实际环境实验

一、实验环境及工具

  • 主机参数:dell商用台式机,64位,处理器i3;固态硬盘60G,普通硬盘500G
  • 服务器/客户机:使用3台主机,一台用作服务器,另外两台作为客户机(有无操作系统都可以)
  • 局域网搭建:无线路由器(连接外网),交换机
  • 其他工具:镜像文件CentOS-7-x86_64-Everything-1804.iso、U盘

二、服务器预设

1. 安装CentOS7

最小系统安装,主机名设为S2,选择连接网络
kickstart批量安装CentOS7_第24张图片

2. 防火墙

(与虚拟环境实验相同)

3. SELINUX

(与虚拟环境实验相同)

4. IP

由指令ip addr查询到,服务器网卡标识为p4p1
修改网络配置(和虚拟机部分类似):

vi /etc/sysconfig/network-scripts/ifcfg-p4p1

kickstart批量安装CentOS7_第25张图片

三、服务器连接互联网

(与虚拟环境实验相同)

四、文件准备

因为HTTP服务测试时需要复制镜像文件,所以先将镜像放进U盘;
同时为了减少手动输入配置文件的失误,我们可以先把需要输入的配置文件dhcpd.conf、CentOS7-ks.cfg、default,也放进U盘。(需要先通过虚拟机中的S2与Xshell导出配置文件,才能直接用在实际的服务器S2)

U盘的文件系统格式有FAT32和NTFS,我的镜像文件8.8G,FAT32文件系统的U盘装不下,所以将U盘格式化为NTFS文件系统。
创建一个待挂载的目录:

mkdir /mnt/usb

插入U盘,获取U盘的设备标识:

fdisk -l

kickstart批量安装CentOS7_第26张图片
对于FAT32文件系统的U盘,直接用指令进行挂载:mount -t vfat /dev/sdc1 /mnt/usb
对于NTFS文件系统的U盘,由于CentOS默认不支持NTFS,需要通过ntfs3g。又因为CentOS默认源里没有ntfs3g,所以选择加源yum安装。
先安装wget:

yum -y install wget

再安装:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

如果出现:

wget: unable to resolve host address

vi /etc/resolv.conf ,加上nameserver 8.8.4.4

接着安装ntfs3g:

yum install ntfs-3g

实现挂载:

mount -t ntfs-3g /dev/sdc1 /mnt/usb

kickstart批量安装CentOS7_第27张图片

五、服务器架设

DHCP安装,配置,启动;(除了配置可以从/mnt/usb复制dhcpd.conf,其它与虚拟环境实验相同)
TFTP安装,配置,启动;(与虚拟环境实验相同)
HTTP安装,配置,启动;(与虚拟环境实验相同)

HTTP服务测试:

创建网页目录:

mkdir /var/www/html/CentOS7

从U盘挂载目录中复制镜像文件到网页目录:

cp /mnt/usb/CentOS-7-x86_64-Everything-1804.iso  /var/www/html/CentOS7

解压镜像文件到网页目录:

mount -t iso9660 -o loop  /var/www/html/CentOS7/CentOS-7-x86_64-Everything-1804.iso /var/www/html/CentOS7

用局域网内的电脑浏览器访问:http://192.168.1.102/CentOS7/
出现以下结果为正常
kickstart批量安装CentOS7_第28张图片

六、PXE配置

1. 系统启动引导配置

(与虚拟环境实验相同)

2. 配置ks.cfg

创建网页目录:

mkdir /var/www/html/ks_config

从U盘挂载目录中复制CentOS7-ks.cfg到网页目录:

cp /mnt/usb/CentOS7-ks.cfg  /var/www/html/ks_config

(检查IP是否配置正确)
kickstart批量安装CentOS7_第29张图片

3. 配置default

从U盘挂载目录中复制default到网页目录:

cp /mnt/usb/default  /var/lib/tftpboot/pxelinux.cfg/default

(检查IP是否配置正确)
kickstart批量安装CentOS7_第30张图片

七、自动安装

客户机C1,C2开机,手动进入BIOS模式,选择从网卡开始引导(Onboard NIC)
kickstart批量安装CentOS7_第31张图片
开始自动安装:
kickstart批量安装CentOS7_第32张图片

安装完成,检查一下预设的磁盘分区情况,
kickstart批量安装CentOS7_第33张图片
没问题!

END

你可能感兴趣的:(linux)