Contents
Linux系统使用PXE无人值守自动安装总结
需要哪些服务组件
- DHCP服务,分配IP地址、定位引导程序
- TFTP服务,提供引导程序下载
- HTTP服务,提供yum安装源
客户机应具备的条件
- 网卡芯片必须支持PXE协议
- 主板支持从网卡启动
启动步骤
1.dhcp--->IP地址 next-server filename=pxelinux.0
2.tftp--->pxelinux.0
3.pxelinux.0--->菜单文件default
4.default--->图形模块 背景图片 内核 驱动程序 指定应答文件
5.生成应答文件ks.cfg
指定分区,yum位置,密码等等
所需文件
1.iso镜像文件,挂载到/mnt以及/vat/www/html/centos
2./vat/www/html/ks.cfg
3./var/lib/tftpboot/下的文件
- initrd.img 驱动程序
- pxelinux.cfg 文件夹
- pxelinux.cfg/default 菜单文件
- vesamenu.c32 部署图形模块
- pxelinux.0 网卡引导文件,网络装机说明书
- splash.png 背景图片
- vmlinuz 部署启动内核
dhcp配置
yum install -y dhcp
前提安装dhcp服务器进行地址的分配
dhcp模板文件 /usr/share/doc/dhcp*/dhcpd.conf.example
dhcp配置文件 /etc/dhcp/dhcpd.conf
dhcp关键配置
subnet 192.168.4.0 netmask 255.255.255.0 { #分配网段
range192.168.4.100192.168.4.200; #分配IP地址范围
option domain-name-servers 192.168.4.7; #DNS
option routers 192.168.4.254; #分配的网关地址
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #下一步服务器地址
filenamer "pxelinux.0"; #指定网卡引导文件
}
tfpt server
默认端口69,默认共享路径/var/lib/tftpboot
yum -y install tftp-server
systeemctl start tfpt
pxelinux.0
pxelinux.0:网卡引导文件,网络装机说明书
pxelinux.0->读取菜单文件内容(/var/lib/tftpboot/pxelinux.cfg/default)
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
/var/lib/tftpboot/获取启动所需文件
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
iso中的isolinux.cfg就是菜单文件,进行拷贝为default修改即可
修改菜单项目
修改menu title 就是启动菜单顶部标题
label linux 就是菜单选项
menu lable ^Install Centos7.5 菜单显示的选项
menu default 读秒之后默认选择
kernel vmlinuz 加载启动内核
append initrd=initrd.img ks =http://192.168.4.7/ks.cfg 加载驱动程序,指定应答文件
部署图形模块(vesamenu.c32)与背景图片(splash.png)
cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/
部署启动内核(vmlinuz)与驱动程序(initrd.img)
cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
/var/lib/tftpboot/下的文件
- initrd.img
- pxelinux.cfg 文件夹
- vesamenu.c32
- pxelinux.0
- splash.png
- vmlinuz
配置http服务,提供yum源
yum install -y httpd
mkdir /var/www/html/centos
mount /dev/cdrom /var/www/html/centos
systemctl restart httpd
自动应答文件生成
图形工具system-config-kickstart
yum install -y system-config-kickstart
Package Selection使用不了是redhat7的bug,需要修改/etc/yum.repos.d/local.repo 将[local_repo]改为[development]
LANG=en system-config-kickstart 启动,LANG=en是 在中文环境乱码的时候添加的
1.Basick Configration
修改time-zone Asia/Shanghai
配置root密码
选择Reboot system after installation
选择字符模式,不用图形化安装
2.Installation Methond
选择HTTP
Http server:web的ip
http directory: centos
3.Boot Loader Options
选择install new Boot Loader
4.Partition information
都选第一个,清除分区表表信息,删除分区,重新初始化磁盘
点击ADD 选择Fill all unused space on disk
5.Netwok configration
add添加,
Network Device:eth0
Network Type:DHCP
6.Firewall 关闭防火墙和selinux
7.Package Selection
必装System-》Base
其他自选
8.Post-Installation Script
安装后运行的脚本添加一个用户
useradd test
echo 123 | passwd --stdin test
左上角,file-》Save 保存文件名为ks.cfg,保存到root下
mv /root/ks.cfg /var/www/html/
修改菜单文件,指定应答文件的位置
vim /var/lib/tftpboot/pxelinux.cfg/default
append initrd=initrd.img ks =http://192.168.4.7/ks.cfg