搭建无人执守安装服务器
搭建无人执守安装服务器
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源。