搭建无人执守安装服务器

搭建无人执守安装服务器

1  搭建无人执守安装服务器常见概念

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

3  实战:为公司内网搭建一个搭建无人执守安装服务器

1  搭建无人执守安装服务器常见概念

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

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

部署环境: 

服务端:k6  ens33  IP:192.168.88.6   网卡模式:VMnet6  必须以图形界面启动

服务端:k6  ens37  IP:192.168.1.6  网卡模式: 桥接模式

客户端:k8   ens33  dhcp 获取 IP:192.168.88.2   网卡模式: VMnet6 

原理图如下:

 

 

2.1  配置基本环境

1. k6关机后,新加一块网卡,配置成桥接模式,IP地址是192.168.1.6,用于后期Xshell远程连接k6进行配置。

 

 

[root@k6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens37

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.1.6

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=61.139.2.69

 重启网络

[root@k6 ~]# systemctl restart network

1. 把k6、k8主机的添加vmnet6虚拟网络环境,并把ens33网卡修改为vmnet6

2. 设置每台服务器的BIOS引导顺序为:  先硬盘,再网络

4、关闭防火墙和selinux

[root@k6 ~]# systemctl stop firewalld ; systemctl disable firewalld

搭建PXE + KickStart步骤:

• DHCP 服务器用来给客户机分配IP; 

• TFTP 服务器用来存放PXE的相关文件,比如:系统引导文件; 

• FTP 服务器用来存放系统安装文件; 

• KickStart所生成的ks.cfg配置文件; 

• 带有一个 PXE 支持网卡的将安装的主机;

 

二.搭建PXE环境服务

2.1. 安装ftp服务以及开启服务,设置为开机自动启动。

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

[root@k6 ~]# mount /dev/cdrom  /var/ftp/pub/   #把光盘镜像挂载到pub下

[root@k6 ~]# systemctl start vsftpd

[root@k6~]# systemctl enable vsftpd

[root@k8~]# yum install lftp -y   #安装ftp客户端

开始测试,能访问到数据说明ftp搭建成功

 

2. 2 安装TFTP修改tftp配置文件并开启服务

[root@k6 ~]#vim tftp.sh

建立一个脚本

 

echo "ftp server install "
yum install vsftpd -y
mount /dev/cdrom /var/ftp/pub/
mount /dev/cdrom /mnt
systemctl start vsftpd
systemctl enable vsftpd

echo "tftp server install"
yum install tftp tftp-server xinetd -y
mkdir /tftpboot

echo vim /etc/xinetd.d/tftp

echo "service tftp" > /etc/xinetd.d/tftp
echo "{" >>/etc/xinetd.d/tftp
echo " socket_type = dgram">> /etc/xinetd.d/tftp
echo "protocol = udp">> /etc/xinetd.d/tftp
echo " wait = yes">> /etc/xinetd.d/tftp
echo " user = root">> /etc/xinetd.d/tftp
echo " server = /usr/sbin/in.tftpd">> /etc/xinetd.d/tftp
echo " server_args = -s /tftpboot">> /etc/xinetd.d/tftp
echo " disable = no">> /etc/xinetd.d/tftp
echo " per_source = 11">> /etc/xinetd.d/tftp
echo " cps = 100 2">>/etc/xinetd.d/tftp
echo " flags = IPv4">> /etc/xinetd.d/tftp
echo "}">> /etc/xinetd.d/tftp
systemctl restart xinetd
yum -y install lsof
lsof -i :69

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

1.安装软件system-config-kickstart、syslinux

[root@k6 ~]#vim pxe.sh

yum -y install system-config-kickstart syslinux

mkdir /tftpboot/pxelinux.cfg

cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp /mnt/images/pxeboot/vmlinuz /tftpboot/
cp /mnt/images/pxeboot/initrd.img /tftpboot/
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
chmod 644 /tftpboot/pxelinux.cfg/default

 

2.4安装dhcp,修改配置文件及开启服务

安装DHCP

 [root@k6 ~]#yum install dhcp -y

建立脚本

 [root@k6 ~]#vim dhcp.sh

echo "subnet 192.168.8.0 netmask 255.255.255.0 {">/etc/dhcp/dhcpd.conf
echo " range 192.168.8.100 192.168.8.200;">>/etc/dhcp/dhcpd.conf
echo " option domain-name-servers 192.168.8.1;">>/etc/dhcp/dhcpd.conf
echo ' option domain-name "internal.example.org";'>>/etc/dhcp/dhcpd.conf
echo " option routers 192.168.8.1;">>/etc/dhcp/dhcpd.conf
echo " option broadcast-address 192.168.8.255;">>/etc/dhcp/dhcpd.conf
echo " default-lease-time 600;">>/etc/dhcp/dhcpd.conf
echo " max-lease-time 7200;">>/etc/dhcp/dhcpd.conf
echo " next-server 192.168.8.5;">>/etc/dhcp/dhcpd.conf
echo ' filename "pxelinux.0";'>>/etc/dhcp/dhcpd.conf
echo "}">>/etc/dhcp/dhcpd.conf

 

 [root@k6~]# systemctl start dhcpd

 

2.5 k8下测试DHCP获取地址

注:必须在vmnet6虚拟内网下

[root@k8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=dhcp  #改none为dhcp 自动获取地址

 

 2.6修改default,指定安装操作系统的方式和ks.cfg文件路径

建立一个脚本,修改ks.cfg

[root@k6 ~]#vim ks.sh

sed -i 's/default vesamenu.c32/default linux/g' /tftpboot/pxelinux.cfg/default
sed -i '/initrd=initrd.img/d' /tftpboot/pxelinux.cfg/default
sed -i '64i append initrd=initrd.img inst.repo=ftp://192.168.8.5/pub inst.ks=ftp://192.168.8.5/ks.cfg' /tftpboot/pxelinux.cfg/default

[root@k6 ~]#systemctl restart dhcpd
[root@k6 ~]#systemctl enable dhcpd

 

3、实战:为公司内网搭建一个搭建无人执守安装服务器

修改default,指定安装操作系统的方式和ks.cfg文件路径

接下来我们制作kickstart的无人值守安装文件。

1. 在创建配置文件之前,我们需要更改下yum源为本地源,否则下面在选择软件包安装这一步不能选择,提示被禁止。

 

 

 

[root@k6 ~]# cd /etc/yum.repos.d/

[root@k6 yum.repos.d]# mkdir bak

[root@k6 yum.repos.d]# mv *.repo bak/

[root@k6 yum.repos.d]# umount /dev/sr0

[root@ k6 yum.repos.d]# mount /dev/cdrom /var/ftp/pub/

[root@k6 yum.repos.d]# vim my.repo

[development]        (强调名称必须是development,否则无效)

name=my-centos7-dvd

baseurl=file:///var/ftp/pub

enabled=1

gpgcheck=0

[root@k6 yum.repos.d]# yum makecache           #创新建立yum缓存。如果不新建缓存,还使用原来带着外网源的yum缓存,那么执行system-config-kickstart就会报错的。

 

2. 创建ks应答文件

[root@k6 yum.repos.d]# yum install -y gdm      #安装gdm,gdb是Linux环境下的代码调试工具。

[root@k6 ~]# system-config-kickstart               #使用弹出来的界面,设置自己后期无人执守安装需要配置的参数:

注意: system-config-kickstart需要在图形界面下执行,如在字符界面上执行会无法弹出选择框,但在生产环境中通常安装的都是字符界面,即使远程登录同样如此,此时需要生成ks文件时,可以在本地物理/虚拟主机上安装有图形界面的系统中执行system-config-kickstart并完成ks文件,而后上传到生产环境中。

 

 

 

 

我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。

注:对于“安装后重启”这一项,建议不勾选。因为系统在重启的过程中,如果第一引导顺序还是网卡,那么会再次重新安装系统。

情况2:如果被安装的服务器原来就没有系统,就可以把“安装后重启”这个对勾打上了,因为安装系统时默认是磁盘作为第一引导,而磁盘中没有系统,就直接跳过了磁盘引导,使用网卡引导,当系统安装好后,再重启时,自动使用磁盘做引导,正好可以进入新安装的系统。

 

 

 

我们配置ftp服务器的安装方法。选择执行全新安装。

 

 

 

 

 

然后点击引导装载程序选项,配置grub相关选项。

 

 

 

设置分区大小

boot 200M ,根10G  ,swap给1G

 

 

 

 

 

 

 

 

配置网络,默认没有网络设置,点击添加网络,设备名称为ens33,网络类型为dhcp

 

 

 

验证,默认就可以了。

 

 

 

防火墙和Selinux根据自己需求选择开启或者禁用。我选择关闭Selinux。启用防火墙。

 

 

安装图形环境

 

 

 

 

自定义软件包。默认可能没有勾选桌面。根据自己需求勾选。 我们为了快速度演示安装,不选择安装桌面。

安装脚本:在"预安装脚本","安装后脚本"对话框中,可以分别添加在安装前、安装后自动执行可执行语句。此项设置可以使服务器自动化配置变得更加容易。

预安装脚本,这一块我们先不做配置

 

 

 

例如:配置客户机在完成安装后自动设置YUM仓库。

 

 

 

 

写入以下脚本内容:

rm -rf /etc/yum.repos.d/*

echo '[centos7-source]

name= centos7

baseurl=file:///mnt/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release' > /etc/yum.repos.d/centos7.repo

 

 

 

 

到此所有关于安装的配置已经配置完毕,点击左上角的文件选择保存,选择下保存到/root下

 

 

 

 

3. 复制ks文件到/var/ftp目录下

[root@k6 ~]# cp /root/ks.cfg /var/ftp/   #复制ks.cfg文件到/var/ftp目录下

注:ks.cfg就是无人值守安装时要用的Kickstart文件。

要对应:/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.1.63/ks.cfg

 

配置基于ftp的yum源,用于客户端安装时,读取软件包用:

[root@k6~]#mount /dev/cdrom /var/ftp/pub  #挂载系统光盘到

重启下FTP服务

[root@k6 ~]# systemctl restart vsftpd

注意:

        关闭防火墙和selinux,如果没有关闭的话,tftp服务会有问题。

[root@k6~]# systemctl restart dhcpd  #启动DHCP,设置为开机启动

 

3. 开始测试

修改k8 BIOS启动顺序为网络优先,加电后开始启动。

 

 

 

按F10保存,启动系统,开始无人执守安装

或在重启k8虚拟机时,在启动系统界面,快速按下F12,直接使用网卡引导系统。

 

 

 

 

总结:

搭建无人执守安装服务器常见概念
PXE + DHCP+TFTP+ Kickstart+ FTP
安装服务端
1、服务器 k8
准备:安装两张网卡,一个正常安装 ,ssh 可以链接,另外一张用于DHCP服务器与客户端连接

2、服务器端同时关闭,防火墙,SELinux ,需要安装的服务tftp ftp dhcp kickstart

3、操作前需要进行网卡配置,服务器需要安装两张网,其中一张网卡地址需要与客户机的网卡在同一网段上
此脚本需要设置为192.168.8.5
4、运行此脚本前需要手机配置好YUM源。

 

posted @ 2019-09-25 00:33  科子  阅读(336)  评论(0编辑  收藏  举报