精华内容
下载资源
问答
  • pxe装机
    千次阅读
    2021-01-14 16:26:27

    一、概念与原理

    什么是PXE

    严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE

    支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution

    Environment,直译为启动前的执行环境)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client

    在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client

    将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE

    client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP

    服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client

    通过 TFTP 协议到 TFTP Server 上下载所需的文件。

    什么是KickStart

    KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为

    ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找

    KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文

    件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根

    据ks.cfg中设置的重启选项来重启系统,并结束安装。

    二,安装环境

    安装pxe+kickstart批量部署系统

    1  dhcp服务,这个是用来分发ip,裸机用来和pxe引导机通信获取文件

    2  tftp 服务器  用来和裸机传输文件

    3  http服务、ftp或nfs共享文件访问

    4  ks.cfg文件 用于安装过程中交互部分自动分匹配系统配置

    5  syslinux服务提供pxelinux.0文件引导

    6  一台支持pxe协议的网卡主机

    7  关闭selinux及iptables防火墙

    安装步骤

    确认操作系统版本

    uname -r

    2.6.32-504.el6.x86_64

    [

    CentOS release 6.6 (Final)

    Kernel \r on an \m

    使用yum源安装所需软件

    挂载光盘镜像:mount /dev/cdrom /mnt/

    配置本地yum源

    [

    [yum]

    name=local yum

    baseurl=file:///mnt

    enabled=1

    gpgcheck=0

    配置静态ip

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    IPADDR=192.168.1.103

    NETMASK=255.255.255.0

    GATEWAY=192.168.1.1

    安装dhcp服务

    [

    配置dhcp服务,使其能够为其他服务器通过ip地址

    配置192.168.1.0分发网段,,子网255.255.255.0,配置项后每行必须以;结尾

    subnet 192.168.1.0 netmask 255.255.255.0  {

    range 192.168.1 10 192.168.1.50;

    default-lease-time 6000;

    max-lease-time 72000;

    next-server 192.168.1.103;

    filename "/pxelinux.0";

    }

    [hide]

    安装httpd服务(本文通过http的方式提供服务)

    [

    此处只是让http能够提供服务,不做任何配置

    将httpd设置为开机自动启动

    [

    安装tftp-server服务端

    yum -y install tftp-server xinted

    xinted是为tftp提供的守护进程,将tftp及xinted设置为开机自启动

    chkconfig tftp on

    chkconfig xinted on     #添加开机自启动

    修改TFTP的配置文件

    vim /etc/xinetd.d/tftp     // 内容如下:

    service tftp

    {

    socket_type             = dgram

    protocol                = udp

    wait                    = yes

    user                    = root

    server                  = /usr/sbin/in.tftpd

    server_args             = -s /tftpboot

    disable                 = no   // 只需要更改的这一部分

    per_source              = 11

    cps                     = 100 2

    flags                   = IPv4

    }

    开启TFTP服务

    tftp是由xinted来启动的,

    修改完后要记得service xinetd restart

    重新创建目录挂载光盘,用于安装系统使用,提供安装系统的关键文件及软件包

    mkdir /var/www/html/Centos6/

    mount --bind   /mnt/ /var/www/html/Centos6/

    启动http服务

    /etc/init.d/httpd start

    安装syslinux,此服务为pxe提供pxelinux.0文件

    yum -y install syslinux

    复制pxe所需系统内核引导文件到tftp目录下

    [

    [

    [

    [

    [

    [

    [

    [

    修改/var/lib/tftpboot/pxelinux.cfg/default

    定义了开机提示,包括开机界面

    指定读取ks.cfg文件方法:

    append initrd=initrd.img ks=

    提供kictstart文件

    kictstart文件生成有两种方式

    1,直接复制/root/anaconda-ks.cfg模板,使用vim进行编辑配置

    2,使用system-config-kiskstart来生成,建议使用/root/anaconda-ks.cfg 模板生成

    本文以第一种方式生成,修改自己所需要的参数

    使用md5加密设置管理员密码

    将生成的ks.cfg文件复制到/var/www/html下

    其内容如下,根据需求修改

    bootloader --location=mbrclearpart --nonegraphicalfirewall --disabledfirstboot --disabledkeyboard uslang en_USlogging  --level=infourl --url=http://192.168.1.210/Centos6network --bootproto=dhcp --device=eth0 --onboot=onrebootauth --useshadow --enablemd5#perl -e 'print crypt("acgcommittee.com",q($1$BYSimiLe)),"\n"'rootpw --iscrypted $1$BYSimiLe$x/Gre5TYTTEEghm/K0TC.1selinux --disabledtimezone --isUtc Asia/Shanghaiinstallnetwork --bootproto=dhcp device=eth0 --onboot=on#system bootloader configurationbootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"#clear the master boot recordzerombrclearpart --all --initlabel#part /boot --bytes -per -inode=4096 --fstype="ext4" --size=128#part swap --bytes -per -inode=4096  --fstype="ext4" --size=1024#part / --bytes -per inode=4096 --fstype="ext4"  --grow --size=1part /boot --fstype="ext4" --size=200part swap --size=2048part / --fstype="ext4" --grow --size=200%packages@base@core@debugging@desktop-debugging@desktop-platform@directory-client@fonts@graphical-admin-tools@input-methods@internet-applications@internet-browser@java-platform@legacy-x@network-file-system-client@office-suite@print-client@remote-desktop-clients@server-platform@server-policy@workstation-policy@x11mtoolspaxoddjobsgpiodevice-mapper-persistent-dataabrt-guisamba-winbindcertmongerpam_krb5krb5-workstationlibXmu%end

    [/hide]

    启动后系统即可自动安装完成,无需干涉

    更多相关内容
  • PXE 装机

    2022-02-02 10:47:25
    配置 PXE 客户端引导文件的启动信息 [root@server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default timeout 100 default menu.c32 menu title ########## ...

    说实话这篇文章还没写完,Kickstart还没写,因为我总是报错有机会再继续写.感谢观看

    环境准备

    操作系统:CentOS 7
    实验平台:VMware Workstation 16 (不要求相同)
    网络模式:NAT模式
    服务器IP地址:192.168.100.10
    防火墙:关闭
    SElinux=Disable
    在这里插入图片描述

    安装必要服务

    安转DHCP服务

    [root@server ~]# yum install dhcp -y
    [root@server ~]# vim /etc/dhcp/dhcpd.conf    //修改配置文件
    
    # DHCP Server Configuration file.
    #   see /usr/share/doc/dhcp*/dhcpd.conf.example
    #   see dhcpd.conf(5) man page
    #
    option domain-name-servers 192.168.100.10;
    default-lease-time 600;  //默认的Ip租期时间
    max-lease-time 7200;    //最大的IP租期时间
    subnet 192.168.100.0 netmask 255.255.255.0 {
     range dynamic-bootp 192.168.100.21 192.168.100.30;
     filename "pxelinux.0";   //指定传输至客户端的启动文件名称
     next-server 192.168.100.10;   //指定tftp server 的Ip地址
    }
    [root@server ~]# systemctl enable --now dhcpd
    
    

    安装SElinux
    安装syslinux只是为了要 pxelinux.0 引导加载程序

    [root@server ~]# yum install syslinux -y
    [root@server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    
    

    关闭SElinux 和防火墙

    [root@server ~]# setenforce 0
    [root@server ~]# systemctl disable --now firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    

    安装TFP、Xinetd、vsftp服务

    [root@server ~]# yum install xinetd tftp-server vsftpd -y
    [root@server ~]# vim /etc/xinetd.d/tftp
    # default: off
    # description: The tftp server serves files using the trivial file transfer \
    #       protocol.  The tftp protocol is often used to boot diskless \
    #       workstations, download configuration files to network-aware printers, \
    #       and to start the installation process for some operating systems.
    service tftp
    {
            socket_type             = dgram
            protocol                = udp
            wait                    = yes
            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
    }
    //因为 tftp 服务是挂载在超级进程 xinetd 下的,所以通过启动 xinetd 来启动 tftp 服务。
    [root@server ~]# systemctl enable --now xinetd
    
    

    挂载光盘

    [root@gjx ~]# mkdir /mnt/c7
    [root@gjx ~]# mount /dev/cdrom /mnt/c7
    mount: /dev/sr0 is write-protected, mounting read-only
    [root@gjx ~]# df -Th   //查看是否挂载成功
    Filesystem              Type      Size  Used Avail Use% Mounted on
    devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
    tmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shm
    tmpfs                   tmpfs     1.9G   21M  1.9G   2% /run
    tmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
    /dev/mapper/centos-root xfs        36G  4.3G   31G  13% /
    /dev/sda1               xfs      1014M  185M  830M  19% /boot
    tmpfs                   tmpfs     378M   48K  378M   1% /run/user/0
    /dev/sr0                iso9660   4.4G  4.4G     0 100% /mnt/c7
    
    
    

    实现PXE网络引导
    复制PXE客户端启动的一些必要文件

    [root@server ~]# mkdir /var/lib/tftpboot/centos7
    [root@server ~]# cd /var/ftp/c7
    [root@server c7]# 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@server c7]# cp images/pxeboot/vmlinuz /var/lib/tftpboot/centos7/
    [root@server c7]# cp images/pxeboot/initrd.img /var/lib/tftpboot/centos7/
    [root@server ~]# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
    
    

    这里采用的是ftp的方式当然也可以使用其他的方式
    配置 PXE 客户端引导文件的启动信息

    [root@server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
    [root@server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
    timeout 100
    default menu.c32
    menu title ########## PXE Boot Menu X ##########
    label 1
     menu label ^1) Install CentOS 7
     kernel centos7/vmlinuz
     append initrd=centos7/initrd.img method=ftp://192.168.100.10/c7 devfs=nomount
    label 2
     menu label ^2) Boot from local drive
     localboot
    ~
    [root@server ~]# systemctl enable --now vsftpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
    
    

    测试时新建虚拟机这里我们先不安装操作系统
    在这里插入图片描述
    创建后打开我们就能看到安装成功了。
    在这里插入图片描述

    展开全文
  • PXE装机

    2018-11-24 20:49:00
    一、PXE 简介 pxe:pre-boot Excution Environment.预启动执行环境 是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在...

    ---恢复内容开始---

    一、PXE 简介
    pxe:pre-boot Excution Environment.预启动执行环境
    是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。
    PXE最直接的表现是,在网络环境下工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该
    PXE网卡-WY574T
    PXE网卡-WY574T
    技术的PC在网络方式下的运行速度要比有盘PC快3倍以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。
    https://p1.ssl.qhmsg.com/t010e048c12806bb25d.jpg
    PXE启动原理

    当计算机引导时,BIOS把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。
    二、搭建PXE远程安装服务器
    环境部署 服务端 客户端 均关闭防火墙 selinux
    网卡配置文件

    DEVICE=eth0
    NETEORKING=yes
    TYPE=Ethernet
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=static 网卡配置静态 不然dhcpd服务启动失败
    IPADDR=192.168.200.106
    NETMASK=255.255.255.0
    GATEWAY=192.168.200.2
    1使用ftp服务器,将安装源放在/var/ftp/centos6/
    2 安装并启用 tftp服务
    yum -y install tftp-server
    vim /etc/xinetd/tftp
    service tftp
    {
    disable = no 开启tftp服务
    socket_type = dgram
    protocol = udp
    wait = no 不等待,同一时刻可以有多个客户端建立连接
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot tftp服务的根目录
    per_source = 11
    cps = 100 2
    flags = IPv4
    }
    开启xinetd服务
    /etc/init.d/xinetd start
    chkconfig tftp on ftp加入开机启动
    3 准备linux内核,初始化镜像文件
    [root@localhost ~]# vim /etc/xinetd.d/tftp
    [root@localhost ~]# cd /var/ftp/centos6/isolinux/
    [root@localhost isolinux]# ls
    boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz
    boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32
    把这两个文件复制到tftp的目录下
    cp vmlinuz isolinux.cfg /var/lib/tftpboot/
    4准备pxe引导程序 启动菜单文件
    yum -y install syslinux
    复制/usr/share/syslinux/pxelinux.0 和 pxelinux.cfg 到tftp服务的根目录下
    chmod 644 isolinux.cfg 安全步骤
    vim isolinux.cfg
    default linux

    prompt 1

    prompt 0 不交互

    timeout 600

    label linux
    menu label ^Install or upgrade an existing system
    menu default
    kernel vmlinuz
    append initrd=initrd.img
    label text
    menu label Install system with ^basic video driver
    kernel vmlinuz
    append text initrd=initrd.img xdriver=vesa nomodeset
    label rescue 急救模式
    menu label ^Rescue installed system
    kernel vmlinuz
    append rescue initrd=initrd.img rescue
    mkdir -p pxelinux.cfg
    mv isolinux.cfg pxrlinux.cfg/default改名 ---内核的引导过程
    yum -y install dhcpd
    vim /etc/dhcp/dhcpd.conf

    option domain-name "yunjisuan.com";
    option domain-name-servers 192.168.200.2; 网关
    default-lease-time 21600; 指定租赁时间的长度,单位秒
    max-lease-time 43200; 指定最大租赁时间的长度
    log-facility local7; 日志
    subnet 192.168.200.0 netmask 255.255.255.0 { 网段 和掩码
    range 192.168.200.50 192.168.200.200;给分配的DHCP地址池
    option routers 192.168.200.60; 网关指向服务ip
    next-server 192.168.200.60;指定tftp服务器地址
    filename "pxelinux.0"; pxe引导此程序文件名
    开启DHCP服务
    /etc/init.d/dhcpd start
    yum -y install vsftpd
    /etc/init.d/vsftpd start
    客户端:
    yum -y install ftp
    ftp 服务端ip
    root用户 ftp
    密码: 空
    创建一台新的虚拟机
    网络适配器 和dhcpd一样‘
    l略
    安装批量装机自动脚本
    yum -y install system-config-kickstart
    yum groupinstall "Desktop" 安装桌面模式
    init 5 进入桌面模式

    四 ##实现批量装机(PXE与kickstart的结合使用)
    1 将应答文件部署再客户机可以访问的位置
    [root@localhost ~]# cp ks.cfg /var/ftp/ 复制kickstart脚本到发图片目录下
    [root@localhost ~]# chmod 777 /var/ftp/ks.cfg
    2 修改启动菜单文件,调用应答文件
    vim /var/lib/tfpboot/pxelinux.cfg/default
    append initrd=initrd.img ks=ftp://192.168.200.106/ks.cfg
    1538591-20181124181742818-2067977868.png

    ---恢复内容结束---

    转载于:https://www.cnblogs.com/blog-css-com/p/10013472.html

    展开全文
  • PXE 装机详解

    2021-01-14 16:26:31
    PXE 装机详解===========================================================================概述:在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机没有光驱,或者是有大批量的计算机需要同时安装...

    PXE 装机详解

    ===========================================================================

    概述:

    在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机没有光驱,或者是有大批量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。这是时候你就需要PXE的强大功能了。本文就将讲解利用PXE自动化安装CentOS6和CentOS7的安装过程。

    ===========================================================================

    1.安装原理★安装流程客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP

    DHCP服务器返回分给客户机IP

    客户机向本网络中的TFTP服务器索取文件

    客户机取得bootstrap文件后之执行引导文件完成引导

    然后读取配置文件,通过TFTP服务器加载内核和文件系统

    进入安装画面, 此时可以通过选择HTTP、FTP、NFS方式进行安装

    ★实现PXE网络安装必需的4个要素客户机的网卡必须为PXE网卡

    网络中必须要有DHCP和TFTP服务器,当然这两个服务器可以是同一台物理主机

    所安装的操作系统必须支持网络安装。

    必须要有FTP,HTTP,NFS至少一个服务器,当然也可以和DHCP和TFTP服务器同为一台物理主机

    2.CentOS 6和7 PXE配置流程图

    3.实验环境描述:文件服务器为ftp(CentOS 7)http(CentOS 6)

    dhcp和tftp服务器都为同一台CentOS 主机;

    网络环境都为VMnat1.

    CentOS 7具体实现如下:

    1.安装dhcp服务器,配置自定义作用域,如下:[root@centos7 ~]# yum install dhcp -y

    [root@centos7 ~]# cd /etc/dhcp/

    [root@centos7 dhcp]# ls

    dhclient.d  dhcpd6.conf  dhcpd.conf

    [root@centos7 dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example ./dhcpd.conf

    cp: overwrite ‘./dhcpd.conf’? y

    [root@centos7 dhcp]# vim dhcpd.conf

    subnet 10.1.0.0 netmask 255.255.0.0 {

    range 10.1.252.151 10.1.252.161;

    filename "pxelinux.0";

    next-server 10.1.252.153;

    }

    启动dhcp服务,验证端口(67/udp)是否处于监听状态[root@centos7 dhcp]# systemctl start dhcpd

    [root@centos7 dhcp]# ss -unl

    State       Recv-Q Send-Q Local Address:Port               Peer Address:Port

    UNCONN      0      0              *:67                         *:*

    UNCONN      0      0              *:68                         *:*

    UNCONN      0      0      127.0.0.1:323                        *:*

    UNCONN      0      0              *:31084                      *:*

    UNCONN      0      0              *:3031                       *:*

    UNCONN      0      0              *:514                        *:*

    UNCONN      0      0             :::69                        :::*

    UNCONN      0      0             :::50914                     :::*

    UNCONN      0      0             :::46863                     :::*

    UNCONN      0      0            ::1:323                       :::*

    UNCONN      0      0             :::514                       :::*

    2.配置tftp服务器,启动,查看其端口69/udp如下:[root@centos7 ~]# yum install tftp-server tftp -y  # 安装

    [root@centos7 ~]# systemctl start tftp.socket      # 启动

    [root@centos7 dhcp]# ss -unl                       # 查看端口69/udp

    State       Recv-Q Send-Q Local Address:Port               Peer Address:Port

    UNCONN      0      0              *:67                         *:*

    UNCONN      0      0              *:68                         *:*

    UNCONN      0      0      127.0.0.1:323                        *:*

    UNCONN      0      0              *:31084                      *:*

    UNCONN      0      0              *:3031                       *:*

    UNCONN      0      0              *:514                        *:*

    UNCONN      0      0             :::69                        :::*

    3.准备安装树[root@centos7 ~]# mkdir /var/ftp/pub/CentOS7

    [root@centos7 ~]# mount -r /dev/cdrom /var/ftp/pub/CentOS7

    [root@centos7 ~]# df

    Filesystem     1K-blocks     Used Available Use% Mounted on

    /dev/sda2       41922560  1017984  40904576   3% /

    devtmpfs          477776        0    477776   0% /dev

    tmpfs             500644        0    500644   0% /dev/shm

    tmpfs             500644    13168    487476   3% /run

    tmpfs             500644        0    500644   0% /sys/fs/cgroup

    /dev/sda3       20961280 12449428   8511852  60% /usr

    /dev/sda1         496300   192472    303828  39% /boot

    /dev/sda6        5094652    11284   5022748   1% /testdir

    tmpfs             100132        0    100132   0% /run/user/0

    /dev/sr0         7587292  7587292         0 100% /var/ftp/pub/CentOS7  # 挂载成功

    [root@centos7 CentOS7]# ls

    CentOS_BuildTag  EFI  EULA  GPL  p_w_picpaths  isolinux  LiveOS  Packages  repodata

    RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL

    [root@centos7 CentOS7]# systemctl start vsftpd # 启动ftp服务

    4.准备/var/lib/tftpboot下文件我们需要安装syslinux程序包,它会提供 pxelinux.0 文件,然后复制到其目录下;

    [root@centos7 dhcp]#  yum install syslinux -y

    [root@centos7 dhcp]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

    挂载关盘,复制光盘中p_w_picpaths/pxeboot下的文件(为pxe安装专用的内核等文件)

    [root@centos7 ~]# cp /var/ftp/pub/CentOS7/p_w_picpaths/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/

    [root@centos7 ~]# ls /var/lib/tftpboot/

    initrd.img  pxelinux.0  vmlinuz

    复制syslinux程序包下的文件,分别为基于链式方式引导文件,内存磁盘引导项,菜单项,内存当磁盘的模拟文件

    [root@centos7 ~]# cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk}  /var/lib/tftpboot

    [root@centos7 ~]# ls /var/lib/tftpboot/

    chain.c32  initrd.img  mboot.c32  memdisk  menu.c32  pxelinux.0  vmlinuz

    在/var/lib/tftpboot下创建为menu.c32提供菜单的配置文件(菜单加载时用到的配置文件信息)[root@centos7 tftpboot]# mkdir pxelinux.cfg

    [root@centos7 tftpboot]# vim pxelinux.cfg/default

    default menu.c32

    prompt 5

    timeout 30

    MENU TITLE CentOS 7 PXE

    LABEL linux

    MENU LABEL Install CentOS 7 X86_64

    KERNEL vmlinuz

    APPEND initrd=initrd.img inst.repo=ftp://10.1.252.153/pub/CentOS7/

    5.此时,如果我们想手动安装,到这步就已经可以了,不防我们先测试一下

    1)新建一个虚拟机,网卡改到和10.1.252.153同一网络,如下

    2)启动此虚拟机,可以看到能正常获取到IP地址,并显示我们自己设定的安装界面,如下:

    3)5s钟之后开始加载程序,然后进入到手动安装界面,如下:

    6.制作kickstart文件,放到/var/ftp/pub/kickstarts/下[root@centos7 ~]# cd /var/ftp/pub/

    [root@centos7 pub]# mkdir kickstarts

    [root@centos7 pub]# ls

    CentOS7  kickstarts

    # kickstart文件如下:

    [root@centos7 kickstarts]# cat centos7.cfg

    #platform=x86, AMD64, 或 Intel EM64T

    #version=DEVEL

    # Install OS instead of upgrade

    install

    # X Window System configuration information

    xconfig  --startxonboot

    # Keyboard layouts

    # old format: keyboard us

    # new format:

    keyboard --vckeymap=cn --xlayouts='cn'

    # Reboot after installation

    reboot

    # Root password

    rootpw --iscrypted $1$HDHf2v4i$LMo.xGHfxQDOf8e043C.g/

    # System timezone

    timezone Asia/Shanghai

    # Use network installation

    url --url="   # 地址要和/var/lib/tftpboot/pxelinux.cfg/default中的

    # System language

    lang zh_CN

    user --groups=wheel --name=taotao --password=$6$1eWrOetY$DfLZgquGiOaNkwpEF4ItMipz.1kpn7Q.s6oXyoW2bALkWesRWHCCACICkJ.2zBXDbwEw0ibR.wxStLI41ZhfF1 --iscrypted --gecos="MageEdu"

    # Firewall configuration

    firewall --disabled

    # Network information

    network  --bootproto=dhcp --device=eth0

    # System authorization information

    auth  --useshadow  --passalgo=sha512

    # Use text mode install

    text

    firstboot --disable

    # SELinux configuration

    selinux --permissive

    ignoredisk --only-use=sda

    # System bootloader configuration

    bootloader --location=mbr --boot-drive=sda

    # Clear the Master Boot Record

    zerombr

    # Partition clearing information

    clearpart --all --initlabel

    # Disk partitioning information

    part /boot --asprimary --fstype="xfs" --size=512

    part swap --fstype="swap" --size=2048

    part /usr --fstype="xfs" --size=20480

    part / --fstype="xfs" --size=20480

    %packages

    @base

    @core

    @fonts

    @internet-browser

    @java-platform

    @kde-apps

    @kde-desktop

    @network-file-system-client

    @networkmanager-submodules

    @x11

    %end

    %post

    %end

    7.在/var/lib/tftpboot/pxelinux.cfg中配置引导保证能加载kickstart文件,如下:[root@centos7 tftpboot]# cd pxelinux.cfg/

    [root@centos7 pxelinux.cfg]# ls

    default

    [root@centos7 pxelinux.cfg]# vim default

    default menu.c32

    prompt 5

    timeout 30

    MENU TITLE CentOS 7 PXE

    LABEL linux_auto

    MENU LABEL Install CentOS 7 x86_64 auto

    KERNEL vmlinuz                                     # 添加ks文件的url

    APPEND initrd=initrd.img inst.repo=ftp://10.1.252.153/pub/CentOS7/ ks=ftp://10.1.252.153/pub/kickstarts/centos7.cfg

    LABEL linux

    MENU LABEL Install CentOS 7 x86_64

    KERNEL vmlinuz

    APPEND initrd=initrd.img inst.repo=ftp://10.1.252.153/pub/CentOS7/

    8.测试,如上步骤5中建立的虚拟机,打开,发现我们新建立的自动安装项,并且自动化安装开始

    如上,就是使用PXE实现CentOS 7自动化安装的整个过程了。。。

    ===========================================================================

    CentOS 6 具体实现

    实验环境描述:文件服务器为http

    dhcp和tftp及httpd服务器都为同一台CentOS 6主机;

    网络环境都为VMnat1.

    1.安装dhcp服务器,配置自定义作用域,如下:[root@CentOS6 ~]# yum install dhcp -y

    [root@CentOS6 ~]# cd /etc/dhcp/

    [root@CentOS6 dhcp]# ls

    dhclient.d  dhclient-eth0.conf  dhcpd6.conf  dhcpd.conf

    [root@CentOS6 dhcp]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample ./dhcpd.conf

    [root@CentOS6 dhcp]# vim dhcpd.conf

    subnet 10.1.0.0 netmask 255.255.0.0 {

    range 10.1.252.71 10.1.252.80;

    filename "pxelinux.0";

    next-server 10.1.252.205;

    }

    启动dhcp服务,查看其端口67/udp[root@CentOS6 pxelinux.cfg]# service dhcpd start

    Starting dhcpd:                                            [  OK  ]

    [root@CentOS6 ~]# ss -unl

    State       Recv-Q Send-Q         Local Address:Port           Peer Address:Port

    UNCONN      0      0                          *:111                       *:*

    UNCONN      0      0                          *:631                       *:*

    UNCONN      0      0                          *:898                       *:*

    UNCONN      0      0                          *:49172                     *:*

    UNCONN      0      0                  127.0.0.1:955                       *:*

    UNCONN      0      0                          *:67                        *:*

    UNCONN      0      0                          *:68                        *:*

    UNCONN      0      0                         :::57053                    :::*

    UNCONN      0      0                         :::111                      :::*

    UNCONN      0      0                         :::898                      :::*

    2.配置tftp服务器,启动,查看其端口69/udp如下:[root@centos7 ~]# yum install tftp-server tftp -y  # 安装

    [root@CentOS6 ~]# chkconfig tftp on

    [root@CentOS6 ~]# service xinetd restart

    Stopping xinetd:                                           [FAILED]

    Starting xinetd:                                           [  OK  ]

    [root@centos7 dhcp]# ss -unl                       # 查看端口69/udp

    State       Recv-Q Send-Q Local Address:Port               Peer Address:Port

    UNCONN      0      0              *:67                         *:*

    UNCONN      0      0              *:68                         *:*

    UNCONN      0      0      127.0.0.1:323                        *:*

    UNCONN      0      0              *:31084                      *:*

    UNCONN      0      0              *:3031                       *:*

    UNCONN      0      0              *:514                        *:*

    UNCONN      0      0             :::69

    3.准备安装树[root@CentOS6 ~]# mkdir /var/www/html/CentOS6

    [root@CentOS6 ~]# mount -r /dev/cdrom /var/www/html/CentOS6

    [root@CentOS6 ~]# cd /var/www/html/CentOS6

    [root@CentOS6 CentOS6]# ls

    CentOS_BuildTag  EULA  p_w_picpaths    Packages                  repodata              RPM-GPG-KEY-CentOS-Debug-6     RPM-GPG-KEY-CentOS-Testing-6

    EFI              GPL   isolinux  RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-6  RPM-GPG-KEY-CentOS-Security-6  TRANS.TBL

    [root@CentOS6 ~]# service httpd start

    4.准备/var/lib/tftpboot下文件[root@CentOS6 ~]# yum install syslinux -y

    [root@CentOS6 ~]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

    [root@CentOS6 ~]# cp /var/www/html/CentOS6/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

    [root@CentOS6 ~]# cp /var/www/html/CentOS6/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/

    [root@CentOS6  ~]# ls /var/lib/tftpboot/

    boot.msg  initrd.img  pxelinux.0  splash.jpg  vesamenu.c32  vmlinuz

    在/var/lib/tftpboot下创建提供菜单的配置文件(菜单加载时用到的配置文件信息)[root@CentOS6 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

    [root@CentOS6 ~]# cp /var/www/html/CentOS6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    5.制作kickstart文件,放到/var/www/html/kickstarts/下[root@CentOS6 html]# mkdir kickstarts

    # kickstart文件如下:

    [root@CentOS6 kickstarts]# cat centos6.cfg

    #platform=x86, AMD64, or Intel EM64T

    #version=DEVEL

    # Firewall configuration

    firewall --disabled

    # Install OS instead of upgrade

    install

    # Use network installation

    url --url="http://10.1.252.205/CetnOS6/"

    # Root password

    rootpw --iscrypted $1$iRHppr42$VMesh73wBqhUTjKp6OYOD.

    # System authorization information

    auth  --useshadow  --passalgo=sha512

    # Use text mode install

    text

    firstboot --disable

    # System keyboard

    keyboard us

    # System language

    lang en_US

    # SELinux configuration

    selinux --disabled

    # Installation logging level

    logging --level=info --host=10.1.0.1

    # Reboot after installation

    reboot

    # System timezone

    timezone  Asia/Shanghai

    # System bootloader configuration

    bootloader --append="rhgb crashkernel=auto quiet" --location=mbr --driveorder="sda"

    # Clear the Master Boot Record

    zerombr

    # Partition clearing information

    clearpart --all

    # Disk partitioning information

    part /boot --fstype="ext4" --size=200

    part pv.008 --size=61440

    volgroup vg0 --pesize=8192 pv.008

    logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480

    logvol swap --name=swap --vgname=vg0 --size=2048

    logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240

    logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480

    %post

    %end

    %packages

    @base

    @basic-desktop

    @chinese-support

    @client-mgmt-tools

    @core

    @desktop-platform

    @fonts

    @general-desktop

    @graphical-admin-tools

    @legacy-x

    @network-file-system-client

    @perl-runtime

    @remote-desktop-clients

    @x11

    %end

    6.在/var/lib/tftpboot/pxelinux.cfg中配置引导保证能加载kickstart文件,如下:

    [root@CentOS6 pxelinux.cfg]# cat default

    default vesamenu.c32

    #prompt 1

    timeout 600

    display boot.msg

    menu background splash.jpg

    menu title Welcome to CentOS 6.8!

    menu color border 0 #ffffffff #00000000

    menu color sel 7 #ffffffff #ff000000

    menu color title 0 #ffffffff #00000000

    menu color tabmsg 0 #ffffffff #00000000

    menu color unsel 0 #ffffffff #00000000

    menu color hotsel 0 #ff000000 #ffffffff

    menu color hotkey 7 #ffffffff #ff000000

    menu color scrollbar 0 #ffffffff #00000000

    label linux

    menu label ^Install or upgrade an existing system

    kernel vmlinuz

    append initrd=initrd.img

    label linux_auto      # 自定义的安装label

    menu label ^Install or upgrade an existing system auto

    menu default

    kernel vmlinuz          # ks文件路径

    append initrd=initrd.img ks=http://10.1.252.205/CentOS6/

    label vesa

    menu label Install system with ^basic video driver

    kernel vmlinuz

    append initrd=initrd.img nomodeset

    label rescue

    menu label ^Rescue installed system

    kernel vmlinuz

    append initrd=initrd.img rescue

    label local

    menu label Boot from ^local drive

    localboot 0xffff

    label memtest86

    menu label ^Memory test

    kernel memtest

    append -

    7.新建一个虚拟机,要和服务器主机在同一网络中(VMnat1),启动后,成功获取ip,跳转到安装界面,可以看到我们自定义的auto安装项;

    启动安装,如下:

    如上,就是使用PXE技术安装CentOS 6的整个过程了。。。

    ==========================================================================

    总结:CentOS 7

    CentOS 6

    实验中要注意的问题:一般出现的问题会在kickstart文件中,因为自动化安装会检查所依赖的环境和程序包,所以,如果不存在的话就会报错。

    展开全文
  • PXE装机详细流程

    千次阅读 2020-03-19 09:52:51
    1:PXE基础装机环境 步骤一:通过 HTTP 方式发布CentOS7软件源 此环节可以直接使用网络内共有的YUM软件源,比如CentOS真机。 1)快速构建httpd服务器(若已构建,此步可跳过) [root@room9pc13 ~]# yum -y install ...
  • linux PXE装机

    2021-08-18 13:11:15
    PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。 优点 : 规模化:同时装配...
  • pxe装机过程第一次可以获取dhcp ip,第二次请求ip失败导致无法获取装机文件,第二次的ip是否可以自定义
  • pxe装机通用ks.cfg文件,可自行更改
  • PXE装机部署

    2021-10-11 11:13:19
    PXE装机部署 安装dhcp服务并修改配置文件 yum -y install dhcp [root@pxe-zhuangji ~]# cat /etc/dhcp/dhcpd.conf default-lease-time 60000; max-lease-time 720000; log-facility local7; subnet 192.168.1.0 ...
  • pxe网络安装的流程:bios启动——pxe client中的程序进入内存,显示命令菜单——此程序开始寻找网络引导程序(bootstrap文件,这个文件的名字随着发行版的不同而不同,在centos中,它是pxelinux.0)——引导程序...
  • PXE装机批量配置ip

    2021-10-11 11:13:59
    脚本 #!/bin/bash #删除bond nmcli connection delete bond0 nmcli connection delete ens32 nmcli connection delete ens32 #服务器SN ...4dc8a1019baeddc26d30c8894add 192.168.1.100 564d571757fde1b1003ccb5f8c9d...
  • PXE装机失败报错分析

    千次阅读 2020-12-09 15:40:48
    PXE装机不成功可能出现的原因 1、TFPT错误 在这里插入图片描述解决: 查看/etc/dhcp/dhcpd.conf中的filename “pxelinux.0”; 查看/拷贝到/var/lib/tftp文件的pxelinux.0名称 两者名称是否一致 2、boot错误 查看...
  • PXE装机教程.doc

    2020-05-06 10:30:32
    新建一台虚拟机,名字:PXE-Server 1.设置防火墙为trusted 2.当前及永久关闭SELinux 3.配置IP地址:192.168.4.122/24 4.搭建Yum仓库 5.主机名:PXE.
  • PXE 装机服务器的搭建

    2018-04-26 14:54:00
    PXE 装机服务器的搭建 一、环境准备[root@pxesvr ~]# ifconfig eth0 | grep "inet " inet 192.168.4.5 netmask 255.255.255.0 broadcast 192.168.4.255[root@pxesvr ~]# hostnamepxesvr.tedu.cn[root@...
  • PXE装机条件准备

    2019-05-17 22:09:06
    PXE装机条件准备 问题 准备一台RHEL6虚拟机,关闭SELinux、关闭防火墙,并部署好用来实现PXE装机的相关组件: 修改主机名为pxesvr.tedu.cn、配置IP地址为192.168.4.5 提供RHEL6安装源(基于FTP的YUM库) 提供DNS域名...
  • PXE装机步骤

    千次阅读 2018-09-16 21:12:07
    PXE装机步骤: 1.安装软件:httpd,dhcp,syslinux,tftp-server,system-config-kickstart 2.修改Yum客户端配置文件标识为:[development] 3.配置主配置文件 vim /etc/dhcp/dhcpd.conf :r /usr/share/doc...
  • 搭建PXE装机服务器(实验详解)

    千次阅读 2021-02-26 11:51:25
    PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。 优点 规模化:同时装配多...
  • pxe装机

    2021-01-14 16:26:29
    安装时的流程 安装centos系统的流程...#复制对应系统的内核和虚拟磁盘到对应的目录下 [root@localhost ~]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/ [root@localhost pxelinux.cfg]# cp /var/...
  • PXE高效批量网络装机部署PXE远程安装服务搭建PXE远程安装服务器验证PXE网络安装实现Kickstart无人值守安装准备安装应答文件实现批量自动装机 部署PXE远程安装服务 搭建PXE远程安装服务器 验证PXE网络安装 实现...
  • Kvm提供PXE装机服务

    2019-06-03 07:55:24
    提供PXE装机服务 沿用练习二,在KVM服务器上部署PXE+kickstart自动装机服务: 1)准备YUM安装源 2)配置DHCP服务组件 3)配置TFTP服务组件 步骤一:为RHEL6、CentOS6客户机准备Yum源 1)安装、启用vsftpd服务 此操作已...
  • 在企业服务器上,为了批量化装机,做了相关的pxe的教程和相应的应答文件

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,117
精华内容 1,646
关键字:

pxe装机