PCE自动装机

服务端和客户端

pxe:c/s模式,允许客户端通过远程服务器(服务端)下载引导镜像,加载安装吻技安,实现自动化安装操作系统。

无人值守:安装选项不需要认为干预,可以自动化实现。

pxe优点:

1.规模化 同时装配多台服务器20多台不超过30台。

2.自动化

3.远程实现:不需要光盘u盘。

c/s客户端和服务端可以是多台。

pxe的安装条件:

硬件:网卡要支持pxe协议。主板支持网络引导。

软件:服务端要有dhcp服务,可以在客户机启动时自动分配ip地址。

TFTP 简单文件传输协议,传小文件,引导镜像文件很小,使用tftp

BSFTP 文件传输协议,传送大文件,安装文件。

test2作为服务端

[root@test2 ~]# yum -y install tftp-server xinetd

FTP xinetd 网络守护进程服务程序,用来管理轻量级的网络服务。管理TFTP的文件传输,是一个后台进程,使用的是udp协议端口是69

[root@test2 ~]# yum -y install dhcp

DCHP

[root@test2 ~]# yum -y install dhcp

VSFTP

准备pxe的引导文件,通过光盘镜像把文件复制出来复制到/var/lib/tftpboot/

vmlinuz linux的系统的内核文件

initrd.img 初始化镜像文件,引导加载的模块文件

pxelinux.0 引导程序文件

安装pxe的引导程序

配置启动菜单文件:

无人值守

安装无人值守

实验

1.关闭防火墙安装tftp 文件传输

[root@test2 ~]# systemctl stop firewalld
[root@test2 ~]# setenforce 0
[root@test2 ~]# yum -y install tftp-server xinetd     安装文件输出

2.重启安装的配置文件,设置为开机自启

[root@test2 ~]# systemctl restart tftp     重启配置文件
[root@test2 ~]# systemctl enable tftp     开机自启
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@test2 ~]# systemctl restart xinetd.service    重启配置文件
[root@test2 ~]# systemctl ana xinetd.service   
Unknown operation 'ana'.
[root@test2 ~]# systemctl enable xinetd.service    开机自启

3.修改tftp配置文件

[root@test2 ~]# vim /etc/xinetd.d/tftp
#       and to start the installation process for some operating systems.
​
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = no            把yes改为no  单个发送成为并发
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no           把yes改为no 
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
:wq!                     
[root@test2 ~]# systemctl restart tftp   修改配置文件后要重启
[root@test2 ~]# systemctl restart xinetd     修改配置文件后要重启  

4.安装dhcp分配IP地址

[root@test2 ~]# yum -y install dhcp

5.复制dhcp到/etc/dhcpd.conf 覆盖掉原来的文件

