精华内容
下载资源
问答
  • 批量装机
    千次阅读
    2021-09-01 15:34:55

    目录

    前言

    PXE (Preboot eXcution Environment)

    PXE批量部署的优点

    PXE的c/s功能

    服务端

    客户端

    PXE服务器和客户机的工作过程

    搭建PXE远程安装服务器所需安装包

    项目部署

    1、安装并启用DHCP 服务

    2、安装并启用TFTP服务

    3、准备PXE 引导程序pxelinux.0

    4、配置启动菜单文件

    5、安装ftp服务,准备centos 7安装源

    6、实现Kickstart无人值守安装

    总结


    前言

    虽然现在的工作中已经很少碰到大量装机的情况了,我们依然要了解如何去批量装机。这是一门非常方便的技术。对我们的工作的帮助也是很大的。我们可以使用它简化我们的工作流程。当遇到类似的项目我们总是能更轻松的解决问题。

    PXE (Preboot eXcution Environment)

    预启动执行环境,在操作系统之前运行。
    PKE严格来说并不是一种安装方式,而是一种引导的方式。

    PXE批量部署的优点

    规模化:同时装配多台服务器
    自动化:安装系统、配置各种服务
    远程实现:不需要光盘、U盘等安装介质

    PXE的c/s功能

    服务端

    运行DHCP服务,用来分配地址、定位引导程序(next server)
    运行TFTP服务,提供引导程序下载

    客户端

    网卡支持PXE协议
    主板支持网络引导

    PXE服务器和客户机的工作过程

    1. PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。
    2. DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个I地址给PXE客户机,并且告知IPXE浸客户机:TPP服务器的IP地址和PE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下
    3. PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
    4. TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
    5. PXE客户机通过网络来启动到系统安装主界面。
    6. PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求。
    7. 文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
    8. PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

    搭建PXE远程安装服务器所需安装包

    vsftpm                                                                                                                    #用来放置安装镜像,通过ftp访问镜像安装
    dhcp.x8(6_64 12:4.2.5-7pd-3.0.2-27.el7.x86_64.r9.el7.centos                                      #用来给客户机分配
    ipsyslinux-4.05-15.el7.x86_64.rpm                                                                            #用来提供pxe的引导程序
    tftp-server.x86_64 0:5.2-22.el7.rpm                                                                          #用来提供引导镜像文件的下载xinetd.x86_64 xinetd.x86_64 2:2.3.15-14.el7                                                             #用来托管tftp
    system-config-kickstart.noarch 0:2.9.7-1.el7.rpm                                                     #用来无人值守安装

    项目部署

    1、安装并启用DHCP 服务

    yum -y install dhcp
    cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    
    vim /etc/dhcp/dhcpd.conf
    
    
    ddns-update-style none;                                //禁止动态更新
    subnet 192.168.117.0 netmask 255.255.255.0 {           //配置网段
    range 192.168.117.40 192.168.117.50;                   //配置地址池
    option routers 192.168.117.20;                        //配置网关
    option domain-name-servers 114.114.114.114;
    next-server 192.168.117.20;                           //指定tftp服务器的地址(*)
    filename "pxelinux.0";                                 //指定pxe引导程序的文件名(*)
    }
    
    
    systemctl start dhcpd              
    systemctl enable dhcpd  
    

    2、安装并启用TFTP服务

    yum -y install tftp-server
    
    vim /etc/xinetd.d/tftp     //tftp被xinet所托管,xinetd默认没有安装配置文件xinetd即extended internet
    
    
    
    service tftp
    {       
                     socket_type                 = dgram
                     protocol                    = udp
                     wait                        =no              // wait
    no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待
                     user                        =root
                     server                      = /usr/sbin/in.tftpd
                     server_args                 = -s /var/lib/tftpboot           //指定TFTP根目录(引导文件的存储路径)-c允许上传
                     disable                     = no                            //disable no表示开启TFTP服务
                     per_source                  =11                            //通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每IP地址的连接数是11个
                     cps                         =100 2                        //表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求
                     flags                       =IPv4
    }
    
    
    
    #准备tftp 需要共享出去的文件
    mount /dev/cdrom /mnt
    cd / mnt /images/pxeboot/
    
    #内核文件内核初始化镜像文件
    /var/lib/tftpboot/             站点
    cp initrd.img vmlinuz /var/lib/tftpboot/
    
    systemctl start xinetd
    systemctl enable xinetd
    systemctl start tftp
    systemctl enable tftp
    
    

    3、准备PXE 引导程序pxelinux.0

    yum provides */pxelinux.0        #查找这个文件是由哪个软件包安装的,当不是一个路径和一个软件包时用*/
    yum -y install syslinux
    rpm -ql syslinux | grep pxelinux               #查找pxe引导程序的位置
    cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/          #拷贝到tftp的根目录下,系统引导文件注,只有安装了system-config-kickstart软件包,才会有/usr/share/syslinux/目录及目录中的文件


    4、配置启动菜单文件

    mkdir /var/lib/tftpboot/pxelinux.cfg   //默认pxelinux.cfg是没有的需要手动创建,注意它是一个目录而非文件虽然是以.cfg结尾
    
    vim /var/lib/tftpboot/pxelinux.cfg/default
    
    
    
    default auto                     //指定默认入口名称,对应下面的label auto
    prompt 0                         //设置是否等待用户选择,1表示等待用户控制,0表示不等待用户控制,安装时会出现boot:如果按回车表示选择auto模式
    
    label auto                       //默认的图形安装
              kernel vmlinuz
              append initrd=initrd.img ks=ftp://192.168.117.20/ks.cfg      //method必须指定网络路径
              
    label linux text               //文本安装模式,出现boot:时输入linux text 
              kernel vmlinuz
              append text initrd=initrd.img ks=ftp://192.168.117.20/ks.cfg
    label linux rescue           //救援模式,出现boot:时输入linux rescue
              kernel vmlinuz
              append rescue initrd=initrd.img ks=ftp://192.168.117.20/ks.cfg
    

    5、安装ftp服务,准备centos 7安装源

    yum -y install vsftpd
    mount /dev/cdrom /mnt
    mkdir /var/ftp/centos7
    cp -rf / mnt/* /var/ftp/centos7             #将镜像复制其中
    systemctl start vsftpd

    6、实现Kickstart无人值守安装

    yum install -y system-config-kickstart          #在CentOS 7系统中安装 system-config-kickstart
    
    vim /root/ftp/ks.cfg
    
    #Install OS instead of upgrade
    install                                                                     //全新安装
    
    #Keyboard layouts
    keyboard 'us'                                                         //英文键盘
    
    #Root password
    rootpw --iscrypted $1$9Rn8w7vF$npbKh8CeIbTxjwHUlcw4n0   //root密码
    
    #Use network installation
    url --url="ftp://192.168.117.20/centos7"   //网络安装路径
    
    # System language
    lang en_us                                 //系统语言,zh_CN表示中文
    
    #system authorization information
    auth --useshadow --passalgo=sha512 
    
    #Use text mode install
    text                                       //字符模式安装,graphical表示图形化安装
    firstboot --disable
    
    #SELinux configuration
    selinux --disabled                         //禁用selinux
    
    #Firewall configuration
    firewall --disabled                        //禁用防火墙
    
    #Network information
    network --bootproto=dhcp --device=ens33    //网卡配置
    
    #Reboot after installation
    reboot                                     //安装完重启
    
    #System timezone
    timezone Asia/ shanghai                    //时区:上海
    
    #system bootloader configuration
    bootloader --location=mbr                  // mbr引导
    
    #clear the Master Boot Record
    zerombr
    
    #Partition clearing information
    clearpart --all --initlabel               //清除所有分区信息和初始化分区标签
    
    #Disk partitioning information
    part / --fstype="xfs" --grow --size=1     //分区配置
    part swap --fstype=" swap" --size=2048
    part /boot --fstype="xfs"" --size=300
    
    
    %packages
    @base                                    //安装基础软件包
    @^gnome-desktop-environment              //安装桌面环境
    %end
    
    

    总结

    无人值守安装非常方便,最大的便利之处便在于,当我们偶尔遇到装机的情况的时候,我们可以使用设置好的服务器来进行自动装机,这样就可以名正言顺的摸鱼了,毕竟我们的工作是保证服务器的正常运行,而不是代替服务器去运行。既然服务器有这个功能,我们为什么要自己手动操作。

    更多相关内容
  • 详细告诉你如何批量安装系统,实现大批量网络快速装机
  • cobbler之批量装机

    2021-11-18 14:45:27
    cobble批量装机1. cobbler简介2. cobbler集成的服务3. cobbler配置文件详解4. cobbler数据目录5. cobbler命令详解6. cobbler服务端部署7. 客户端安装8. 定制安装9. centos8部署 1. cobbler简介 Cobbler 可以用来快速...

    1. cobbler简介

    Cobbler 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。
    cobbler可以使用命令行方式管理,也提供了基于web界面管理工具,还提供了API接口,可以方便二次开发使用。
    cobbler内置了一个轻量级配置管理系统,但是它也支持和其他配置管理系统集成,如Puppet,暂时不支持satlkstack。
    cobbler的官网:http://cobbler.github.io/

    网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级, 根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。很不幸,Red Hat 最新(Cobbler项目最初在2008年左右发布)发布了网络安装服务器套件 Cobbler(补鞋匠),它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域经营多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳。

    2. cobbler集成的服务

    • PXE服务支持
    • DHCP服务管理
    • DNS服务管理
    • 电源管理
    • Kickstart服务支持
    • YUM仓库管理
    • TFTP(PXE启动时需要)
    • Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

    3. cobbler配置文件详解

    配置文件作用
    /etc/cobbler/settingscobbler 主配置文件
    /etc/cobbler/iso/iso模板配置文件
    /etc/cobbler/pxepxe模板配置文件
    /etc/cobbler/power电源配置文件
    /etc/cobbler/user.confweb服务授权配置文件
    /etc/cobbler/users.digestweb访问的用户名密码配置文件
    /etc/cobbler/dhcp.templatedhcp服务器的的配置模板
    /etc/cobbler/dnsmasq.templatedns服务器的配置模板
    /etc/cobbler/tftpd.templatetftp服务的配置模板
    /etc/cobbler/modules.conf模块的配置文件

    4. cobbler数据目录

    目录 | 作用
    /var/lib/cobbler/config/ | 用于存放distros,system,profiles等信息配置文件
    /var/lib/cobbler/triggers/ | 用于存放用户定义的cobbler命令
    /var/lib/cobbler/kickstart/ | 默认存放kickstart文件
    /var/lib/cobbler/loaders/ | 存放各种引导程序以及镜像目录
    /var/www/cobbler/ks_mirror/ | 导入的发行版系统的所有数据
    /var/www/cobbler/images/ | 导入发行版的kernel和initrd镜像用于远程网络启动
    /var/www/cobbler/repo_mirror/ | yum仓库存储目录

    ####cobbler日志文件
    日志文件路径 | 说明
    /var/log/cobbler/installing | 客户端安装日志
    /var/log/cobbler/cobbler.log | cobbler日志

    5. cobbler命令详解

    cobbler check //核对当前设置是否有问题
    cobbler list //列出所有的cobbler元素
    cobbler report //列出元素的详细信息
    cobbler sync //同步配置到数据目录,更改配置最好都要执行下
    cobbler reposync //同步yum仓库
    cobbler distro //查看导入的发行版系统信息
    cobbler system //查看添加的系统信息
    cobbler profile //查看配置信息

    6. cobbler服务端部署

    环境说明:

    系统IP
    Redhat8.2192.168.182.141
    centos7.5192.168.182.130
    安装epel源和网络仓库
    [root@centos7 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
    [root@centos7 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    安装cobbler以及依赖包
    [root@centos7 ~]# dnf module enable cobbler
    [root@centos7 ~]# dnf install cobbler
    [root@centos7 ~]# yum -y install httpd dhcp tftp python-ctypes cobbler  xinetd cobbler-web pykickstart
    
    [root@centos7 yum.repos.d]# yum -y install python2
    

    启动服务并设置开机自启

    [root@centos7 ~]# systemctl enable --now httpd.service 
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    
    [root@centos7 ~]# systemctl enable --now cobblerd.service 
    Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.
    
    [root@localhost ~]# systemctl start tftp
    

    修改配置文件

    [root@centos7 cobbler]# vim settings 
    [root@centos7 cobbler]# pwd
    /etc/cobbler
    next_server: 192.168.182.130
    server: 192.168.182.130
    

    生成加密的密码

    [root@centos7 cobbler]# openssl passwd -1
    Password: 
    Verifying - Password: 
    $1$exI86Dof$wt58repDQcXGUBcoeC3IQ.
    
    [root@centos7 cobbler]# vim settings
    default_password_crypted: "$1$exI86Dof$wt58repDQcXGUBcoeC3IQ."
    重启cobbler服务使其配置文件生效
    [root@centos7 cobbler]# systemctl restart cobblerd.service
    

    启动rsync服务

    [root@centos7 cobbler]# systemctl start rsyncd
    [root@centos7 cobbler]# systemctl enable rsyncd
    Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
    

    修改配置文件使tftp服务生效

    [root@centos7 xinetd.d]# vim tftp 
    [root@centos7 xinetd.d]# pwd
    /etc/xinetd.d
    disable                 = no  //将此处的yes改为no,就是打开的意思
    

    使用命令检查一下看有没有错误

    [root@centos7 ~]# cobbler check
    The following are potential configuration items that you may want to fix:
    
    1 : Some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
    2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
    3 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
    
    Restart cobblerd and then run 'cobbler sync' to apply changes.
    第三个问题,安装一个包即可解决
    [root@centos7 ~]# yum -y install fence-agents
    第二个问题可以忽略,因为这个问题属于debmirror系统的跟我们系统无关,也不影响。
    第一个问题需要执行cobbler get-loaders
    

    第一个问题需要借助8先在Redhat8上进行配置

    [root@redhat8 ~]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
    
    [root@redhat8 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
    
    [root@redhat8 ~]# dnf module enable cobbler -y
    [root@redhat8 ~]# dnf -y install dhcp-* tftp xinetd pykickstart cobbler cobbler-web syslinux
    
    启动服务并设置开机自启
    [root@redhat8 ~]# systemctl enable --now httpd
    Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
    
    

    修改配置文件

    [root@redhat8 cobbler]# pwd
    /etc/cobbler
    server: 192.168.182.141
    next_server: 192.168.182.141  //改为i本机IP
    
    
    [root@redhat8 cobbler]# openssl passwd -1
    Password: 
    Verifying - Password: 
    $1$wK3Xt3wY$MpX5ORteM1O6P1aWzZvba0
    
    [root@redhat8 cobbler]# vim settings.yaml
    default_password_crypted: "$1$wK3Xt3wY$MpX5ORteM1O6P1aWzZvba0"
    该为true使为了让cobbler能控制dhcp
    manage_dhcp: true  //将false改为true
    

    配置dhcp

    [root@redhat8 cobbler]# vim /etc/cobbler/dhcp.template
    subnet 192.168.182.0 netmask 255.255.255.0 {
         option routers             192.168.182.141;
         option domain-name-servers 192.168.182.2;   //此处为系统安装完成之后指定的dns地址
         option subnet-mask         255.255.255.0;
         range dynamic-bootp        192.168.182.100 192.168.182.254;
         default-lease-time         21600;
         max-lease-time             43200;
         next-server                $next_server;
    

    当配置完成再启动cobbler并查看状态

    [root@redhat8 cobbler]# systemctl enable --now cobblerd.service
    [root@redhat cobbler]# systemctl status cobblerd.service 
    ● cobblerd.service - Cobbler Helper Daemon
       Loaded: loaded (/usr/lib/systemd/system/cobblerd.service; disabled; vendor preset: di>
       Active: active (running) since Wed 2021-10-13 09:59:28 CST; 7s ago
      Process: 127003 ExecStartPost=/usr/bin/touch /usr/share/cobbler/web/cobbler.wsgi (code>
     Main PID: 127002 (cobblerd)
        Tasks: 1 (limit: 11301)
       Memory: 28.7M
    

    下载缺失文件

    [root@redhat8 ~]# cobbler get-loaders 
    task started: 2021-10-13_110430_get_loaders
    task started (id=Download Bootloader Content, time=Wed Oct 13 11:04:30 2021)
    running python triggers from /var/lib/cobbler/triggers/task/get_loaders/pre/*
    running shell triggers from /var/lib/cobbler/triggers/task/get_loaders/pre/*
    shell triggers finished successfully
    downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README
    downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
    downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
    downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
    downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
    downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
    downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
    downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
    *** TASK COMPLETE ***
    

    检查问题和同步

    [root@redhat8 ~]# cobbler check
    The following are potential configuration items that you may want to fix:
    
    1: some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
    2: reposync is not installed, install yum-utils or dnf-plugins-core
    3: yumdownloader is not installed, install yum-utils or dnf-plugins-core
    4: debmirror package is not installed, it will be required to manage debian deployments and repositories
    5: fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
    
    Restart cobblerd and then run 'cobbler sync' to apply changes.
    依次解决问题
    [root@redhat8 ~]# yum -y install syslinux
    [root@redhat8 ~]# cobbler get-loaders
    [root@redhat8 ~]# yum -y install yum-utils
    [root@redhat8 ~]# yum -y install debmirror
    [root@redhat8 ~]# vim /etc/debmirror.conf
    注释此行#@dists="sid";
    [root@redhat8 ~]# vim /etc/debmirror.conf
    #@arches="i386";
    [root@redhat8 ~]# systemctl restart cobblerd.service
    

    redhat8上面操作完成之后再到7上面操作

    因为他缺那个文件所以将其移过去
    [root@centos7 loaders]# pwd
    /var/lib/cobbler/loaders
    [root@centos7 cobbler]# scp -r root@192.168.182.141:/var/lib/cobbler/loaders ./
    
    然后重启服务,再进行同步
    [root@centos7 cobbler]# systemctl restart cobblerd.service
    [root@centos7 cobbler]# cobbler sync
    

    配置dhcp

    [root@centos7 cobbler]# vim settings
    [root@centos7 cobbler]# pwd
    /etc/cobbler
    
    manage_dhcp: 1  //将0改为1
    

    修改dhcp的配置文件

    [root@centos7 cobbler]# vim /etc/cobbler/dhcp.template
    subnet 192.168.182.0 netmask 255.255.255.0 {   //改为自己主机的网段
         option routers             192.168.182.138;  //将本机IP设置为网关
         option domain-name-servers 192.168.182.2;  //这里的DNS改为正在使用的DNS
         option subnet-mask         255.255.255.0;
         range dynamic-bootp        192.168.182.100 192.168.182.254;  //改为自己主机的网段
         default-lease-time         21600;
         max-lease-time             43200;
         next-server                $next_server;
    
    重启服务,再进行同步
    [root@centos7 cobbler]# systemctl restart cobblerd.service
    [root@centos7 cobbler]# cobbler sync
    [root@centos7 cobbler]# ss -anulp|grep dhcp
    UNCONN     0      0            *:67                 
    

    导入镜像

    [root@centos7 ~]# mount /dev/sr0 /mnt/
    [root@centos7 ~]# cobbler import --path=/mnt --name=centos-7 --arch=x86_64  //因为我们这个地方是centos7版本,所以这个地方根据你的系统和版本进行调整
    task started: 2021-10-13_205122_import
    task started (id=Media import, time=Wed Oct 13 20:51:22 2021)
    Found a candidate signature: breed=redhat, version=rhel6
    Found a candidate signature: breed=redhat, version=rhel7
    Found a matching signature: breed=redhat, version=rhel7
    Adding distros from path /var/www/cobbler/ks_mirror/centos-7-x86_64:
    creating new distro: centos-7-x86_64
    trying symlink: /var/www/cobbler/ks_mirror/centos-7-x86_64 -> /var/www/cobbler/links/centos-7-x86_64
    creating new profile: centos-7-x86_64
    associating repos
    checking for rsync repo(s)
    checking for rhn repo(s)
    checking for yum repo(s)
    starting descent into /var/www/cobbler/ks_mirror/centos-7-x86_64 for centos-7-x86_64
    processing repo at : /var/www/cobbler/ks_mirror/centos-7-x86_64  //导入镜像的位置
    need to process repo/comps: /var/www/cobbler/ks_mirror/centos-7-x86_64  
    looking for /var/www/cobbler/ks_mirror/centos-7-x86_64/repodata/*comps*.xml
    Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos-7-x86_64/repodata
    *** TASK COMPLETE ***
    
    参数说明:
    -- path  //镜像路径
    -- name  //为安装定义一个名字
    -- arch  //指定安装源平台
    

    查看cobbler镜像列表

    [root@centos7 loaders]# cobbler list
    distros:
       centos-7-x86_64
    
    profiles:
       centos-7-x86_64
    
    systems:
    
    repos:
    
    images:
    
    mgmtclasses:
    
    packages:
    
    files:
    
    

    此处存放的使光盘的内容

    [root@centos7 centos-7-x86_64]# 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@centos7 centos-7-x86_64]# pwd
    /var/www/cobbler/ks_mirror/centos-7-x86_64
    

    创建kickstarts自动安装脚本

    [root@centos7 ~]# cat > /var/lib/cobbler/kickstarts/centos-7-x86_64.ks <<'EOF'
    auth --enableshadow --passalgo=sha512
    bootloader --location=mbr
    clearpart --all --initlabel
    part /boot --asprimary --fstype="ext4" --size=500
    part swap --fstype="swap" --size=4096
    part / --fstype="ext4" --grow --size=15000
    text
    firewall --disabled
    firstboot --disable
    keyboard us
    lang en_US
    url --url=http://192.168.182.130/cobbler/ks_mirror/centos-7-x86_64
    $yum_repo_stanza
    reboot
    
    rootpw --iscrypted $6$2WTFvfNvAMgCUPuC$MJgWGzhakgxrRObcEbAwSe8vkz0s//xyiTllGwxRsHHruQhcskO69u2LVTU9u0eemHXH2pzcGawyAJ54R2E/x0
    
    selinux --disabled
    skipx
    timezone Asia/Shanghai --isUtc --nontp
    install
    zerombr
    
    %packages
    @^minimal
    @core
    kexec-tools
    
    %end
    
    %addon com_redhat_kdump --enable --reserve-mb='auto'
    
    %end
    
    %anaconda
    pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
    pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    %end
    EOF
    

    检查ks文件语法是否有误

    [root@centos7 kickstarts]# cobbler validateks
    task started: 2021-10-13_212501_validateks
    task started (id=Kickstart Validation, time=Wed Oct 13 21:25:01 2021)
    ----------------------------
    osversion: rhel7
    checking url: http://192.168.182.130/cblr/svc/op/ks/profile/centos-7-x86_64
    running: /usr/bin/ksvalidator -v "rhel7" "http://192.168.182.130/cblr/svc/op/ks/profile/centos-7-x86_64"
    received on stdout: 
    received on stderr: 
    *** all kickstarts seem to be ok ***
    *** TASK COMPLETE ***
    

    查看当前cobbler有哪些配置文件

    [root@centos7 kickstarts]# cobbler profile list
       centos-7-x86_64
    

    检查当前系统cobbler配置文件信息

    [root@centos7 kickstarts]# cobbler profile report
    Name                           : centos-7-x86_64
    TFTP Boot Files                : {}
    Comment                        : 
    DHCP Tag                       : default
    Distribution                   : centos-7-x86_64
    Enable gPXE?                   : 0
    Enable PXE Menu?               : 1
    Fetchable Files                : {}
    Kernel Options                 : {}
    Kernel Options (Post Install)  : {}
    Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks
    Kickstart Metadata             : {}
    Management Classes             : []
    Management Parameters          : <<inherit>>
    Name Servers                   : []
    Name Servers Search Path       : []
    Owners                         : ['admin']
    Parent Profile                 : 
    Internal proxy                 : 
    Red Hat Management Key         : <<inherit>>
    Red Hat Management Server      : <<inherit>>
    Repos                          : []
    Server Override                : <<inherit>>
    Template Files                 : {}
    Virt Auto Boot                 : 1
    Virt Bridge                    : xenbr0
    Virt CPUs                      : 1
    Virt Disk Driver Type          : raw
    Virt File Size(GB)             : 5
    Virt Path                      : 
    Virt RAM (MB)                  : 512
    Virt Type                      : kvm
    

    修改profile,将我们新建的ks文件设为默认的kickstarts安装文件

    [root@centos7 kickstarts]# cobbler profile edit --name centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7-x86_64.ks
    

    配置网卡名称为传统网卡名称eth0

    [root@centos7 kickstarts]# cobbler profile edit --name centos-7-x86_64 --kopts='net.ifnames=0 biosdevname=0'
    

    发现当前系统cobbler配置文件信息的Kickstart发生改变

    [root@centos7 kickstarts]# cobbler profile report
    Name                           : centos-7-x86_64
    TFTP Boot Files                : {}
    Comment                        : 
    DHCP Tag                       : default
    Distribution                   : centos-7-x86_64
    Enable gPXE?                   : 0
    Enable PXE Menu?               : 1
    Fetchable Files                : {}
    Kernel Options                 : {'biosdevname': '0', 'net.ifnames': '0'}
    Kernel Options (Post Install)  : {}
    Kickstart                      : /var/lib/cobbler/kickstarts/centos-7-x86_64.ks
    Kickstart Metadata             : {}
    Management Classes             : []
    Management Parameters          : <<inherit>>
    Name Servers                   : []
    Name Servers Search Path       : []
    Owners                         : ['admin']
    Parent Profile                 : 
    Internal proxy                 : 
    Red Hat Management Key         : <<inherit>>
    Red Hat Management Server      : <<inherit>>
    Repos                          : []
    Server Override                : <<inherit>>
    Template Files                 : {}
    Virt Auto Boot                 : 1
    Virt Bridge                    : xenbr0
    Virt CPUs                      : 1
    Virt Disk Driver Type          : raw
    Virt File Size(GB)             : 5
    Virt Path                      : 
    Virt RAM (MB)                  : 512
    Virt Type                      : kvm
    

    同步文件

    [root@centos7 loaders]# pwd
    /var/lib/cobbler/loaders
    [root@centos7 loaders]# \cp /usr/share/syslinux/pxelinux.0 .
    [root@centos7 loaders]# \cp /usr/share/syslinux/menu.c32 menu.c32
    

    同步cobbler

    [root@centos7 kickstarts]# cobbler sync
    

    重启服务

    [root@centos7 kickstarts]# systemctl restart httpd
    [root@centos7 kickstarts]# systemctl restart cobblerd.service
    [root@centos7 kickstarts]# systemctl restart xinetd.service
    

    7. 客户端安装

    安装一台主机进行测试
    不要给镜像然后开机

    [root@centos7 loaders]# pwd
    /var/lib/cobbler/loaders
    [root@centos7 loaders]# \cp /usr/share/syslinux/menu.c32 menu.c32
    [root@centos7 loaders]# \cp /usr/share/syslinux/pxelinux.0 .
    

    选择centos

    8. 定制安装

    定制安装步骤:

    • 统计服务器mac地址
    • 配置cobbler
    • 安装

    9. centos8部署

    在web界面上配置cobbler
    这里的账号和密码都是cobbler

    创建系统,首先选择systems,再点击创建系统

    name为主机名,Profile是使用哪个配置文件,Kernel Options内核参数,回归传统网卡eth0,Kickstart指定装机的配置文件

    设置网络,hostname随便,网关为真实的网关,dns根据你的实际情况设置

    最后点击save保存即可

    添加完成之后同步cobbler,重启服务

    [root@centos7 ~]# cobbler sync
    [root@centos7 ~]# systemctl restart xinetd
    [root@centos7 ~]# systemctl restart httpd
    [root@centos7 ~]# systemctl restart cobblerd.service
    
    [root@centos7 ks_mirror]#  cobbler import --path=/mnt --name=centos-8 --arch=x86_64
    
    

    查看cobbler镜像列表

    [root@centos7 ks_mirror]# cobbler list
    distros:
       centos-7-x86_64
       centos-8-x86_64
    
    profiles:
       centos-7-x86_64
       centos-8-x86_64
    
    systems:
    
    repos:
    
    images:
    
    mgmtclasses:
    
    packages:
    
    files:
    

    创建kickstarts自动安装脚本

    [root@centos7 kickstarts]# pwd
    /var/lib/cobbler/kickstarts
    [root@centos7 kickstarts]# cat centos-8-x86_64.ks 
    auth --enableshadow --passalgo=sha512
    bootloader --location=mbr
    clearpart --all --initlabel
    part /boot --asprimary --fstype="ext4" --size=500
    part swap --fstype="swap" --size=4096
    part / --fstype="ext4" --grow --size=15000
    text
    firewall --disabled
    firstboot --disable
    keyboard us
    lang en_US
    url --url=http://192.168.182.130/cobbler/ks_mirror/centos-8-x86_64
    $yum_repo_stanza
    reboot
    
    rootpw --iscrypted $6$2WTFvfNvAMgCUPuC$MJgWGzhakgxrRObcEbAwSe8vkz0s//xyiTllGwxRsHHruQhcskO69u2LVTU9u0eemHXH2pzcGawyAJ54R2E/x0
    
    selinux --disabled
    skipx
    timezone Asia/Shanghai --isUtc --nontp
    install
    zerombr
    
    %packages
    @^minimal
    @core
    kexec-tools
    
    %end
    
    %addon com_redhat_kdump --enable --reserve-mb='auto'
    
    %end
    
    %anaconda
    pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
    pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    %end
    

    检查ks文件语法是否有误

    [root@centos7 kickstarts]# cobbler validateks
    task started: 2021-10-14_012206_validateks
    task started (id=Kickstart Validation, time=Thu Oct 14 01:22:06 2021)
    ----------------------------
    osversion: rhel7
    checking url: http://192.168.182.130/cblr/svc/op/ks/profile/centos-7-x86_64
    running: /usr/bin/ksvalidator -v "rhel7" "http://192.168.182.130/cblr/svc/op/ks/profile/centos-7-x86_64"
    received on stdout: 
    received on stderr: 
    Potential templating errors:
    Unknown variable found at line 16, column 39: '$MJgWGzhakgxrRObcEbAwSe8vkz0s'
    *** all kickstarts seem to be ok ***
    *** TASK COMPLETE ***
    

    展开全文
  • Cobbler部署及批量装机

    2021-10-13 20:24:49
    Cobbler cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基于Web的界面...

    Cobbler

    cobbler简介

    • Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
    • Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
    • Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
    • Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。

    cobbler集成的服务

    • PXE服务支持
    • DHCP服务管理
    • DNS服务管理(可选bind,dnsmasq)
    • 电源管理
    • Kickstart服务支持
    • YUM仓库管理
    • TFTP(PXE启动时需要)
    • Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

    cobbler安装

    • 环境说明
    系统IP
    Centos7192.168.218.134
    • 关闭防火墙和selinux
    [root@134 ~]# systemctl disable --now firewalld
    [root@134 ~]# vi /etc/selinux/config 
    SELINUX=disabled
    [root@134 ~]# reboot      
    //修改完selinux一定要重启
    
    • 安装epel源和依赖包
    [root@l134 ~]# yum -y install epel-release
    [root@134 ~]# yum -y install httpd dhcp tftp python-ctypes cobbler  xinetd cobbler-web pykickstart
    
    • 启动服务设置开机自启
    [root@134 ~]# systemctl enable --now httpd cobblerd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.
    
    • 修改配置文件
    [root@134 ~]# vim /etc/cobbler/settings 
    next_server: 192.168.218.134    //这里改成自己本记的ip
    server: 192.168.218.134             //这里改成自己本记的ip
    
    //生成加密的密码
    [root@134 ~]# openssl passwd -1
    Password: 
    Verifying - Password: 
    $1$JqB45b.C$w9DxvIe0TWn/zbREzbxr3/
    [root@134 ~]# vim /etc/cobbler/settings 
    default_password_crypted: "$1$JqB45b.C$w9DxvIe0TWn/zbREzbxr3/"      //default_password_crypted:后面改为刚才生成的密码
    
    • 重启服务
    [root@134 ~]# systemctl restart cobblerd
    
    • 开启tftp
    [root@134 ~]# vim /etc/xinetd.d/tftp 
     disable                 = no    //默认是yes,改为no
    
    • 下载缺失文件
    //在centos7里无法使用cobbler get-loaders命令下载下载缺失文件,但是我们可以在centos8里使用这个cobbler get-loaders下载缺失文件,把8系统里的文件拷贝到7系统里,但是需要修改一些内容
    
    [root@134 loaders]# scp root@192.168.218.133:/var/lib/cobbler/loaders/* .
    The authenticity of host '192.168.218.133 (192.168.218.133)' can't be established.
    ECDSA key fingerprint is SHA256:R2vMn4cw3OiR2qHPNLGGvDqsJHfs36bHDGVkOUX7pqU.
    ECDSA key fingerprint is MD5:f5:4d:19:15:ae:d6:4f:bf:00:7d:26:d3:39:72:c2:a7.
    Are you sure you want to continue connecting (yes/no)? yes   
    Warning: Permanently added '192.168.218.133' (ECDSA) to the list of known hosts.
    root@192.168.218.133's password: 
    COPYING.syslinux                                         100% 9339     3.8MB/s   00:00    
    COPYING.yaboot                                           100% 9339     9.0MB/s   00:00    
    grub-x86_64.efi                                          100% 9339     7.3MB/s   00:00    
    grub-x86.efi                                             100% 9339    12.8MB/s   00:00    
    menu.c32                                                 100% 9339     7.4MB/s   00:00    
    pxelinux.0                                               100% 9339    11.3MB/s   00:00    
    README                                                   100% 9339    12.3MB/s   00:00    
    yaboot                                                   100% 9339    10.7MB/s   00:00    
    [root@134 loaders]# ls 
    COPYING.syslinux  grub-x86_64.efi  menu.c32    README
    COPYING.yaboot    grub-x86.efi     pxelinux.0  yaboot
    
    //修改menu.c32
    [root@134 loaders]# find / -name menu.c32 
    /var/lib/tftpboot/menu.c32
    /var/lib/cobbler/loaders/menu.c32
    /usr/share/syslinux/menu.c32
    [root@134 loaders]# ll /usr/share/syslinux/menu.c32 menu.c32      //本机的menu.c32和我们复制过来的大小不一样
    -rw-r--r-- 2 root root  9339 Oct 13 21:06 menu.c32
    -rw-r--r-- 1 root root 55140 Oct 31  2018 /usr/share/syslinux/menu.c32     
    
    //本机menu.c32覆盖8系统传过来的menu.c32
    [root@134 loaders]# cp /usr/share/syslinux/menu.c32 menu.c32 
    cp: overwrite ‘menu.c32’? yes
    
    //修改pxelinux.0
    [root@134 loaders]# find / -name pxelinux.0
    /var/lib/tftpboot/pxelinux.0
    /var/lib/cobbler/loaders/pxelinux.0
    /usr/share/syslinux/pxelinux.0
    [root@134 loaders]# ll /usr/share/syslinux/pxelinux.0 pxelinux.0 
    -rw-r--r-- 2 root root  9339 Oct 13 21:06 pxelinux.0
    -rw-r--r-- 1 root root 26759 Oct 31  2018 /usr/share/syslinux/pxelinux.0
    
    //本机pxelinux.0覆盖8系统传过来的pxelinux.0
    [root@134 loaders]# \cp /usr/share/syslinux/pxelinux.0 pxelinux.0
    
    • 重启和同步
    [root@134 ~]# systemctl enable --now rsyncd
    [root@134 ~]# systemctl restart cobblerd
    [root@134 ~]# cobbler sync
    task started: 2021-10-13_211421_sync
    task started (id=Sync, time=Wed Oct 13 21:14:21 2021)
    running pre-sync triggers
    cleaning trees
    removing: /var/lib/tftpboot/grub/images
    copying bootloaders
    trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
    trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
    trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
    trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
    trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
    trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
    copying distros to tftpboot
    copying images
    generating PXE configuration files
    generating PXE menu structure
    rendering TFTPD files
    generating /etc/xinetd.d/tftp
    cleaning link caches
    running post-sync triggers
    running python triggers from /var/lib/cobbler/triggers/sync/post/*
    running python trigger cobbler.modules.sync_post_restart_services
    running shell triggers from /var/lib/cobbler/triggers/sync/post/*
    running python triggers from /var/lib/cobbler/triggers/change/*
    running python trigger cobbler.modules.manage_genders
    running python trigger cobbler.modules.scm_track
    running shell triggers from /var/lib/cobbler/triggers/change/*
    *** TASK COMPLETE ***
    
    • 开启和配置dhcp
    //修改cobbler配置文件,让cobbler控制dhcp
    [root@134 ~]# vim /etc/cobbler/settings 
    manage_dhcp: 1     //默认是0,改为1
    
    //配置dhcp
    [root@134 ~]# vim /etc/cobbler/dhcp.template 
    subnet 192.168.218.0 netmask 255.255.255.0 {           //本机的网段
         option routers             192.168.218.134;                   //本机ip
         option domain-name-servers 192.168.218.2;               //此处为系统安装好后指定的dns地址
         option subnet-mask         255.255.255.0;
         range dynamic-bootp        192.168.218.200 192.168.218.254;       //分配ip范围
         default-lease-time         21600;
         max-lease-time             43200;
         next-server                $next_server;
    
    //重启服务和同步
    [root@134 ~]# systemctl restart cobblerd 
    [root@134 ~]# cobbler sync
    task started: 2021-10-13_214334_sync
    task started (id=Sync, time=Wed Oct 13 21:43:34 2021)
    running pre-sync triggers
    cleaning trees
    removing: /var/lib/tftpboot/pxelinux.cfg/default
    removing: /var/lib/tftpboot/grub/images
    removing: /var/lib/tftpboot/grub/grub-x86_64.efi
    removing: /var/lib/tftpboot/grub/grub-x86.efi
    removing: /var/lib/tftpboot/grub/efidefault
    removing: /var/lib/tftpboot/s390x/profile_list
    copying bootloaders
    trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
    trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
    copying distros to tftpboot
    copying images
    generating PXE configuration files
    generating PXE menu structure
    rendering DHCP files
    generating /etc/dhcp/dhcpd.conf
    rendering TFTPD files
    generating /etc/xinetd.d/tftp
    cleaning link caches
    running post-sync triggers
    running python triggers from /var/lib/cobbler/triggers/sync/post/*
    running python trigger cobbler.modules.sync_post_restart_services
    running: dhcpd -t -q
    received on stdout: 
    received on stderr: 
    running: service dhcpd restart
    received on stdout: 
    received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
    
    running shell triggers from /var/lib/cobbler/triggers/sync/post/*
    running python triggers from /var/lib/cobbler/triggers/change/*
    running python trigger cobbler.modules.manage_genders
    running python trigger cobbler.modules.scm_track
    running shell triggers from /var/lib/cobbler/triggers/change/*
    *** TASK COMPLETE ***
    
    //检查dhcp是否正常
    [root@134 ~]# netstat -anulp|grep dhcp
    udp        0      0 0.0.0.0:67              0.0.0.0:*                           1798/dhcpd
    
    • 导入镜像
    //挂在光盘
    [root@134 ~]# mount /dev/cdrom /mnt/
    [root@134 ~]# ls /mnt/
    CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
    EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
    EULA             isolinux  repodata  TRANS.TBL
    
    [root@134 ~]# cobbler import --path=/mnt --name=centos-7 --arch=x86_64
    task started: 2021-10-13_215616_import
    task started (id=Media import, time=Wed Oct 13 21:56:16 2021)
    Found a candidate signature: breed=redhat, version=rhel6
    Found a candidate signature: breed=redhat, version=rhel7
    Found a matching signature: breed=redhat, version=rhel7
    Adding distros from path /var/www/cobbler/ks_mirror/centos-7-x86_64:
    creating new distro: centos-7-x86_64
    trying symlink: /var/www/cobbler/ks_mirror/centos-7-x86_64 -> /var/www/cobbler/links/centos-7-x86_64
    creating new profile: centos-7-x86_64
    associating repos
    checking for rsync repo(s)
    checking for rhn repo(s)
    checking for yum repo(s)
    starting descent into /var/www/cobbler/ks_mirror/centos-7-x86_64 for centos-7-x86_64
    processing repo at : /var/www/cobbler/ks_mirror/centos-7-x86_64
    need to process repo/comps: /var/www/cobbler/ks_mirror/centos-7-x86_64
    looking for /var/www/cobbler/ks_mirror/centos-7-x86_64/repodata/*comps*.xml
    Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos-7-x86_64/repodata
    *** TASK COMPLETE ***
    
    //说明:
        --path      //镜像路径
        --name      //为安装源定义一个名字
        --arch      //指定安装源平台
    
    //查看光盘内容是否导入成功
    [root@134 ~]# cd /var/www/cobbler/ks_mirror/centos-7-x86_64/
    [root@134 centos-7-x86_64]# ls 
    CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
    EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
    EULA             isolinux  repodata  TRANS.TBL
    
    //查看cobbler镜像列表
    [root@134 ~]# cobbler list
    distros:
       centos-7-x86_64
    
    profiles:
       centos-7-x86_64
    
    systems:
    
    repos:
    
    images:
    
    mgmtclasses:
    
    packages:
    
    files:
    
    
    • 创建kickstarts自动安装脚本
    [root@134 ~]# vi /var/lib/cobbler/kickstarts/centos-7-x86_64.ks
    auth --enableshadow --passalgo=sha512
    bootloader --location=mbr
    clearpart --all --initlabel
    part /boot --asprimary --fstype="ext4" --size=500
    part swap --fstype="swap" --size=4096
    part / --fstype="ext4" --grow --size=15000
    text
    firewall --disabled
    firstboot --disable
    keyboard us
    lang en_US
    url --url=http://192.168.218.134/cobbler/ks_mirror/centos-7-x86_64
    $yum_repo_stanza
    reboot
    
    rootpw --iscrypted $6$wNlwfSsyZeLUJinV$DmpW5Zs8CfkplNb1q3x56J3eBI2Kab08gXiFFewyRZVDGelSsMgqE0in4STP/PMqV6.F4oornBJwZPm.xDab7.
    
    selinux --disabled
    skipx
    timezone Asia/Shanghai --isUtc --nontp
    install
    zerombr
    
    %packages
    @^minimal
    @core
    kexec-tools
    
    %end
    
    %addon com_redhat_kdump --enable --reserve-mb='auto'
    
    %end
    
    %anaconda
    pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
    pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    %end
    
    //检查ks文件语法是否有误
    [root@134 ~]# cobbler validateks
    task started: 2021-10-13_221621_validateks
    task started (id=Kickstart Validation, time=Wed Oct 13 22:16:21 2021)
    ----------------------------
    osversion: rhel7
    checking url: http://192.168.218.134/cblr/svc/op/ks/profile/centos-7-x86_64
    running: /usr/bin/ksvalidator -v "rhel7" "http://192.168.218.134/cblr/svc/op/ks/profile/centos-7-x86_64"
    received on stdout: 
    received on stderr: 
    *** all kickstarts seem to be ok ***
    *** TASK COMPLETE ***
    
    //查看当前cobbler有哪些配置文件
    [root@134 ~]# cobbler profile list
       centos-7-x86_64
    
    //修改profile,将我们新建的ks文件设为默认的kickstarts安装文件
    [root@134 ~]# cobbler profile edit --name centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7-x86_64.ks
    
    //配置网卡名称为传统网卡名称eth0
    [root@134 ~]# cobbler profile edit --name centos-7-x86_64 --kopts='net.ifnames=0 biosdevname=0'
    
    //同步cobbler
    [root@134 ~]# cobbler sync
    task started: 2021-10-13_222352_sync
    task started (id=Sync, time=Wed Oct 13 22:23:52 2021)
    running pre-sync triggers
    cleaning trees
    removing: /var/www/cobbler/images/centos-7-x86_64
    removing: /var/lib/tftpboot/pxelinux.cfg/default
    removing: /var/lib/tftpboot/grub/images
    removing: /var/lib/tftpboot/grub/grub-x86_64.efi
    removing: /var/lib/tftpboot/grub/grub-x86.efi
    removing: /var/lib/tftpboot/grub/efidefault
    removing: /var/lib/tftpboot/images/centos-7-x86_64
    removing: /var/lib/tftpboot/s390x/profile_list
    copying bootloaders
    trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
    trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
    copying distros to tftpboot
    copying files for distro: centos-7-x86_64
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/centos-7-x86_64/vmlinuz
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/centos-7-x86_64/initrd.img
    copying images
    generating PXE configuration files
    generating PXE menu structure
    copying files for distro: centos-7-x86_64
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/centos-7-x86_64/vmlinuz
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/centos-7-x86_64/initrd.img
    Writing template files for centos-7-x86_64
    rendering DHCP files
    generating /etc/dhcp/dhcpd.conf
    rendering TFTPD files
    generating /etc/xinetd.d/tftp
    processing boot_files for distro: centos-7-x86_64
    cleaning link caches
    running post-sync triggers
    running python triggers from /var/lib/cobbler/triggers/sync/post/*
    running python trigger cobbler.modules.sync_post_restart_services
    running: dhcpd -t -q
    received on stdout: 
    received on stderr: 
    running: service dhcpd restart
    received on stdout: 
    received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
    
    running shell triggers from /var/lib/cobbler/triggers/sync/post/*
    running python triggers from /var/lib/cobbler/triggers/change/*
    running python trigger cobbler.modules.manage_genders
    running python trigger cobbler.modules.scm_track
    running shell triggers from /var/lib/cobbler/triggers/change/*
    *** TASK COMPLETE ***
    
    //服务端所有服务重启
    [root@134 ~]# systemctl restart httpd cobblerd 
    
    //开启xinetd
    [root@134 ~]# systemctl start xinetd
    
    • 客户端安装
      新建虚拟机从pxe启动,若出现以下界面则表示成功:
      在这里插入图片描述
      在这里插入图片描述

    定制安装

    以上批量装机方法会有一个问题,新装的主机需要我们手动选择一下,如果少数可以每台选择一下,如果需要安装的主机数量过大,就不太适合了,这时候就需要定制安装。

    定制安装步骤:

    • 统计服务器mac地址

    • 配置cobbler

    • 安装

    • 登录web界面
      在这里插入图片描述
      在这里插入图片描述

    • 创建系统
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 同步和重启服务

    [root@134 ~]# cobbler sync
    task started: 2021-10-13_234242_sync
    task started (id=Sync, time=Wed Oct 13 23:42:42 2021)
    running pre-sync triggers
    cleaning trees
    removing: /var/www/cobbler/images/centos-7-x86_64
    removing: /var/lib/tftpboot/pxelinux.cfg/default
    removing: /var/lib/tftpboot/pxelinux.cfg/01-00-50-56-22-0b-19
    removing: /var/lib/tftpboot/grub/images
    removing: /var/lib/tftpboot/grub/grub-x86_64.efi
    removing: /var/lib/tftpboot/grub/grub-x86.efi
    removing: /var/lib/tftpboot/grub/efidefault
    removing: /var/lib/tftpboot/grub/01-00-50-56-22-0B-19
    removing: /var/lib/tftpboot/images/centos-7-x86_64
    removing: /var/lib/tftpboot/s390x/profile_list
    copying bootloaders
    trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
    trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
    copying distros to tftpboot
    copying files for distro: centos-7-x86_64
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/centos-7-x86_64/vmlinuz
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/centos-7-x86_64/initrd.img
    copying images
    generating PXE configuration files
    generating: /var/lib/tftpboot/pxelinux.cfg/01-00-50-56-22-0b-19
    generating: /var/lib/tftpboot/grub/01-00-50-56-22-0B-19
    generating PXE menu structure
    copying files for distro: centos-7-x86_64
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/centos-7-x86_64/vmlinuz
    trying hardlink /var/www/cobbler/ks_mirror/centos-7-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/centos-7-x86_64/initrd.img
    Writing template files for centos-7-x86_64
    rendering DHCP files
    generating /etc/dhcp/dhcpd.conf
    rendering TFTPD files
    generating /etc/xinetd.d/tftp
    processing boot_files for distro: centos-7-x86_64
    cleaning link caches
    running post-sync triggers
    running python triggers from /var/lib/cobbler/triggers/sync/post/*
    running python trigger cobbler.modules.sync_post_restart_services
    running: dhcpd -t -q
    received on stdout: 
    received on stderr: 
    running: service dhcpd restart
    received on stdout: 
    received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
    
    running shell triggers from /var/lib/cobbler/triggers/sync/post/*
    running python triggers from /var/lib/cobbler/triggers/change/*
    running python trigger cobbler.modules.manage_genders
    running python trigger cobbler.modules.scm_track
    running shell triggers from /var/lib/cobbler/triggers/change/*
    *** TASK COMPLETE ***
    
    //重启服务
    [root@134 ~]# systemctl restart httpd
    [root@134 ~]# systemctl restart cobblerd
    [root@134 ~]# systemctl restart xinetd
    
    • 开启安装
      安装成功
      在这里插入图片描述
    展开全文
  • PXE高效批量网络装机一.PXE概述① PXE (Preboot eXcution Environment)② PXE批量部署的优点③ 服务端④ 客户端二.部署PXE远程安装服务搭建PXE远程安装服务器三.实现Kickstart 无人值守安装**1)准备安装应答文件***...

    一.PXE概述

    ① PXE (Preboot eXcution Environment)

    • 预启动执行环境,在操作系统之前运行

    • 由Intel公司开发的网络引导技术,工作在Client/Server模式, 允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统

    ② PXE批量部署的优点

    • 规模化:同时装配多台服务器

    • 自动化:安装系统、配置各种服务

    • 远程实现:不需要光盘、U盘等安装介质

    在这里插入图片描述

    ③ 服务端

    • 运行DHCP服务,用来分配地址、定位引|导程序

    • 运行TFTP服务,提供引导程序下载

    ④ 客户端

    • 网卡支持PXE协议

    • 主板支持网络引导

    二.部署PXE远程安装服务

    若要搭建PXE 网络体系,必须满足以下几个前提条件:

    客户端:

    • 客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可

    服务端:

    • 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置

    • 服务器要通过TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载

    搭建PXE远程安装服务器

    • PXE 远程安装服务器集成了Centos 7 安装源、TFTP 服务、DHCP服务、FTP 服务,能够向客户机裸机发送PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件

    • TFTP (简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69

    • xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务

    1.安装并启用TFTP服务

    
    yum -y install tftp-server xinetd
    
    #修改TFTP服务的配置文件
    vim /etc/xinetd.d/tftp
    
    protocol       = udp         #TFTP默认使用UDP协议
    wait           = no          #no表示客户机可以多台一起连接,yes表示客户机只能一-台一-台连接
    server_args    = -s /var/lib/tftpboot  #指定TFTP根目录(引导文件的存储路径)
    disable        = no          #no表示开启TFTP服务
    
    systemctl start tftp
    systemctl enable tftp
    systemctl start xinetd
    systemctl enable xinetd
    

    2.安装并启用 DHCP 服务

    yum -y install dhcp
    
    cp /usr/ share/doc/ dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
    
    #修改DHCP服务的配置文件
    vim /etc/dhcp/dhcpd.conf
    
    ddns-update-style none;        #禁用DNS动态更新
    next-server 192.168.116.80;     #指定TFTP服务器的地址
    filename "pxelinux.0";          #指定要下载的PXE引导程序的文件
    
    subnet 192.168.116.0 netmask 255.255.255.0 {          #声明要分配的网段地址
       range 192.168.116.120 192.168.116.220;               #设置地址池
       option routers 192.168.116.80;                               #默认网关地址指向TFTP服务器的IP地址
    }
    
    
    systemctl start dhcpd
    systemctl enable dhcpd
    

    3.准备Linux内核、初始化镜像文件

    mount /dev/sr0 /mnt
    
    cd /mnt/images/pxeboot
    cp vmlinuz /var/1ib/tftpboot/    #复制Linux系统的内核文件到TFTP根目录下
    cp initrd.img /var/lib/tftpboot/  #复制初始化镜像文件(linux引 导加载模块)到TFTP根目录下
    
    

    4.准备 PXE 引导程序

    yum -y install syslinux   #PXE引导程序由软件包syslinux 提供
    cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  #复制PXE引导程序到TFTP根目 录下
    

    5.安装FTP服务,准备CentOS 7安装源

    yum -y install vsftpd
    mkdir /var/ftp/centos7
    cp -rf /mnt/* /var/ftp/centos7/
    
    
    systemctl start vsftpd
    systemctl enable Vsftpd
    

    6.配置启动菜单文件

    默认的启动菜单文件在TFTP根目录的pxelinux.cfg 子目录下,文件名为default

    mkdir /var/lib/tftpboot/pxelinux.cfg
    
    vim /var/lib/tftpboot/pxelinux.cfg/default
    
    default auto              #指定默认入口名称
    prompt 1                  #设置是否等待用户选择,“1"表示等待用户控制
    
    label auto                #图形安装(默认)引导入口,label用来定义启动项
    kernel vmlinuz            #kernel和append用来定义引导参数
    append initrd=initrd.img method=ftp://192.168.116.80/centos7
    
    label linux text          #文本安装引导入口
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://192.168.116.80/centos7
    
    label linux rescue       #救援模式引导入口
    kernel vml inuz
    append rescue initrd=initrd.img method=ftp://192.168.116.80/centos7
    

    7.关闭防火墙,验证PXE网络安装

    systemctl stop firewalld. service
    setenforce 0
    

    三.实现Kickstart 无人值守安装

    1)准备安装应答文件

    ① 安装system-config-kickstart 工具

    yum install -y system-config- kickstart

    ② 打开“Kickstart 配置程序"窗口

    • 通过桌面菜单“应用程序”–>“系统工具"–>“Kickstart"打开

    • 执行"system-config-kickstart” 命令打开

    ③ 配置kickstart选项

    ✔ 基本配置:

    • 默认语言设为“中文( 简体)”
    • 时区设为“Asia/ Shanghai"
    • 设置root密码
    • 高级配置中勾选“安装后重启”

    ✔ 安装方法:

    选FTP
    FTP服务器: ftp:/ /192.168.116.80
    FTP目录: centos7

    ✔ 引导装戟程序选项:

    “安装类型”: 安装新引导装载程序
    “安装选项”: 在主引导记录(MBR) 中安装引导装载程序

    ✔ 分区信息:

    • 主引导记录: 清除主引导记录
    • 分区: 删除所有现存分区
    • 磁盘标签: 初始化磁盘标签
    • 布局: 添加分区
    • 挂载点: /boot, 文件系统类型: xfs, 固定大小: 500M
    • 文件系统类型: swap, 固定大小: 4096M
    • 挂载点: /home, 文件系统类型: xfs,固定大小: 4096M
    • 挂载点: /,文件系统类型:xfs,,使用磁盘上全部未使用空间

    ✔ 网络配置:

    添加网络设备"ens33”
    网络类型设为"DHCP”

    ✔ 防火墙配置:

    禁用 SELinux、 禁用防火墙

    ✔ 安装后脚本:

    勾选“使用解释程序”: /bin/bash

    mkdir /etc/yum.repos.d/repo.bak
    mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
    
    echo '[local]
    name=local
    baseurl=ftp://192.168.116.80/centos7
    enabled=1
    gpgcheck=0' > /etc/yum.repos.d/local.repo 
    

    其它选项保持默认设置即可

    ④ 保存自动应答文件

    选择"Kickstart配置程序"窗口的“文件"–>“保存"命令,选择指定保存位置,文件名为ks.cfg
    默认保存在/root/ks.cfg

    cp /root/ks.cfg  /var/ftp/ks.cfg
    

    ⑤ 配置需要安装的软件包

    可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到ks.cfg文件中, 只需要复制&packages到&end部分即可

    如要求最小化安装,可复制下面内容:

    vim ks.cfg
    %packages
    @^minimal
    %end
    

    ⑥ 编辑引导菜单文件default, 添加ks引导参数

    vim /var/lib/tftpboot/pxelinux.cfg/default
    
    default auto
    prompt 0             #设置是否等待用户选择,“0”表示不等 待用户控制
    
    label auto
    kernel vmlinuz       #kernel和append用来定义引导参数
    append initrd=initrd.img method=ftp://192.168.116.80/centos7 ks=ftp://192.168.116.80/ks.cfg
    #添加ks引导参数以指定ks.cfg 应答文件的URL路径
    

    2).验证无人值守安装

    当客户机每次以PXE方式引导时,将自动下载ks .cfg应答配置文件,然后根据其中的设置安装Centos 7
    系统,而无须手工干预

    cat /etc/yum.repos.d/ local.repo
    

    举例(全部流程)

    1.安装并启用TFTP服务

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    2.安装并启用 DHCP 服务

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3.准备Linux内核、初始化镜像文件

    在这里插入图片描述
    4.准备 PXE 引导程序

    在这里插入图片描述
    在这里插入图片描述
    5.安装FTP服务,准备CentOS 7安装源

    在这里插入图片描述
    在这里插入图片描述
    6.配置启动菜单文件

    在这里插入图片描述

    在这里插入图片描述
    7.关闭防火墙,验证PXE网络安装

    在这里插入图片描述

    做到这里,就可以安装了,只不过不是完全全自动模式

    实现Kickstart 无人值守安装

    准备安装应答文件

    ① 安装system-config-kickstart 工具

    在这里插入图片描述
    ② 打开“Kickstart 配置程序"窗口

    在这里插入图片描述
    ③ 配置kickstart选项

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ④ 保存自动应答文件

    在这里插入图片描述
    在这里插入图片描述

    ⑤ 配置需要安装的软件包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这里复制的是图形化安装,想要最小化安装直接到ks.cfg文件中,如下:

    在这里插入图片描述

    ⑥ 编辑引导菜单文件default, 添加ks引导参数

    在这里插入图片描述

    2.验证无人值守安装

    cat /etc/yum. repos.d/local.repo

    在这里插入图片描述
    至此,PXE批量装机整个流程已经完美落幕

    总结

    1.安装PXE需要 3个服务 :TFTP、DHCP、FTP

    2.修改TFTP和DHCP的配置文件

    3.准备2个文件,1个程序:

    Linux内核 vmlinuz 和 初始化镜像文件 initrd.img

    PXE 引导程序
    yum -y install syslinux
    cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

    4.配置启动菜单文件

    mkdir /var/lib/tftpboot/pxelinux.cfg

    vim /var/lib/tftpboot/pxelinux.cfg/default

    展开全文
  • cobbler一、cobbler简介二、cobbler服务端部署 一、cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。...
  • Linux批量装机PXE+Kickstart

    千次阅读 2022-03-24 14:18:15
    文章目录一、什么是PXE二、图解PXE装机过程三、实验 一、什么是PXE PXE,全称 Preboot eXecution Environment,预启动执行环境。 PXE是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络...
  • Linux系统配置(PXE批量装机

    千次阅读 多人点赞 2022-02-19 19:53:27
    一、批量安装 1、安装需要的服务 2、配置tftp和dhcp 3、挂载并把所需文件复制到tftp目录 4、设置安装参数 5、启动服务 二、无人值守全自动化安装 1、在批量安装的基础上操作 2、修改安装方式为自动化安装 3...
  • 一、系统批量部署概述与原理 为了应对大规模或多数量装机Windows推出了WDS服务可以为多台物理机装机,如果配合MDT更是可以实现自动部署镜像、自动分区、自动设置时区、语言等。 原理: 物理机开机选择网卡启动后会...
  • PXE批量装机详细教程

    2021-10-19 17:55:47
    目录 一、PXE定义及条件 二、实验过程详解 三、搭建PXE远程安装服务器 1.添加双网卡,把第二网卡设为仅主机模式 2.虚拟机中设置第二网卡配置 ...3.安装dhcp并修改配置文件 ...6.创建一个虚拟机,不安装系统,充当客户...
  • Cobbler批量装机

    2021-10-12 16:43:00
    1 Cobbler简介 Cobbler是一个免费开源系统安装部署软件,用于自动化网络安装操作系统。Cobbler 集成了 DNS, DHCP, 软件包更新,带外管理以及配置管理,方便操作系统安装自动化。Cobbler 可以支持PXE启动, 操作系统...
  • 详述PXE批量装机环境

    2019-08-04 17:03:21
    部署PXE批量装机环境 DHCP概述及原理 • Dynamic Host Configuration Protocol – 动态主机配置协议,由 IETF(Internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理 • 主要分配以下入网参数 – IP地址/...
  • cobble-安装原理 2021年10月21日 18:10 一、cobbler简介 上一节中的pxe+kickstart已经可以解决网络批量装机的问题了,但是环境配置过于复杂,而且仅针对某一个 版本的操作系统进批量安装则无法满足目前复杂环境的...
  • 书接 “Windows批量装机平台搭建(一)之环境部署” 完成了基础环境部署,接下来安装配置WDS(批量部署服务);WDS主要提供了镜像批量导入,批量加载启动镜像。 一、WDS(批量部署服务)安装 1)打开服务管理器,...
  • pxe批量装机

    2019-09-30 11:13:03
    pxe批量装机 1.关闭防火墙 关闭安全机制 2.安装ftp服务 umount /dev/sr0 mount /dev/sr0 /media 创建yum仓库 yum clean all yum makecache yum -y install vsftpd mkdir /var/ftp/centos7 cp -ar /...
  • 批量装机

    2018-11-08 21:06:29
    预启动执行环境(Preboot Execution Environment,pxe)的配置 pxe的使用前提: 客户端的网卡必须要支持pxe功能,并且开机选择从网卡启动,进入pxe程序 pxe服务器必须至少含有dhcp以及tftp服务 ...
  • 网络自动化装机(批量装机

    千次阅读 2019-09-14 20:09:15
    想要实现网络自动化装机需要配置DHCP,TFTP,HTTP(或者FTP,NFS)这几个服务。 DHCP:主要为每个还没有操作系统的主机分配ip地址。 TFPT:主要为主机传输一些启动的引导文件。因为在这时主机还没有操作系统,因此不...
  • 今天给大家带来台式机怎样让进行硬盘对拷(快速批量装机),台式机让进行硬盘对拷(快速批量装机)的方法,让您轻松解决问题。硬盘对拷适用于台式机,因为要把硬盘拆下来两个硬盘连在一起放在一起,在实验室可以使用,...
  • 可能是最简单的PXE批量装机方案

    千次阅读 2021-08-13 06:23:13
    PXE(Preboot eXecution Environment,预启动执行环境),提供了一种使用网络接口启动电脑的...目前PXE广泛应用于企业电脑系统的批量安装,网吧无盘系统等。PXE装系统本质上和U盘装系统没有区别,U盘装系统将镜像存于U...
  • · 批量装机环境 · 配置PXE引导 · kickstart自动应答 · Cobbler装机平台 构建DHCP服务器 · Dynamic Host Configuration Protocol 动态主机配置协议,由IETF(Internet 网络工程师任务小组)组织制定,用来简化...
  • 1.4PXE装机设置基础软件仓库问题:最重要的是将inst.stage2换成inst.repo 二、PXE定义及条件 三、搭建基本服务 3.1 搭建DHCP服务 3.2 搭建TFTP服务 3.2.1 获取pxelinux.0系统 最重要的是将inst.stage2换成inst....
  • 1.PXE简介 优点:规模化:同时装配多台服务器 自动化:安装系统,配置各种服务 远程实现:不需要U盘、光盘等安装介质 2.PXE配置及服务 2.1 PXE服务环境依赖服务程序汇总 DHCP(为客户机自动分配IP地址,定位引导程序)...
  • 接上一篇“Windows批量装机平台搭建(二)之WDS配置” 完成了安装配置WDS(批量部署服务);实现了镜像批量导入,批量加载启动镜像,本篇进行MDT的安装及基础配置。 一、安装MDT工具包 》工具包下载链接: MDT安装包...
  • server 12 R2批量装机.rar

    2019-11-08 14:13:49
    自己总结的server 12R2的批量装机的文档,另外还包含一下自己下载的文档。
  • PEX批量装机原理与部署

    千次阅读 2021-12-01 16:45:07
    pxe装机原理及部署
  • PXE批量装机配置

    2022-01-13 13:02:10

空空如也

空空如也

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

批量装机