PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统

  1. 云栖社区>
  2. 博客>
  3. 正文

PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统

余二五 2017-11-13 15:00:00 浏览892
展开阅读全文

Kickstart是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中出现需要填写参数时则自动匹配Kickstart生成的文件,所以只要Kickstart文件包含了安装过程中所有需要人工填写的参数,那么运维人员就完全不需要干预,等待安装完毕即可。

#系统环境

1
2
3
4
5
6
[root@RHCE ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@RHCE ~]# uname -r
3.10.0-327.el7.x86_64
[root@RHCE ~]# ip addr show enp0s8 | awk 'NR==3{print $2}'
192.168.235.36/24


#安装DHCP   给客户提供IP地址

1
2
3
4
5
6
7
8
9
10
11
12
[root@RHCE ~]# yum install -y dhcp
[root@RHCE ~]# vim  /etc/dhcp/dhcpd.conf     #编辑DHCP主配置文件
[root@RHCE ~]# cat  /etc/dhcp/dhcpd.conf | grep -v "#" | head -8
subnet 192.168.235.0 netmask 255.255.255.0 {
  range 192.168.235.10 192.168.235.20;
 default-lease-time 600;
 max-lease-time 7200;
 option domain-name-servers 192.168.235.36;
 next-server 192.168.235.36;
 filename "pxelinux.0";
}
[root@RHCE ~]# systemctl start dhcpd

#安装 FTP 给客户机传输镜像文件

1
2
[root@RHCE ~]# yum install -y vsftpd
[root@RHCE ~]# systemctl start vsftpd    #匿名用户访问即可


#安装 tftp 给客户机传输引导程序

1
2
3
4
5
[root@RHCE ~]# yum install -y tftp-server
[root@RHCE ~]# vim /etc/xinetd.d/tftp 
[root@RHCE ~]# cat /etc/xinetd.d/tftp | grep  disable    #将disable  修改为no
disable= no
[root@RHCE ~]# systemctl start tftp.service

#安装 syslinux  

#syslinux是用于提供引导加载的服务程序

1
[root@RHCE ~]# yum install -y syslinux


#挂载光盘

1
[root@RHCE ~]# mount /dev/sr0 /mnt/cdrom/


#拷贝相关文件

1
2
3
4
5
6
7
8
9
[root@RHCE ~]# cd /var/lib/tftpboot/
[root@RHCE tftpboot]# cp /usr/share/syslinux/pxelinux.0  . 
[root@RHCE tftpboot]# cp /mnt/cdrom/images/pxeboot/initrd.img  .
[root@RHCE tftpboot]# cp /mnt/cdrom/isolinux/vesamenu.c32  .
[root@RHCE tftpboot]# cp /mnt/cdrom/isolinux/boot.msg  .
[root@RHCE tftpboot]# cp /mnt/cdrom/images/pxeboot/vmlinuz .
[root@RHCE tftpboot]# mkdir pxelinux.cfg
[root@RHCE tftpboot]# cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[root@RHCE tftpboot]# chmod 777  /var/lib/tftpboot/pxelinux.cfg/default


1
2
3
4
5
6
7
[root@RHCE tftpboot]# vim pxelinux.cfg/default 
#将第一行修改为如下值
[root@RHCE tftpboot]# sed -n '1p' /var/lib/tftpboot/pxelinux.cfg/default 
default linux
#将第64行修改为如下值
[root@RHCE tftpboot]# sed -n '64p' /var/lib/tftpboot/pxelinux.cfg/default 
  append initrd=initrd.img inst.stage2=ftp://192.168.235.36 ks=ftp://192.168.235.36/pub/ks.cfg  quiet


1
2
3
4
5
6
7
8
9
10
11
[root@RHCE tftpboot]# systemctl status vsftpd
[root@RHCE tftpboot]# cp -r /mnt/cdrom/* /var/ftp/ 
[root@RHCE tftpboot]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@RHCE tftpboot]# chmod +r /var/ftp/pub/ks.cfg 
[root@RHCE tftpboot]# vim  /var/ftp/pub/ks.cfg 
#注释第5行的cdrom  并增加如下几行值
install    #安装指令
url --url=ftp://192.168.235.36   #镜像位置
selinux --disabled      #关闭selinux
zerombr     #清空MBR
reboot     #重启



#用Vbox新建一台虚拟机 系统选项中 启动顺序改为如下设置 

wKiom1jk45ey3aQvAACPgXSk_Ms320.png

#并且网络在跟服务器一个网络中


wKiom1jk5G7QOazHAACkmXVAzMA253.png



#开启客户机 等待数分钟 

wKiom1jk7evxtn9YAAA6YOvWw0I213.png


#自动安装成功










本文转自 chaunceyjiang  51CTO博客,原文链接:http://blog.51cto.com/cqwujiang/1913223,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
余二五
+ 关注