前言
普通的装系统,虽然简单但是耗时长,还不能走开,一旦需要装系统的机器多了普通的手动装机已经不再满足需求了,因此本章讲了可以用PXE实现无人值守自动安装多台机器的功能。
一、PXE安装项目
1.下载安装包
1.TFTP安装
yum -y install tftp-server
vi /etc/xinetd.d/tftp
把yes修改为no
2.DHCP安装
yum -y install dhcp
DHCP服务的pxe设置
vi /etc/dhcp/dhcpd.conf
ddns-update-style none;
next-server 192.168.100.111;
filename "/pxelinux.0";
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.130 192.168.100.200;
option routers 192.168.100.111;
option domain-name-servers 8.8.8.8, 4.4.4.4;
}
启动DHCP服务
systemctl start dhcpd
3.FTP安装
yum -y install vsftpd
注:CentOS 7 安装源支持HTTP、FTP、NFS等协议发布
准备镜像文件,将镜像文件以ftp协议传输(启动U盘或者是光盘里都有),将里面的文件复制到/var/ftp/pub/目录下面。
这里使用的方法是将光盘挂载到ftp/pub目录下
mount /dev/cdrom /var/ftp/pub/
查看挂载情况
cd /var/ftp/pub/
ll
若是没有U盘还有光盘也可以使用xftp上传到PXE服务器的/var/ftp/pub/目录下
4.配置ftp服务
vi /etc/vsftpd/vsftpd.conf
修改或添加:
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
listen=YES
listen_ipv6=NO
启动ftp
systemctl start vsftpd
2.准备pxe所需要的文件
把pxe所需要的文件复制到tftp服务根目录下
安装引导加载程序
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
客户端在启动时,会到 /var/lib/tftpboot/pxelinux.cfg下去查找启动菜单,因此需要创建一个
mkdir /var/lib/tftpboot/pxelinux.cfg
复制启动菜单
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
复制Linux引导加载模块
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
复制压缩内核
// An highlighted block
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
复制图形化启动菜单
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/```
vi编辑default
```javascript
vi /var/lib/tftpboot/pxelinux.cfg/default
里面内容全部删掉,然后编辑下面的代码,IP地址为PXE服务器的IP地址
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.111/pub
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.111/pub
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.111/pub
启动TFTP服务
systemctl start tftp
启动服务
yum -y install xinetd
chkconfig --level 35 xinetd on
chkconfig --level 35 tftp on
检查一下是不是所有的服务都启动了
systemctl status tftp
systemctl status dhcpd
systemctl status vsftpd
关闭防火墙
systemctl stop firewalld
setenforce 0
3.测试
进bios启动顺序改一下就可以了
boot:
这时候回车一下就行了。
二、Kickstart无人值守技术
按照上面的方法,如果安装很多台设备的化,那么每台设备都需要手动对系统安装进行设置,比较麻烦,
所以可以采用第二种方法,在第一种方法做完的基础上,开始第二种方法的PXE服务搭建,首先创建应答文件,
然后预先定义好各种设置免去交互设置的过程,从而实现全自动化安装。
1.kickstart安装与配置
vi /var/lib/tftpboot/pxelinux.cfg/default
vi /var/lib/tftpboot/pxelinux.cfg/default
修改:
1代表需要确认,0不需要确认
prompt 0
添加:
ks=ftp://192.168.100.111/ks.cfg
安装kickstart
yum -y install system-config-kickstart
进入图形界面
没有图形化界面,可以去安装一下。
init 5
现在可以自定义系统
这个是根对应前面的步骤,选ftp
这个尽量选第一个,选第二有可能会黑屏
进行磁盘配置
防火墙配置
安装后脚本
这个脚本是配置yum源的,可以自己自定义,也可以不写。
点击一下文件
最后点击保存,保存到/var/ftp下面
编辑ks.cfg
首先去anaconda-ks.cfg复制内容
vi anaconda-ks.cfg
复制%packges开头一直到% end结尾的文字
然后去ks.cfg粘贴
vi /var/ftp/ks.cfg
如果刚才写脚本的,这里可以看到
测试:
新建一个机器打开看下可不可以自动装机
成功!