无人值守安装系统分两个部分:
1)无人值守安装系统(一)--网络安装系统
2)无人值守安装系统(二)--kickstart配置自动应答文件
这里配置“网络安装系统”环境,“kickstart配置”请查阅“无人值守安装系统(二)”
先来看下草图~
原理:
1)裸机启动后自动从DHCP服务器获取IP地址、子网掩码、网关、DNS等信息;
2)DHCP服务器会告诉裸机tftp-server的IP地址,同时告诉裸机需要获取pxelinux.0引导程序;
3)然后裸机获取引导程序pxelinux.0并加载引导程序pxelinux.0;
4)通过引导程序pxelinux.0从tftp-server下载一个pxe配置文件;
5)裸机又通过下载的pxe配置文件,知道了要加载哪个内核和哪个初始化文件;
6)此时裸机上就会出现安装界面,但是并没有光盘的内容;
7)所以还要通过ftp/http/nfs的方式获取光盘内容;
1、服务器系统环境(我使用的redhat7.3)
关闭虚拟机中NAT网络中的DHCP
关闭SElinux
关闭firewalld
配置IP:192.168.26.101 255.255.255.0 192.168.26.1
配置DNS:192.168.26.1
2、配置光盘自动挂载
# vim /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
# mount -a
配置yum源
# vim /etc/yum.repos.d/aa.repo
[dvd]
name=dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0
# yum clean all ; yum repolist
3、安装配置dhcp服务
# yum -y install dhcp
配置DHCP服务、tftp地址、告诉对方获取的文件
# cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example > /etc/dhcp/dhcpd.conf
# vim /etc/dhcp/dhcpd.conf
subnet 192.168.26.0 netmask 255.255.255.0 { #IP网段、子网掩码
range 192.168.26.20 192.168.26.40; #IP地址池
option domain-name-servers 192.168.26.2; #DNS地址
option domain-name "example.com"; #域
option routers 192.168.26.2; #网关地址
option broadcast-address 192.168.26.255; #广播地址
next-server 192.168.26.101; #指定tftp-server的IP
filename "/pxelinux.0"; #告诉对方要下载的文件,这里的/指的是/var/lib/tftpboot/
default-lease-time 600;
max-lease-time 7200;
}
# systemctl restart dhcpd
# systemctl enable dhcpd
4、安装配置tftp服务(tftp工作目录:/var/lib/tftpboot/)
# yum -y install tftp-server
# yum -y install syslinux-4.05-13.el7.x86_64
拷贝引导文件pxelinux.0
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
拷贝内核文件vmlinuz(光盘挂载点中)
# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
拷贝初始化文件initrd.img(光盘挂载点中)
# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
拷贝修改启动界面的文件(光盘挂载点中)
# cp /mnt/isolinux/boot.msg /var/lib/tftpboot/ #可有可无的文件
# chmod u+w /var/lib/tftpboot/boot.msg
创建tftp配置目录
# cd /var/lib/tftpboot/
# mkdir pxelinux.cfg
拷贝配置模板文件(光盘挂载点中)
# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
修改tftp配置文件
# vim /var/lib/tftpboot/pxelinux.cfg/default
default redhat7.3 #如果什么都不选,默认选择linux
timeout 600 #超时600秒
prompt 1 #可以自己输入关键字“redhat7.3”进行选择
display boot.msg #我们怎么知道都有什么关键字呢,这里可以设置提示
label redhat7.3
menu label ^Install Red Hat Enterprise Linux 7.3
kernel vmlinuz
append initrd=initrd.img inst.repo=nfs:192.168.26.101:/mnt quiet
# vim /var/lib/tftpboot/boot.msg
增加提示信息:
---------------
# enter redhat7.3 for install redhat7.3
# enter redhat6.5 for install redhat6.5
5、安装配置nfs服务
# yum -y install nfs-server
# systemctl start nfs-server
# systemctl enable nfs-server
# vim /etc/exports
/mnt *(rw)
# exportfs -arv
exporting *:/mnt
6、tftp服务依赖xinetd服务,我们通过xinetd来启动tftp服务
# yum -y install xinetd
# vim /etc/xinetd.d/tftp
disable = no
# systemctl restart xinetd
# systemctl enable xinetd
7、新建虚拟机测试
删除不必要的硬件,包括光驱
1)DHCP获取IP地址等信息
2)首先显示的是boot.msg的提示信息
到此我们实现了:裸机不通过光盘引导,一步步的进行安装系统,
但是还没有实现自动化安装。
请继续查阅“无人值守安装系统(二)”