• PXE网络装机


    一、什么是PXE?

    PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术, 工作于Client/Server的网络模式, 只想hi工作站通过网络从远程服务器下载镜像, 并由此支持通过网络启动操作系统, 在启动过程中, 终端要求服务器分配IP地址, 在用TFTP(Trivial file transfer protocol)或MTFTP(Multicast Trivial File Transfer Protocol)协议卸载一个启动软件包到本机内存中执行, 这个启动软件包完成终端基本软件设置, 从而引导预先安装服务器中的操作系统. PXE可以引导多种操作系统, 如: Windows 95/98/2000/windows 2008/xp/win 7/win8;

    二、系统环境

    IP 地址: 192.168.15.11
    操作系统: Centos 6.6x86
    主 机 名: PXE

    三、操作步骤

    1. 配置静态IP地址、修改主机名;

    [root@PXE ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0     #修改eth0网卡;
    DEVICE=eth0
    HWADDR=00:0C:29:5B:40:E0
    TYPE=Ethernet
    UUID=9315dbdf-ae02-4814-af4c-00e29504e82d
    ONBOOT=yes                                         #开机启动网卡;
    NM_CONTROLLED=yes
    BOOTPROTO=static                                   #设置为静态模式;
    IPADDR=192.168.15.11                               #设置IP地址;
    NETMASK=255.255.255.0                              #设置子网掩码;
    GATEWAY=192.168.5.2                                #设置网关;
    DNS1=114.114.114.114                               #设置DNS;
    [root@PXE ~]# vim /etc/sysconfig/network           #修改主机名;
    NETWORKING=yes
    HOSTNAME=PXE                    
    [root@PXE ~]# service network restart              #重启网络服务;
    

    2. 搭建本地yum源 (插上系统光盘);

    [root@PXE ~]# mount /dev/cdrom /media/                      #挂载系统光盘;
    [root@PXE ~]# vim /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base                              #仓库名称;
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra          
    baseurl=file:///media                                       #修改光盘挂载点;
    gpgcheck=1                                                  #是否检查GPG,一种秘钥方式签名;
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6         #GPG公钥存放位置;
    [root@PXE ~]# yum -y clean all                              #清除yum缓存;
    

    3. 安装PXE所需服务;

    • dhcp: 主机配置协议, 给客户端提供IP地址;
    • tftp-server: tftp服务器端, 提供系统安装所需文件;
    • xinetd: tftp服务超级守护进程, 用于唤醒tftp服务;
    • httpd: 基于http服务提供安装源;
    • syslinux: 提供pxelinux.0文件, 此文件用于引导系统, 相当于bootloader;
    [root@PXE ~]# yum -y install dhcp tftp-server xinetd syslinux httpd
    

    4. 配置dhcp服务;

    dhcp服务的配置文件默认是/etc/dhcp/dhcpd.conf, 但此文件默认是没任何配置的, 此服务提供了一个参考文件/usr/share/doc/dhcp*/dhcpd.conf.sample,复制此文件覆盖原配置文件, 直接修改即可。

    [root@PXE ~]# vim /etc/dhcp/dhcpd.conf                      #dhcp服务配置
    subnet 192.168.15.0 netmask 255.255.255.0 {                 #提供dhcp服务的网段;
      range 192.168.15.20 192.168.15.30;                        #地址池;
      option domain-name "internal.example.org";                #分配dns域;
      option routers 192.168.15.11;                             #网关;
      next-server 192.168.15.11;                                #tftp服务器地址;
      filename "pxelinux.0";                                    #PXE引导文件;
      default-lease-time 600;                                   #默认租约时长;
      max-lease-time 7200;                                      #最大租约时长;
     option domain-name-servers 192.168.15.11;                  #分配dns地址;
    }
    [root@PXE ~]# service dhcpd configtest                      #测试配置dhcp语法是否有误;
    Syntax: OK
    [root@PXE ~]# service dhcpd start                           #启动dhcp服务;
    Starting dhcpd: [  OK  ]
    [root@PXE ~]# chkconfig dhcpd on                            #将dhcp服务设置开启自启;
    

    5. 配置tftp服务;

    xinetd是tftp的超级守护进程, 即tftp是xinetd的子服务, 修改配置文件, 确保tftp服务没有被禁用

    [root@PXE ~]# vim /etc/xinetd.d/tftp
     
    [root@PXE ~]# service xinetd start               #启动xinetd服务;
    Starting xinetd: [  OK  ]
    [root@PXE ~]# chkconfig tftp on                  #将tftp服务设置为开机自启;
    

    6. 提供引导内核等文件 (将光盘中PXE所需文件复制到/var/lib/tftpboot);

    [root@PXE ~]# cp /media/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/     
    [root@PXE ~]# cd /media/isolinux/
    [root@PXE isolinux]# cp boot.msg /var/lib/tftpboot/
    [root@PXE isolinux]# cp splash.jpg /var/lib/tftpboot/
    [root@PXE isolinux]# cp vesamenu.c32 /var/lib/tftpboot/
    [root@PXE isolinux]# mkdir /var/lib/tftpboot/pxelinux.cfg
    [root@PXE isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    [root@PXE isolinux]# ls /var/lib/tftpboot/
    boot.msg  initrd.img  splash.jpg  vesamenu.c32  vmlinuz
    #提供PXE工作环境
    [root@PXE isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    #提供安装源
    [root@PXE ~]# mkdir /var/www/html/yum
    [root@PXE ~]# mount --bind /media/ /var/www/html/yum/
    [root@PXE ~]# service httpd start
    [root@PXE ~]# chkconfig httpd on
    #提供kickstart文件
    #kickstart文件可以自己创建(需安装system-config-kickstart.noarch工具), 也可以复制系统文件直接修改。
    #这里我们就不演示创建过程了, 直接复制文件修改(此文件/root/anaconda-ks.cfg)
    [root@PXE ~]# cp anaconda-ks.cfg /var/www/html/ks.cfg
    [root@PXE ~]# chmod +r /var/www/html/ks.cfg
    [root@PXE ~]# vim /var/www/html/ks.cfg
    #================添加以下两项, 目标指向安装源=================== 
    url --url=http://192.168.15.11/yum
    repo --name="Centos" --baseurl=http://192.168.15.11/yum --cost=100
    #==================================================== 
    为了启动时能够加载kickstart文件, 还需要修改/var/lib/tftpboot/pxelinux.cfg/default文件, 添加ks文件的位置。
    [root@PXE ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
    #==================================================== 
    label linux
      menu label ^Install or upgrade an existing system
      menu default
      kernel vmlinuz
      append initrd=initrd.img ks=http://192.168.15.11/ks.cfg               #指定ks文件;
    #==================================================== 
    

    7. 关闭iptables、selinux防火墙;

    [root@PXE ~]# iptables -F
    [root@PXE ~]# iptables -X
    [root@PXE ~]# service iptables stop
    [root@PXE ~]# vim /etc/sysconfig/selinux
    SELINUX=disabled 
    

    四、测试

    1. 将客户机设置为网卡启动

    2. 开机启动引导

    3. 引导成功开始安装各种包;

  • 相关阅读:
    spring jdbctemplate 集成duckdb docker 镜像
    GLIBCXX_3.4.x 问题解决
    spring jdbctemplate 集成duckdb
    spring-boot-starter-data-jdbc Cannot determine a dialect Please provide a Dialect
    kotlin 学习 三 maven 集成+java 互调用
    kotlin 学习 二 命令行模式运行
    kotlin 学习 一 环境搭建
    pt-ioprofile io 瓶颈分析工具
    zombodb 3000 alpha1发布
    openfeign+retronfit http 访问
  • 原文地址:https://www.cnblogs.com/migongci0412/p/5963141.html
Copyright © 2020-2023  润新知