PXE+kickstart 无人值守安装操作系统
PXE+kickstart 无人值守安装操作系统
企业数据中心中,服务器一般都较多,假如新购买一百台服务器装系统及初始化,对于咱运维工程师来说,如果按照一台台安装工作量巨大,所以掌握kickstart无人值守系统是必须的
一、kickstart框架
二、安装准备
2.1 kickstart 服务器说明
系统:centos7.8 内存:2G cpu:1核 网卡eth33:192.168.197.128 /24
2.2 关闭selinux
setenforce 0 #临时关闭SELinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久关闭SELinux(重启生效) systemctl stop firewalld.service #临时关闭防火墙 systemctl disable firewalld.service #永久关闭防火墙
2.3 syslinux安装
syslinux 是引导加载程序,是一个小型的linux系统
yum install syslinux syslinux-devel -y
安装完成后,在/usr/share/syslinux中会有pexlinux.0 ,用来引导系统
2.4 httpd+dhcp+tftp+Xinetd 服务安装
yum install httpd httpd-devel dhcp* tftp-server xinetd -y
三、tftp+dhcp+httpd服务配置
3.1 tftp配置
vim /etc/xinetd.d/tftp
只需设置disable=no,设置tftp开机自启动,同时记录tftp根目录/var/lib/tftpboot,用于后续文件的存放
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no # 修改此项即可 per_source = 11 cps = 100 2 flags = IPv4 }
启动服务
systemctl restart xinetd
<!------------------------------重要--------------------------------->
重要:将一些文件传至tftp目录
mkdir -p /var/lib/tftpboot cp /var/www/html/centos7.8/images/pxeboot/vmlinuz /var/lib/tftpboot cp /var/www/html/centos7.8/images/pxeboot/initrd.img /var/lib/tftpboot cp /var/www/html/centos7.8/isolinux/vesamenu.c32 /var/lib/tftpboot cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot mkdir -p /var/lib/tftpboot/pxelinux.cfg cp /var/www/html/centos7.8/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
拷贝完成后/var/lib/tftpboot下一共5个文件:
initrd.img pxelinux.0 vesamenu.c32 vmlinuz pxelinux.cfg/default
修改/var/lib/tftpboot/pxelinux.cfg/default
# 默认加载菜单 default vesamenu.c32 timeout 100 display boot.msg # menu 为背景标题颜色... menu clear menu background splash.png menu title CentOS 7 menu vshift 8 menu rows 18 menu margin 8 menu helpmsgrow 15 menu tabmsgrow 13 label linux menu label ^Install CentOS Linux 7 menu default # 指定内核 kernel vmlinuz # 追加给内核参数 initrd:最小的linux系统 inst.repo:指定ks.cfg文件路径 append initrd=initrd.img inst.repo=http://192.168.197.128/centos7.8 quiet ks=http://192.168.197.128/ks.cfg label check menu label Test this ^media & install CentOS Linux 7 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
3.2 DHCP配置
vim /etc/dhcp/dhcpd.conf
<!--提示:如果复制至vim会全部注释,可以复制前输入 :set paste-->
# 动态更新DNS ddns-update-style interim; # 不允许更新DNS ignore client-updates; # tftp服务器地址 next-server 192.168.197.128; # tftp服务器根目录下的文件名 filename "pxelinux.0"; # 允许PXE启动 allow booting; # 允许支持bootp allow bootp; # 设置DHCP网段掩码 subnet 192.168.197.0 netmask 255.255.255.0 { # 设置网关 option routers 192.168.197.2; # 设置掩码 option subnet-mask 255.255.255.0; #设置dhcp服务器IP地址租用的范围(和服务器在一个网段) range dynamic-bootp 192.168.197.150 192.168.197.200; #默认租约时间 default-lease-time 3600; #最大租约时间 max-lease-time 7200; }
绑定DHCP网卡(如果一台服务器有多个网卡,需要指定DHCP服务器的网卡)
vim /etc/sysconfig/dhcpd
# 根据实际网卡名填写 DHCPDARGS=eth33
输入dhcpd 测试正常
启动服务
systemctl restart dhcpd.service systemctl enable dhcpd.service
3.3 httpd服务配置
httpd服务主要是提供给客户端下载需要的软件包,所以镜像软件需要挂载至httpd根目录
mkdir -p /var/www/html/centos7.8/ mount /dev/cdrom /var/www/html/centos7.8/ # 可以cp拷贝过去,可加入开机项 # 建议服务器存放镜像,建立软连接 比mount要好 # 启动服务 systemctl restart httpd.service systemctl enable httpd.service
测试访问正常
四、图形化配置ks.cfg文件
4.1 ks.cfg介绍
ks.cfg文件是安装操作系统的一些详细的配置,分为三段
- 指令段,用于自动应答图形安装时的手动操作(时区,键盘之类的)
- 包选择段,使用 %packages 引导使用
- 脚本段,%pre引导 预安装脚本段;%post引导后安装脚本段 ,%end结束
由于kickstart的参数过多,我们使用图形化配置,不便于出错
4.2 centos7安装图形化(已安装跳过)
首先切换到图形化界面,由于之前未安装图形化,故先安装图形化界面
yum groupinstall "X Window System" -y
输入
yum grouplist查看图形化安装组
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
安装完成后输入startx即可进入图形化
4.3 (可选)kisckstart 图形化安装工具--新手推荐(比如我 哈哈)
yum install system-config-kickstart -y
开始配置
<!--只要将vim /etc/yum.repos.d/CentOS-Base.repo(文件名根据实际情况修改) 中的[base]一项 复制一份改成[development]放置文件末尾,然后输入yum clean all && yum makecache,重开kickstart软件即可-->
生成的ks.cfg配置如下
#platform=x86, AMD64, or Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us' # Root password rootpw --iscrypted $1$V.oK4NE.$RPASHZXvyHMPNqym7KwGe1 # System language lang en_US # System authorization information auth --useshadow --passalgo=sha512 # Use graphical install graphical # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # Firewall configuration firewall --disabled # Network information network --bootproto=dhcp --device=ehto # Reboot after installation reboot # System timezone timezone Asia/Shanghai # Use network installation url --url="http://192.168.197.128/centos7.8" # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="xfs" --size=512 part / --fstype="xfs" --grow --size=1 %post echo "set hostname" hostnamectl set-hostname k8s-node03 echo " set yum" rm -rf /etc/yum.repos.d/* cat>/etc/yum.repos.d/centos7.8.repo<<EOF [base] name=centos7.8 baseurl=http://192.168.197.128/yum/centos7.8 enable=1 gpgcheck=0 EOF yum clean all yum install -y vsftp* useradd test echo Huawei12#$|passwd --stdin test %end %packages @python-web %end
五、测试PXE部署
测试安装正常,且填写的脚本也已经运行完成。
重要:centos7.3以后的要最少2G内存,不然会报错,折腾到凌晨,哭死
报错界面如下
桃李不言 下自成蹊
- PXE Server 安装配置( PXE 和 Kickstart 无人值守安装 CentOS Linux 操作系统)
- pxe+kickstart 实现基于网络的无人值守安装操作系统
- linux下PXE和KickStart实现Linux下的无人值守安装
- linux 系统 pxe(kickstart)无人值守安装
- linux之PXE+kickstart实现无人值守安装
- 虚拟机自动安装linux操作系统(kickstart+pxe+dhcp+tftp)
- PXE网络装机配置和kickstart 无人值守安装
- pxe+kickstart 无人值守安装CentOS7.1
- CentOS 6下PXE+Kickstart安装操作系统
- 第19章 使用PXE+Kickstart部署无人值守安装
- pxe+tftp+kickstart+dhcp+apache无人值守安装centos
- Linux 搭建PXE Server及Kickstart无人值守安装
- Centos7下无人值守安装部署(PXE + DHCP+TFTP+ Kickstart+FTP)
- PXE+kickstart实现无人值守安装
- 部署PXE远程安装服务实现Kickstart无人值守安装
- Ubuntu配置PXE+Kickstart+TFTP+DHCP实现快速布署Linux操作系统
- 使用PXE+kickstart部署无人值守安装
- 使用PXE+Dhcp+Apache+KickStart进行无人值守安装RHEL 5.9
- Linux中级:PXE + Kickstart 安装CentOS 6.x 操作系统
- vsftp+tftp+dhcp+pxe+kickstart自动化安装操作系统