自动化kickstart
自动化安装系统的过程
服务端地址 eth0 192.168.1.102 eth1 10.0.0.61
空白服务器 etf0 192网段 eth1和服务端在一个网段
安装步骤:
[root@data-1-2 ~]# getenforce
[root@data-1-2 ~]# /etc/init.d/iptables stop
安装DHCP服务
[root@data-1-2 ~]# yum install dhcpd
[root@data-1-2 ~]# vim /etc/dhcp/dhcpd.conf
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.200;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 10.0.0.61;
filename "/pxelinux.0";
}
安装tftp服务
[root@data-1-2 ~]# yum install tftp-server -y
[root@data-1-2 ~]# sed -i '14s#yes#no#' /etc/xinetd.d/tftp
[root@data-1-2 ~]# /etc/init.d/xinetd start
配置http服务
[root@data-1-2 ~]# yum install httpd -y
[root@data-1-2 Centos-6.3]# sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
[root@data-1-2 Centos-6.3]# /etc/init.d/httpd start
[root@data-1-2 Centos-6.3]# mkdir /var/www/html/Centos-6.3
[root@data-1-2 Centos-6.3]# mount /dev/cdrom /var/www/html/Centos-6.3/
配置支持PXE启动程序
[root@data-1-2 Centos-6.3]# yum install syslinux
[root@data-1-2 Centos-6.3]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@data-1-2 Centos-6.3]# cp -a /var/www/html/Centos-6.3/isolinux/* /var/lib/tftpboot/
新建一个pxelinux.cfg目录,存放客户端的配置文件
[root@data-1-2 Centos-6.3]# mkdir -p /var/lib/tftpboot/pxelinux.cfg
[root@data-1-2 Centos-6.3]# cp /var/www/html/Centos-6.3/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
先生成一个密码备用
[root@data-1-2 ~]# grub-crypt
Password:
Retype password:
$6$GisvlztAcMJr8lT5$2j4SPjsUsRXb9RGfLD9hxpciEg0OowpPeMJLl5nDvfFmcoNhm6vIDkQfY8MLu6490NawnttfVNynIAMUg1mHx.
[root@data-1-2 ~]# mkdir /var/www/html/ks_config
[root@data-1-2 ks_config]# vim /var/www/html/ks_config/Centos-6.3-ks.cfg 配置启动系统内容以及自动安装参数,包名等
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Kickstart Configurator for Centos 6.3 by yao zhao install url --url= "http://10.0.0.61/Centos-6.3/" text lang en_US.UTF-8 keyboard us zerombr bootloader --location=mbr --driveorder=sda --append= "crashkernel=auto rhgb quiet" network --bootproto=dhcp --device=eth1 --onboot= yes --noipv6 -- hostname =Centos6 timezone --utc Asia /Shanghai authconfig --enableshadow --passalgo=sha512 rootpw --iscrypted $6$GisvlztAcMJr8lT5$2j4SPjsUsRXb9RGfLD9hxpciEg0OowpPeMJLl5nDvfFmcoNhm6vIDkQfY8MLu6490NawnttfVNynIAMUg1mHx. 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 ####脚本文件可以做初始化脚本,等等下载东西## %post wget -O /tmp/optimization .sh http: //10 .0.0.7 /ks_config/optimization .sh &> /dev/null #########前提把脚本什么的都放在自动安装目录下 /bin/sh /tmp/optimization .sh %end |
整合编辑default配置文件
[root@data-1-2 ks_config]# vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://10.0.0.61/ks_config/Centos-6.3-ks.cfg ksdevice=eth1 #告诉程序ks.conf文件在哪 ###网卡从哪启动
检测能否访问到,如果访问不到PXE就不能安装
[root@data-1-2 pxelinux.cfg]# curl http://10.0.0.61/ks_config/Centos-6.3-ks.cfg
############################
可以开始安装操作系统了另外注意在安装系统的时候在开启DHCP TFTP服务,预防不经意之间把重启的服务器给重装了系统。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构