pxe的作用 远程装服务器
通过 dhcp 服务器 分配 Ip 然后 通过 http 或者是 ftp 来拉取rpm包来安装 系统
注:
传输文件的 时候使用的是 tftp协议
TFTP (简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。 TFTP服务默认由xinetd服务进行管理,使用UDP 端口 69
xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。比如 telnet
1.安装dhcp
(1)下载 and 覆盖 配置文件
yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
(2)修改配置文件
option domain-name-servers ns1.example.org, ns2.example.org;
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
next-server 10.47.165.108; #指定tftpserver在哪里
filename "/pxelinux.0"; #网络引导程序文件
# 子配置 A slightly different configuration for an internal subnet.
#子网配置
subnet 10.47.165.0 netmask 255.255.255.0 {
range 10.47.165.110 10.47.165.150; #DHCP地址池的范围
option domain-name-servers 114.114.114.114; #DNS地址 (可以设置)
option domain-name "example.com"; #域名地址
option routers 10.47.165.70; #网关地址
default-lease-time 600; #租约期 获取到的ip存活多长时间
max-lease-time 7200; #租约期到期,在的话就还可以用,不在自动回收
}
(3)启动并开机自启服务
systemctl start dhcpd && systemctl enable dhcpd
2.安装tftp服务
(1)下载软件包
yum -y install tftp* xinetd
(2)修改排位置文件
(3)开启服务
systemctl start tftp xinetd && systemctl enable tftp xinetd
(4)准备pxe的引导程序
yum -y install syslinux-extlinux.x86_64
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
注:
这里的 sys 这个包 我们也可以不安装 可以直接去 光盘 挂载目录下边找
在 /opt/centos/iamges/pxeboot/ (我的光盘挂载在 /opt/centos)
3.配置 启动菜单文件
配置默认启动文件:vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://10.47.165.108/centos7 ks=ftp://10.47.165.108/ks.cfg
注:
这里 我只写了一行 因为默认 选的就是 auto 这里的label 就是一个名字
跟 name一样 取什么名字都可以 你也可以把救援模式 都写上去 都无所谓
我这里就写了 一个
注意: 这里后边是要添加 ks文件的不要忘记了 !! method=…
4.准备初始化镜像
mount /dev/cdrom /opt/centos
cp /opt/centos/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /opt/centos/images/pxeboot/initrd.img /var/lib/tftpboot/
注: 为什么需要 vmlinuz 和 initrg呢 因为开机的时候 会读取到
会通过 tftp协议 然后从你的 ftp http 服务器 把这两个文件拉取到 要安装系统的机器
5.安装ftp服务,准备安装源
(1)ftp服务器的安装和拷贝安装源
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /opt/centos/* /var/ftp/centos7/
注:
这里的centos7目录是防止 安装源的 然后 要安装系统的机器通过 ftp服务器
拉取到 安装源
(2)启动服务
systemctl start vsftpd && systemctl enable vsftpd
(3)关闭防火墙和 selinux 否则 拉取不到文件
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
6.安装 Kickstart ,实现无人值守安装
(1)安装systemctl-config-kickstart 工具
yum -y install systemctl-config-kickstart
centos7光盘里边自带的就有
(2) 打开“Kickstart 配置程序” 窗口 (这个的作用就是生成一个 ks 文件 安装的我们指定就可以了)
可以通过桌面菜单 “应用程序”——> “系统工具”——>“Kickstart” 打开
或者
命令行执行 “ system-config-kickstart “
system-config-kickstart
注意: 你如果使用 命令行执行方式的话 需要有2 条件
1.linux有图形界面
2.需要有xmanager
否则的话就会出现如下的报错!!!
如果你都满足的话 他就会弹出来这个 让你选择
选择对应的参数:
注:
这里硬盘多的话 要安装在一块硬盘上不然的话 系统分区装在不同的分区上
会无法启动 而且你一定不能写错 写上对应硬盘的名字
保存
自定义配置(最小化安装)
7.添加ks文件
注: 我们的ks文件是要放在 ftp服务器的 默认目录下的
目的就是在于 让要安装系统的机器 拉取到ks文件
然后根据 ks 文件来安装 系统