[root@test2 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes

6.修改dhcp的配置文件

[root@test2 ~]# vim /etc/dhcp/dhcpd.conf
​
Use this to enble / disable dynamic dns updates globally.
​
ddns-update-style none;     注释掉
next-server 192.168.65.21;  
#指定tftp的服务器
filename "pxelinux.0";     
#指定下载pxe的引导文件
​
This is a very basic subnet declaration.
​
subnet 192.168.65.0 netmask 255.255.255.0 {    该网关  子网掩码
  range 192.168.65.100 192.168.65.110;    改网段范围
  option routers 192.168.65.21;   改为ip地址
}
​
wq!
[root@test2 ~]# systemctl restart dhcpd   重启

7.挂载光盘镜像

[root@test2 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
​
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt

8.进入挂载点查看内核文件

[root@test2 ~]# cd /mnt/
[root@test2 mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@test2 mnt]# cd images/
[root@test2 images]# ls
efiboot.img  pxeboot  TRANS.TBL
[root@test2 images]# cd pxeboot/
[root@test2 pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz            linux的系统内核文件 vmlinuz
​

9.复制内核文件vmlnuz到配置文件中的根目录下

[root@test2 pxeboot]# ll
总用量 57838
-rw-r--r--. 1 root root 52584760 11月 26 2018 initrd.img
-r--r--r--. 1 root root      441 11月 26 2018 TRANS.TBL
-rwxr-xr-x. 1 root root  6639904 11月  9 2018 vmlinuz
[root@test2 pxeboot]# cp vmlinuz /var/lib/tftpboot/

10.复制initrd.img 初始化镜像文件,引导加载的模块文件到根目录/var/lib/tftpboot/

[root@test2 pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@test2 pxeboot]# cp initrd.img /var/lib/tftpboot/

检查文件是否复制到根目录下

[root@test2 pxeboot]# cd /var/lib/tftpboot/
[root@test2 tftpboot]# ls
initrd.img  vmlinuz

11.安装pxe的引导程序 是syslinux

[root@test2 tftpboot]# yum -y install syslinux
[root@test2 tftpboot]# cd /usr/share/syslinux/         pxeLinux.0程序引导文件
[root@test2 syslinux]# ls
cpuidtest.c32  hdt.c32       kbdmap.c32          poweroff.com  vesamenu.c32
diag           host.c32      linux.c32           pwd.c32       vpdtest.c32
disk.c32       ifcpu64.c32   ls.c32              pxechain.com  whichsys.c32
dmitest.c32    ifcpu.c32     lua.c32         找到 pxelinux.0    zzjson.c32
dosutil        ifplop.c32    mboot.c32           reboot.c32
elf.c32        int18.com     mbr.bin             rosh.c32

12.复制程序引导文件pxelinux.0到根目录

[root@test2 syslinux]# cp pxelinux.0 /var/lib/tftpboot/
[root@test2 syslinux]# cd /var/lib/tftpboot/
[root@test2 tftpboot]# ls     查看是否复制完成
initrd.img  pxelinux.0  vmlinuz    初始化镜像   程序引导文件   内核文件    
[root@test2 tftpboot]#          三个一个都不能少都要复制到/var/lib/fttpboot/注意权限是否足够

13.安装vsftp 整个镜像文件复制到vsftp默认的根目录下

[root@test2 tftpboot]# yum -y install vsftpd
[root@test2 tftpboot]# cd /var/ftp/
[root@test2 ftp]# ls
 pub
[root@test2 ftp]# mkdir centos7 
[root@test2 ftp]# cp -fr /mnt/* /var/ftp/centos7/    因为文件大所以用ftp传不用vsftp
[root@test2 ftp]# cd /var/ftp/centos7/
[root@test2 centos7]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@test2 centos7]# systemctl restart vsftpd   重启一下vsftp
​

14.配置启动菜单文件

[root@test2 centos7]# mkdir /var/lib/tftpboot/pxelinux.cfg   在根目录里创建一个目录
[root@test2 centos7]# cd /var/lib/tftpboot/
[root@test2 tftpboot]# ls    查看创建的目录
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

15.在新建的配置文件中配置(default)

[root@test2 tftpboot]# cd pxelinux.cfg/
[root@test2 pxelinux.cfg]# ls
[root@test2 pxelinux.cfg]# vim default
default auto
#指定安装程序的入口,使用这个文件作为安装程序的入口。自动选择。
prompt 0
#是否等待用户选择,0不等待用户输入自动完成。1需要用户手动完成
label auto
#图形界面的默认安装入口
kernel vmlinuz
#表示加载内核文件,是vmlinuz
append initrd=initrd.img method=ftp://192.168.65.21/centos7
​
label linux text
#字符界面,最小化安装
kernel vmlinuz
#加载内核
append initrd=initrd.img method=ftp://192.168.65.21/centos7
​
label linux rescue
#救援模式的引导入口
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.65.21/centos7
:wq!   

在新建的虚拟机上操作

1.运行新建虚拟机

无人值守操作

1.xshell安装无人值守

[root@test2 pxelinux.cfg]# yum -y install system-config-kickstart

无人值守配置

1.回到根目录进入保存文件修改配置文件

[root@test2 pxelinux.cfg]# cd
[root@test2 ~]# ls
anaconda-ks.cfg       ks.cfg  模板  图片  下载  桌面
initial-setup-ks.cfg  公共    视频  文档  音乐
[root@test2 ~]# vim ks.cfg
    把这些安装包添加进来,格式以%开头以%结尾
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python
​
%end

2.把ks.cfg添加到default

[root@test2 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
​
label auto
#图形界面的默认安装入口
kernel vmlinuz
#表示加载内核文件,是vmlinuz
append initrd=initrd.img method=ftp://192.168.65.21/centos7 ks=ftp://192.168.65.21/ks.cfg

3.把ks.cfg复制到ftp的根目录

[root@test2 ~]# vim ks.cfg
[root@test2 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
[root@test2 ~]# cp ks.cfg /var/ftp/
[root@test2 ~]# cd /var/ftp/
[root@test2 ftp]# ls
centos7  ks.cfg  pub
[root@test2 ftp]# 

4.到新建的虚拟机,虚拟机是卡住的状态,这是直接重启虚拟机。

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值