搭建PXE远程安装服务
PXE的概述
PXE批量部署的优点
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
PXE(Preboot eXcution Environment)
预启动执行坏境,在操作系统之前运行
服务端
运行DHCP服务,用来分配地址、定位引导程序
运行TFTP服务,提供引导程序下载
客户端
网卡支持PXE协议
主板支持网络引导
基本部署过程
1.准备CentOS 7 安装源(YUM仓库) FTP
2.安装并启用TFTP服务
3.提供Linux内核、PXE引导程序等
4.安装并启用DHCP武器
5.配置启动菜单
准备CnetOS 7 安装源
CentOS 7 安装源支持HTTP、FTP、NFS等协议发布
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /media/cdrom/*/var/ftp/centos7/
systemctl start vsftpd
安装并启用TFTP服务
安装tftp-server软件包,启用tftp服务
配置文件位于/etc/xinetd.d/tftp (tftp根目录)
yum -y install tftp-server
vi /etc/xinetd.d/tftp 需要修改的配置文件:下面的no
server_args =-s /var/lib/tftpboot
disable =no
systemctl start tftp
systemctl enable tftp
准备Llinux内核、PEX引导程序
Linux内核、初始化镜像文件分别为vmlinuz和initrd.img
引导程序为pxelinux.0,由软件包syslinux提供
cd /media/cdrom/images/pxeboot (位于系统镜像文件夹(images/pxeboot)下)
cp vmlinuz initrd.img /var/lib/tftpboot
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
DHCP服务的PXE设置
yum -y install dhcp
vi /etc/dhcp/dhcpd.conf
(next-server 192.168.4.254;
filename “pxelinux.0”;
) next-server:指定TFTP服务器地址 filename:指定要下载的引导程序文件
systemctl start dhcpd
systemctl enable dhcpd
配置启动菜单文件
三种安装模式 都是ftp从本地进行寻找的
手动的时候 prompt=0
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pexlinux.cfd/deault //启动菜单
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot //linux引导加载模块
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot //压缩内核
验证PXE网络安装
为客户机安装系统
调整BIOS设置,以便从网络引导
自动获取IP地址,并指定CentOS 7 安装源
其余过程本地安装相同
若用VMware虚拟机测试,虚拟内存至少2G
工作在C/S模式,客户机通过网络从远程服务器下载镜像,并加载安装整个操作系统
PEX远程服务器 所需准备:
安装源(系统盘文件);
TFTP服务;(发布装机文件,让客户机可访问)
XINETD服务;(因为tftp由xinetd管理)
DHCP服务;
项目流程
在服务器上
安装tftp
[root@server1 ~]# hostname pxe
[root@server1 ~]# bash
[root@pxe ~]# yum -y install tftp-server;
编辑配置文件
[root@pxe ~]# vi /etc/xinetd.d/tftp
disable = no 开启tftp
安装DHCP
yum -y install dhcp
编辑配置文件
[root@server1 ~]# vi /etc/dhcp/dhcpd.conf
ddns-update-style none; 关闭动态DNS服务
next-server 192.168.10.128; TFTP地址指向本机
filename "/pxelinux.0"; 指导文件TFTP上的位置
subnet 192.168.10.128 netmask 255.255.255.0 { 下发地址
range 192.168.10.100 192.168.10.200; 网段范围
option routers 192.168.10.128; 网关地址
option domain-name-servers 8.8.8.8, 144.144.144.144; DNS服务器的地址
}
安装ftp
[root@server1 ~]# yum -y install vsftpd
挂载
[root@server1 ~]# mount /dev/cdrom /var/ftp/
编辑配置文件
[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf
添加:
anon_umask=022 设置匿名账户的权限是755
anon_other_write_enable=YES 允许匿名账户其它的写权限
修改:
anon_upload_enable=YES 允许匿名账户上传
anon_mkdir_write_enable=YES 允许匿名账户新建文件或目录
listen=YES 监听IPv4
listen_ipv6=NO 监听IPv4
安装引导加载程序
[root@server1 ~]# yum -y install syslinux
复制网络启动所需要的文件到tftp服务器的根目录下
[root@server1 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@server1 ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
Linux引导加载模块
[root@server1 ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
压缩内核
[root@server1 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
创建特定的目录存放菜单文件
[root@server1 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 启动菜单
[root@server1 ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
图形化启动菜单
修改安装的配置文件
[root@server1 ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.128/pub ks=ftp://192.168.6.10/ks.cfg
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.10.128/pub
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.10.128/pub
安装xinetd 用于管理tftp
启动服务 检查
[root@server1 ~]# yum -y install xinetd
root@server1 ~]# systemctl start dhcpd
[root@server1 ~]# systemctl start vsftpd
[root@server1 ~]# chkconfig --level 35 xinetd on
[root@server1 ~]# chkconfig --level 35 tftp on
[root@server1 ~]# systemctl start tftp
[root@server1 ~]# netstat -anpu | grep dhcpd
[root@server1 ~]# netstat -anpt | grep vsftpd
安装kickstart
[root@server1 ~]# yum -y install system-config-kickstart
设置默认语言,时区,Root密码,安装后重启
设置安全方法:ftp FTP服务器:ftp://192.168.10.128 目录:pub
引导装载程序选项 :安装新引导装载程序
分区信息设置: 初始化磁盘标签
防火墙配置 禁用
安装后脚本设置
[root@server1 ~]# vi anaconda-ks.cfg 复制客户机需要的安装软件包
[root@server1 ~]# cd /var/ftp
[root@server1 ftp]# ls -lh
[root@server1 ftp]# vi ks.cfg
完成以上操作,PXE自动安装设置
新建一个虚拟机进行测试