Kickstart无人值守安装操作系统CentOS 7.3
前言
1、DHCP服务需,给客户机分配置必要的网络信息
2、tftp-server ,给客户机分配置 引导程序 pxelinux.0、vmlinuz,initrd
3、共享系统光盘,共享方式可以是ftp,http,nfs
当客户端开机的时候,从DHCP服务器获取必要的网络信息、TFTP服务器地址、从TFTP获取文件。引导程序 pxelinux.0通过配置文件找到内核文件和初始化文件和相关参数
需要资源
- CentOS-7.3-x86_64-DVD-1611.iso
内网本地化YUM源
- 创建iso存放目录和挂载目录
mkdir /mnt/iso
mkdir /mnt/cdrom - 将iso镜像文件上传到/mnt/iso文件夹下
- 将/mnt/iso/下的iso文件挂载到/mnt/cdrom目录
mount -o loop /mnt/iso/CentOS-7.3-x86_64-DVD-1611.iso /mnt/cdrom - 配置.repo的文件
先备份源repo文件
mkdir /ect/yum.repos.d/bak
mv *.repo /etc/yum.repos/d/bak
编写自已的reop文件
vi /etc/yum.repos.d/myself.repo
#[必须为development,如果不是在自动安装系统时找不到文件][development] name=myself #挂载的目录 baseurl=file:///mnt/cdrom #enabled必须等于1 enabled=1 gpgckeck=0 #注:cd /mnt/cdrom/可以看到这个key,这里仅是个例子 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
- 清楚yum缓存
yum clean all
安装DHCP(依赖内网本地化YUM源)
-
执行安装命令
yum install dhcp -y -
查找配置位置
rpm -qc dhcp
rpm -ql dhcp | grep example -
复制配置文件
cat /usr/share/doc/dhcp-4.2.5/dhcp.config.example > /etc/dhcp/dhcpd.conf -
编辑配置文件,只保留以下信息,其他信息删除
vim /etc/dhcp/dhcpd.confsubnet 192.168.1.0 netmask 255.255.255.0 { #subnet 后面是子网信息 range 192.169.1.110 192.168.1.120; #预分配客户机IP地址池 option domain-name-servers 192.168.1.200; #预分配客户机DNS地址 option domain-name "com.mxzhe";#预分配客户机域名,如果是IP不需要双引号 option routers 192.168.1.1; #预分配路由地址 option broadcast-address 192.168.1.1; #预分配广播地址 next-server 192.168.1.200; #TFTP服务器地址 filename "/pxelinux.0"; #需要获取的引导文件 default-lease-time 600; max-lease-time 7200; }
-
启动DHCP
systemctl start dhcp -
开机自启动
systemclt enable dhcpd
安装TFTP(依赖内网本地化YUM源)
- 执行安装命令
yum -y install tftp-server - 启动TFTP服务(依赖于xinetd服务)
执行按装xineted
yum -y install xineted
配置启动文件
vim /etc/xinetd.d/tftp
把disable=yes修改成disable=no
启动xineted服务
systemctl start xinetd
systemctl enable xinetd
TFTP文件服务目录
/var/lib/tftpboot
搭建NFS
创建挂载目录
mkdir /dvd73
挂载ISO镜像
mount -o loop /mnt/iso/CentOS-7.3-x86_64-DVD-1611.iso /dvd73
启动nfs
systemctl start nfs-server
编辑配置文件
vim /etc/exports
/dvd73 *(rw,sync)
保存退出
:wq
执行命令
exports -arv
无盘引导
准备文件pxelinux.0、vmlinuz、initrd.img
- 查找pxelinux.0文件所在包
yum whatprovides */pxelinux.0 - 安装syslinux-4.05-*包
yum install syslinux-4.05-12.e17.x86_64 -y
案装成功后文件会存在/usr/share/syslinux/pxelinux.0 - 把文件制到TFTP
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ - 文件所在目录
cd /mnt/cdrom/images/pxeboot - 把文件copy到TFTP下载目录下(以下两个文件可以重命名)
cp vmlinuz initrd.img /var/lib/tftproot/
创建引导配置文件
创建pxelinux.cfg目录
cd /var/lib/tftproot
mkdir pxelinux.cfg
复制配置文件isolinux.cfg并更名为default
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftproot/pxelinux.cfg/default
赋予写的权限
chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
复制boot.msg(引导界面文件)
cp /mnt/cdrom/isolinux/boot.msg /var/libtftpboot
赋予定的权限
chmod u+w /var/lib/tftproot/boot.msg
编辑引导配置文件
vi /var/lib/tftproot/default
显示行号,在命行模式下输入
:set nu
修改第1行:
default Centos7.3
修改第62-65行:
label Centos7.3
menu label ^Install CentOS Linux 7.3
kernel vmlinuz
append initrd=initrd.img inst.repo=nfs:192.168.1.200:/dvd73 quiet
保存退出
:wq