无人职守自动安装Linux系统
先讲一下技术,pxe是由intel公司开发的基于客户端/服务器模式的一种技术,其核心功能是让客户端通过网络从远端服务器下载启动镜像,从而实现网络启动。
,kickstart安装是目前主要的一种无人职守自动部署安装操作系统方式,其核心是自动应答文件(kickstart文件),这个文件包括了我们手动安装系统时候设置的语言,密码,网络参数等,该文件可通过三种方式生成,我们用其中的一种,图形生成。
原理,客户端需要设置BIOS通过网络启动,客户端启动会发送广播包的形式来寻找DHCP服务器来获得网络参数,并通过DHCP获得TFTP的位置,得知TFTP服务器位置即可下载启动文件,最终实现无盘启动,也就是网络启动安装。
实验环境拓补图
实验目的,clent2台机子通过网络自动安装系统,我们实验用的是centos6.5 64位
首先,我们配置一下server端(注意关闭防火墙,关闭selinux,怎么关闭请百度查一下我就不做解释了)
安装DHCP
1, 安装DHCP Yum –y install dhcp
2, 配置文件截图,这个dhcpd.conf文件是需要手动创建的
3, 启动服务servicedhcpd start
4, 开机启动chkconfig dhcpd on
注意:红色框内是需要你根据你的实际情况来写的,这目录和文件后续会创建的,不懂这里的可以往后看。
安装TFTP
1, yum –y install tftp-server
2, 配置文件截图,这个tftp文件只需要更改一处,红线框内的yes改为no即可
Sever_args 解释了 共享文件夹目录/var/lib/tftpboot
3,稍后重启服务,下面还需要配置一些启动文件
将客户端所需要的启动文件复制到TFTP服务器,也就是/var/lib/tftpboot 这个目录
1, yum –y install syslinux
2, cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
将光盘放入server端光驱里面,咱们从光盘中复制启动镜像文件和启动配置文件到TFTP共享目录
1, umount /dev/cdrom
2, mount /dev/cdrom /media
3, cp /media/isolinux/vmlinuz /var/lib/tftpboot
4, cp /media/isolinux/initrd.img /var/lib/tftpbooot
5, mkdir /var/lib/tftpboot/pxelinux.cfg
6, cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
7, chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
8, 修改default文件如下,红色框内根据你的实验环境写
9,重启TFTP服务 servicexinetd restart
10,开机启动 chkconfig xinetd on
创建kickstart自动应答文件
1, yum –y install system-config-kickstart
2, mkdir /kickstart/
3, 运行system-config-kickstart(这里就是图形化生成应答文件ks.cfg)截图如下
打完命令会弹出这个框框
下面的截图就是一步一步来的,安装可以按这个来你也可以自己根据自己情况来修改
注意一下你自己的nfs服务器地址,和目录,这里不明白没关系,因为咱们nfs还没有安装
分区这里,你选择添加会出现有框,然后设置/boot swap 还有根分区
网络配置,因为咱们是DHCP,选择添加网络设备弹出左侧框框,设备写eth0点击确定
根据自己情况而定,安全增加版就是selinux
咱们不安装图形化环境,根据自己情况
软件包这里我就选了个中文支持,根据自己情况
下面预安装脚本和安装后脚本咱们暂时不涉及到,所以不用做任何修改,下面点击文件保存,保存到/kickstart/目录下
安装NFS服务器
1,yum –y installnfs-utils
2, 配置文件如截图,根据自己情况定
3, 启动nfs服务 servicenfs start
4, 开机启动chkconfig nfs on
我们需要将光盘中的文件复制到/media目录中,前面咱们复制的是启动文件,现在复制的是整个光盘镜像文件,咱们也是可以mount
mount /dev/cdrom /media
因为之前咱们Mount了,这里其实也是不需要重复了,这里只是做个提醒,按步骤来
启动客户端,安装部署系统
将所有客户端主机的BIOS,将第一启动项设置为pxe网络启动即可
作者我曾经遇到的问题
1,server端需要支持图形化界面,如果不支持安装一下
yum -y groupinstall Desktop
yum -y groupinstall "X Window System"
yum -y groupinstall chinese-support
vi /etc/sysconfig/i18n
将en_US改成zh_CN
init 5
2,server端执行umount或者mount 的时候却提示:deviceis busy 的处理方法
umount /mnt/cdrom/ -f //强制卸载也不行
fuser -m /mnt/cdrom/
kill -9 1338
如果你有更好的你也可以根据自己来解决这个问题
3,客户端请求DHCP时候找不到ip地址,这个就是DHCP配置问题,你去server端查看一下,如果你在上面重启服务时候都起不来,你去/etc/init.d/dhcpd看一下,将user group 后面的dhcp改为root,再重启
4,客户端在网络安装时候遇到pxe-e32或者tftp opentimeout
这个问题肯定是server端tftp配置问题,所以请仔细比对一下
5, 利用vm测试本实验,会需要你手动在客户端选一下重新初始化,如图
你需要手动去客户端选择最后这个按钮,后续就不需要你手动了。
那个错误是磁盘初始化驱动的问题,VM虚拟的scsi磁盘,就是默认系统默认支持的驱动不太完善,(正常服务器安装一般不会出现这种错误,服务器都会先安装驱动再安装系统)重新初始化一下应该就好了.
线上服务器不会出现这个报错的,这个是虚拟机的问题。
如果有环境好(人少),工作多(接触的东西多)与我联系哦,我在考虑换换环境工作(联系邮箱[email protected])
------------------------------------------------好了到这里结束了,觉得写的不错多多评论谢谢。
----------by joker