kickstart自动安装脚本制作
首先先要确定网卡是否有网络 没有就配置
先配置ip等信息 设定一个网络脚本
#!/bin/bash
cat > /etc/sysconfig/network-scripts/ifcfg-$1 <<EOF
DEVICE=$1
ONBOOT=yes
BOOTPROTO=none
IPADDR1=$2
NETMASK1=255.255.255.0
DNS1=114.114.114.114
GATEWAY1=172.25.254.2
NAME=$1
EOF
nmcli connection reload
nmcli connection up $1
外面:
chmod +x /bin/vmset.sh
vmset.sh ens33/其他的网卡名称 172.25.254.100(ip地址)
!!yum install system-config-kickstart 安装图形化生成kickstart自动安装脚本的工具
yum install httpd -y
systemctl enable --now httpd
mkdir /rhel7
mount /dev/cdrom /rhel7
仓库需要baseurl=file:///rhel7/
ln -s /rhel7 /var/www/html 创建软链接 使得/rhel7上的操作可以重定向到/var/www/html上
systemctl stop firewalld 关闭防火墙 不然访问不了网页
systemctl mask firewalld 锁定现在防火墙的状态
grubby --update-kernel ALL --args selinux=0 关闭selinux服务
出来类似/root/anaconda-ks.cfg内的内容 记录了系统在安装过程中的所有设定
system-config-kickstart 启动图形制作工具
进行一系列的图形话脚本的设定
cp /root/ks.cfg /var/www/html 里面所有的安装还有什么设定之类的不是给自己用的 是别人可以直接用里面的东西 所以需要共享 共享就需要cp
所以网页查询后缀加上/ks.cfg可以显示出内容
其他用户可以根据172.25.254.100/ks.cfg来进行里面命令的安装--实现共享
搭建dhcp服务并测试kickstart脚本
##根据上面的步骤直接去安装一个新的虚拟机然后共享这个ks.cfg脚本的话 因为获取不了IP 是会在install就出错的 因为我们关闭了dhcp自动分配ip的功能 所以 需要我们在主机上搭建dhcp服务
yum install dhcp -y ---安装dhcp服务器为其他服务器提供分配ip的功能
rpm -qc dhcp ---查询主配置文件 /etc/hdcp/dhcpd.conf
//如果打开这个主配置文件是没有内容的 会提示有模板路径 进行一下 cp 就可以使得主配置文件里面有最基本的模板信息可以进行修改
// \ 转义符 真实执行
\cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf ---生成配置文件
vim /etc/dhcp/dhcpd.conf
以下内容是编辑配置文件
systemctl enable --now dhcpd 启动dhcp
另外一个虚拟机测试 是否能安装
搭建pxe网络安装环境实现服务器自动部署
原理:
第一台主机里面下了一个dhcp 另外一台机子可以从网卡启动,然后发送广播 这边的dhcp响应 发送了一个含有ip的包给另外一台机子 再让它再含有一个文件地址 根据这个文件地址读取主机里面的资源 比如获取主机里面的url 挂载的那个链接/软件包 源源不断的传输到另外一台机子中去 实现pxe
--通过设定dhcp发送一个ip的同时发送一个 没有系统主机的机子读取另外文件的信息
信息文件指的是/usr/share/syslinux/pxelinux.0
适用场景:
适合同时配置超级多台机器 不用再去一个个配置环境等等
!!结合dhcp、tftp、apache(httpd)、kickstart共同组成的一个自动安装系统的架构
vim isolinux.cfg 拥有对应的信息
下面是isolinux.cfg中的内容 存在所有下载页面的信息 比如背景黑色、标题名、选项排序...
yum install syslinux.x86_64 -y
yum install tftp-server.x86_64 -y 共享pxelinux.0数据文件的网络服务
rpm -qc tftp.server 查询一下里面具体的配置文件
/var/lib/tftpboot 类似/var/www/html
systemctl enable --now tftp
cp /rhel7/isolinux/* /var/lib/tftpboot 将/rhel7/isolinux/*所有的显示的页面拷贝
到/var/lib/tftpboot
---因为ioslinux里面含有所有下载页面显示的数据 比如标题名称 初始化镜像 内核都在该文件中
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cd /var/lib/tftpboot --这里面成功出现了pxelinux.0
mkdir pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default --建立数据目录、数据文件 isolinux.cfg里面有黑色背景图、显示的数据文字的相关信息
vim /etc/dhcp/dhcpd.conf
vim /var/lib/tftpboot/pxelinux.cfg/default --这是那个黑色下载安装系统页面的文件 可以对那个页面进行修改
systemctl restart dhcpd
再设置一台新的虚拟机