无人值班守护介绍与机关计划批量装置,运行自动化之系统装置

By admin in 美高梅手机版4858 on 2019年4月4日

 

  • DHCP服务
  • DHCP实现
  • PXE(Preboot Excution Environment) 预运行实施环境
  • Cobbler

Cobbler 介绍

  • 立即网络安装linux操作系统的劳务,匡助广大的Linux版本,也帮忙网络安装windows系统
  • PXE的2回封装,将三种安装参数封装到1个食谱
  • 它是由Python编写的
  • 还是能用CLI和WEB来保管

1 概述

环境准备

  • 准备两台主机,如centos陆和centos7
  • centos7当作server服务器
  • 关闭selinux
  • 闭馆防火墙

一、DHCP服务

  • DHCP (Dynamic Host Configuration Protocol)
    动态主机配置协议,是壹种局域网球组织议,属于UDP协议

  • 行使:为局域网内的主机分配ip地址,同时也视作内网的管理手段

  • 应用景况:自动化安装系统,化解ipv四地址不足的题材

  • DHCP报文:共有三种报文

    • DHCP DISCOVE昂Cora:客户端到服务器
    • DHCP OFFE途观 :服务器到客户端
    • DHCP REQUEST:客户端到服务器
    • DHCP ACK :服务器到客户端
    • DHCP NAK:服务器到客户端,文告用户不也许分合营适的IP地址
    • DHCP DECLINE :客户端到服务器,提醒地址已被选用
    • DHCP RELEASE:客户端到服务器,放任互连网地址和撤回剩余的租约时间
    • DHCP
      INFO昂科威M:客户端到服务器,客户端假使供给从DHCP服务器端获取更为详细的布置新闻,则发送Inform报文向服务器举行请求,极少用到
  • 续租:

    • 五成 :租售时间达到四分之二时续租,向DHCP服务器发送新的DHCP
      REQUEST请求。若是dhcp服务未有拒绝的理由,则回答DHCP
      ACK音信。当DHCP客户端收到该应答音信后,就再度初阶新的租用周期
    • 8七.5%:借使此前DHCP
      Server未有回应续租请求,等到租约期的7/八时,主机会再发送2遍播放请求

*DHCP服务必须根据本地,

  • DHCP服务器一般的话应该与供给DHCP服务的客户端处于同三个网段中

  • 那是因为DHCP服务进度基于广播,而广播只可以在同三个网段内传递

  • 福寿齐天跨网段的DHCP服务

    • 亟需在客户机网段钦定一台代理(dhcrelay:中继)负责客户机与另2个网段的DHCP服务器的通讯,达成IP地址的分红
    • 切合EscortFC 154二 Compliant Routers标准的路由器能够一直促成联网的效应

Cobbler 配置目录表明

安装:yum install
cobbler

布局文件目录
/etc/cobbler

style=”font-size: large; font-family: 行书;”>/etc/cobbler/settings :
cobbler 主配置文件

/etc/cobbler/iso/:
iso模板配置文件

/etc/cobbler/pxe:
pxe模板文件

/etc/cobbler/power:
电源配置文件

style=”font-size: large; font-family: 大篆;”>/etc/cobbler/user.conf:
web服务授权配置文件

style=”font-size: large; font-family: 陶文;”>/etc/cobbler/users.digest:
web访问的用户名密码配置文件

style=”font-size: large; font-family: 黑体;”>/etc/cobbler/dhcp.template
: dhcp服务器的的安插末班

style=”font-size: large; font-family: 石籀文;”>/etc/cobbler/dnsmasq.template
: dns服务器的布置模板

style=”font-size: large; font-family: 大篆;”>/etc/cobbler/tftpd.template
: tftp服务的配备模板

style=”font-size: large; font-family: 小篆;”>/etc/cobbler/modules.conf
: 模块的布局文件

本文上将介绍基于PXE和cobbler两种格局的自动化安装。二种方法完结的职能是1模一样的,然则cobbler是PXE的贰次封装,在行使上进一步有利,集成多个软件进行落到实处。关于自动化安装中的相关概念和ks文件等的介绍,详见博客:http://www.linuxidc.com/Linux/2017-10/147225.htm

安装

cobbler包光盘里是从未有过的,要配置epel源,这里就说怎么布局epel源了,在yum.repos.d/目录下按图索骥就可,配置好后执行如下命令安装

yum install –y cobbler
#
#

 

设置成功后,我们发现它还安装了其它的劳务

美高梅手机版4858 1

备注:大家搭建cobbler-系统布置需求接纳httpd、tftp-server、dhcp服务,从图上得以见见它并未有安装dhcp服务,所以大家要安装下dhcp服务

yum install –y dhcp
#
#

二、DHCP实现

  • Linux DHCP协议的落到实处程序:dhcp, dnsmasq(包蕴dhcp, dns成效)

  • 端口:
    dhcp_server: 67/udp
    dhcp_client: 68/udp

  • 配备DHCP服务器端

    • DHCP服务的布局文件位于:/etc/dhcp/dhcpd.conf,打开文件后如下图:

    美高梅手机版4858 2

    • 提示模板文件/usr/share/doc/dhcp*/dhcpd.conf.sample和扶植参考位置:man
      五 dhcpd.conf

    • 直白赋值模板文件覆盖配置文件,在模板基础上修改配置
      cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

    美高梅手机版4858 3

    • 修改配置文件:vim /etc/dhcp/dhcpd.conf
      大旨配置内容涵盖在subnet条目中,那里的安排属于全局配置
      主旨格式如下:

    subnet SUBNET_IP netmask NETMASK_IP {
      range START_IP END_START;
      其余设置项
    }
    
    • 比如:DHCP服务器本机IP为1玖二.16⑧.136.22九,子网掩码:225.2贰五.2二伍.0,分配的地址库范围:1玖二.16八.13陆.拾-19二.16八.13陆.30,则配备文件格式如下:

    subnet 192.168.136.0 netmask 225.225.225.0 {
      range 192.168.136.10 192.136.136.30
    }
    

    美高梅手机版4858 4

    • 布署好后,运行dhcp服务service dhcpd start,在另壹台同网段主机上得以观看被分配的ip地址,从1玖贰.16八.13六.10/二四起来分配

    美高梅手机版4858 5

    • 能够查看/var/lib/dhcpd/dhcpd.leases文件内容,查询DHCP服务器地址分配记录

    美高梅手机版4858 6

  • 任何配置选项:
    filename:指明指导文件名称(用于互连网安装系统)
    next-server:提供携带文件的服务器IP地址(用于网络安装系统)

  • 自我批评安排文件语法
    service dhcpd configtest

  • DHCP客户端(dhclient)
    电动得到的IP音讯文件:/var/lib/dhclient目录下,能够看来被分配的地方、DHCP服务器、分配的租期时间等音讯

美高梅手机版4858 7

cobbler 目录介绍

数码目录:

style=”font-size: large; font-family: 黑体;”>/var/lib/cobbler/config/:
用于存放distros,system,profiles 等新闻配置文件
/var/lib/cobbler/triggers/: 用于存放用户定义的cobbler命令
/var/lib/cobbler/kickstart/: 暗中同意存放kickstart文件
/var/lib/cobbler/loaders/: 存放各类指引程序

镜像目录:

style=”font-size: large; font-family: 宋体;”>/var/www/cobbler/ks_mirror/:
导入的发行版系统的享有数据
/var/www/cobbler/images/ :
导入发行版的kernel和initrd镜像用于远程网络运行
/var/www/cobbler/repo_mirror/: yum 仓仓库储存款和储蓄目录

日记目录:

style=”font-size: large; font-family: 大篆;”>/var/log/cobbler/installing:
客户端安装日志
/var/log/cobbler/cobbler.log : cobbler日志

本文是对地点自动化安装系统的壮大。同时,本文在文书档案后部附上了关于自动化安装PXE系统环境的本子。

敞开服务

三、PXE(Preboot Excution Environment) 预运行实施环境

cobbler 命令介绍

cobbler check
核查当前设置是还是不是有毛病

cobbler list
列出具有的cobbler成分

cobbler report
列出成分的详细音讯

cobbler sync
同步安排到数量目录,更改配置最佳都要实施下

cobbler reposync
同步yum仓库

cobbler distro
查看导入的发行版系统新闻

cobbler system
查看添加的连串音讯

cobbler profile
查看配置音信

2 基于PXE 自动化安装

http服务

systemctl start httpd
#开启服务
systemctl enable httpd
#设置开机自启动

(一)简介

  • 依照C/S架构划设想计
  • 帮助远程主机通过网络从远端服务器下载影象,并由此协理通过网络运转操作系统

cobbler 首要的参数

style=”font-size: large; font-family: 钟鼓文;”>/etc/cobbler/settings中至关心器重要的参数设置

style=”font-size: large; font-family: 宋体;”>default_password_crypted:
“$1$gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/”

manage_dhcp:1

manage_tftpd:1

style=”font-size: large; font-family: 宋体;”>pxe_just_once:1

next_server:<
tftp服务器的 IP 地址>

style=”font-size: large; font-family: 小篆;”>server:<cobbler服务器的
IP 地址>

PXE(PrebootExcutionEnvironment)预运行执行环境,速龙公司研究开发基于Client/Server的互联网方式,帮忙远程主机通过互联网从远端服务器下载印象,并经过接济通过互联网运行操作系统PXE可以指引和安装Windows,linux等八种操作系统

tftp-server服务

systemctl start tftp
#开启服务
systemctl enable tftp
#开机自启动

(二)工作原理

  • Client向PXE
    Server上的DHCP发送IP地址请求音讯,DHCP检验Client是或不是合法(主假若检验Client的网卡MAC地址),假使官方则赶回Client的IP地址,同时将起动文件pxelinux.0的职位音讯壹并传递给Client
  • Client向PXE
    Server上的TFTP发送获取pxelinux.0请求音信,TFTP接收到音讯之后再向Client发送pxelinux.0大小新闻,试探Client是不是满足,当TFTP收到Client发回的允许大小信息之后,正式向Client发送pxelinux.0
  • Client执行接收到的pxelinux.0文件
  • Client向TFTP Server发送针对本机的布局新闻文件(在TFTP
    服务的pxelinux.cfg目录下),TFTP将安插文件发回Client,继而Client依照陈设文件进行后续操作。
  • Client向TFTP发送Linux内核请求音信,TFTP接收到消息随后将基本文件发送给Client
  • Client向TFTP发送根文件请求音讯,TFTP接收到消息随后回到Linux根文件系统
  • Client启动Linux内核
  • Client下载安装源文件,读取自动化安装脚本

cobbler PXE运营错误报告-来自互连网

PXE-E00:Could
not find enough free base memory.

         
PXE主代码和UNDI运转时模块从闪存或高位内部存款和储蓄器拷贝至基本内部存款和储蓄器顶部480K(7八千h)至640K(A0000h)的盈余空间地点,这段内部存款和储蓄器必须被系统BIOS填零,假使那一个内部存款和储蓄器未有填零,PXE
ROM里的重安顿代码将认为这么些内存已经被系统BIOS或任何运转ROM占用了。

PXE-E01:PCI
Vendor and Device IDs do not match!

         
此音讯在成品BIOS中不容许现身,当系统BIOS早先化基于PCI的ROM时,它将若是PCI总线/设备/模块(Bus/Device/Function)值已在AX寄存器里经过查对,假使AX寄存器里定义的PCI设备不匹配UNDI设备,将面世此错误代码。

PXE-E04:Error
reading PCI configuration space

         
尽管别的PCI
BIOS调用导致PCI设置空间重临错误代码,此音讯将应运而生,此音讯将不会在成品BIOS和硬件上出现。

PXE-E05:EEPROM
checksum error

         
若是网卡EEPROM内容被破坏,将现出此音信。EEPROM内容的磨损平时产生在正在对网卡EEPROM进行编程时系统突然复位(Reset)或掉电的气象下,如若出现此音信,PXE
ROM将不进行携带。

PXE-E06:Option
ROM requires DDIM support

         
此消息将不会在成品BIOS中冒出,PCI可选ROM平时必须被设置为DDIM可选ROM(平常必须被安置在读/写上位内部存款和储蓄器中)

PXE-E07:PCI
BIOS calls not supported

         
此音讯将不会在成品BIOS中冒出,PCI BIOS必须有PCI BIOS服务。

PXE-E08:Unexpected
API error.API:xxxxh Status:xxxxh

          若是PXE
API重回叁个周转时加载器(Runtime
Loader)预料之外的景况代码,将出现此新闻

PXE-E09:Unexpected
UNDI loader error.Status:xxxxh

         
假若UNDI运维时加载器(Runtime
Loader)重返预料之外的事态代码,将现出此消息

PXE互连网自动化安装:通过搭建网络yum源(http,ftp,nfs③者选一),tftp服务器,dhcp服务器,原理是,通过dhcp服务器,使得机器开动的时候,获取到相关的ip,在dhcp里钦命了next-server,该next-server就是tftp服务器的ip,那样,机器获取到ip后,会到钦定的tftp服务器的暗中认可路径/var/lib/tftpboot下去下载相关的公文,首先是加载pxelinux.cfg目录下的default文件,该default文件便是安装机器的食谱选项,在这菜单里,钦赐kickstart文件路径和/var/lib/tftpboot下的initrd.img和vmlinuz的路子,使得必要安装的附和系统能够运维并加载kickstart文件进行安装。在kickstart文件里我们将点名了安装包的路径。

cobbler服务

systemctl start cobblerd
#开启服务
systemctl enable cobblerd
#开机自启动

(三)PXE自动化安装CentOS 7(CentOS7当做HTTP、DHCP、TFTP服务器)

  • (1)安装前准备关门SELinux和防火墙,DHCP服务器设置为静态IP

  • (2)安装相关软件包httpd, tftp-server, dhcp, syslinux

    • httpd服务提供yum源服务,
    • tftp服务器为客户机提供安装系统所需的起步文件、运维菜单、内核文件、伪文件系统
    • dhcp服务器为客户机提供IP地址,并将tftp服务器的地点提须求客户机
    • 启航文件、运营菜单要求安装syslinux软件包后得到
    • 执行命令:yum install httpd tftp-server dhcp syslinux

    美高梅手机版4858 8

  • (3)配置yum源服务

    • 将httpd服务设置为开机自运营:systemctl enable httpd
    • 打开httpd服务:systemctl start httpd
    • 配置yum源1:建立centos7目录mkdir -p /var/www/html/centos/7
    • 配置yum源2:复制centos柒光盘文件内容至centos7目录下,这里将光盘挂载至目录下,效果与前者一样,实际中应该复制至硬盘,保障系统安装执行功能
      mount /dev/sr0 /var/www/html/centos/7

美高梅手机版4858 9

  • (4)准备kickstart文件

    • 预备桌面和最小化安装两份文件,能够依照/root/anaconda-ks.cfg文件修改
      注意:使用system-config-kickstart时,CentOS7环境下只怕出现不能选取软件包的气象,此时内需将yum源配置文件的第3个源配置音信的源标识符改名叫”development”,即可符合规律采取软件包

    美高梅手机版4858 10

    • 准备的kickstart文件:ks7.cfg为桌面安装使用,ks7-mini为最小化安装使用
      mkdir /var/www/html/ksdir 建立kickstart文件目录
      cp /root/anaconda-ks.cfg /var/www/html/ksdir/ks7.cfg
      复制模板
      cp /root/anaconda-ks.cfg /var/www/html/ksdir/ks7-mini.cfg
      复制模板

    • 两份kickstart文件示例如下:

    vim /var/www/html/ksdir/ks7.cfg
    #platform=x86, AMD64, or 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=us --xlayouts='us'
    # Root password
    rootpw --iscrypted $1$B2Ve3zbv$S2d5TSE.8Iwbo4o3BoRxM1
    # Use network installation
    url --url="http://192.168.136.230/centos/7"
    # System language
    lang en_US
    user --name=hellopeiyang --password=$6$vFs7gFIqwNrxjVEx$UwrqEc4BanhssQpLa./g/ySepGSRLNll65NvI/PSJuavDVQJvVXukrUmHPHDX7tVyWb4uXlyEXBTYmVD0KxLK/ --iscrypted
    # Firewall configuration
    firewall --disabled
    # System authorization information
    auth  --useshadow  --passalgo=sha512
    # Use text mode install
    text
    # Run the Setup Agent on first boot
    firstboot --enable
    # SELinux configuration
    selinux --disabled
    # System services
    services --disabled="chronyd"
    ignoredisk --only-use=sda
    # Network information
    network  --bootproto=dhcp --device=ens33 --onboot=on
    # Reboot after installation
    reboot
    # System timezone
    timezone Asia/Shanghai --nontp
    # System bootloader configuration
    bootloader --append="crashkernel=auto" --location=mbr --boot-drive=sda
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all
    # Disk partitioning information
    part /app --fstype="xfs" --ondisk=sda --size=51200
    part / --fstype="xfs" --ondisk=sda --size=51200
    part swap --fstype="swap" --ondisk=sda --size=2048
    part /boot --fstype="xfs" --ondisk=sda --size=1024
    
    %post
    systemctl enable autofs
    rm -rf /etc/yum.repos.d/*
    cat > /etc/yum.repos.d/base.repo <<eof
    [base]
    name=base
    baseurl=file:///misc/cd
    gpgcheck=0
    eof
    %end
    
    %packages
    @^graphical-server-environment
    @base
    @core
    @desktop-debugging
    @dial-up
    @fonts
    @gnome-desktop
    @guest-agents
    @guest-desktop-agents
    @hardware-monitoring
    @input-methods
    @internet-browser
    @multimedia
    @print-client
    @x11
    wodim
    autofs
    %end
    
    vim /var/www/html/ksdir/ks7-mini.cfg
    #platform=x86, AMD64, or Intel EM64T
    #version=DEVEL
    # Install OS instead of upgrade
    install
    # Keyboard layouts
    # old format: keyboard us
    # new format:
    keyboard --vckeymap=us --xlayouts='us'
    # Root password
    rootpw --iscrypted $1$C8HufR6L$JuAxRzQnv7dGxVw.xDNLc0
    # Use network installation
    url --url="http://192.168.136.230/centos/7"
    # System language
    lang en_US
    user --name=hellopeiyang --password=$6$hbPuvZcl0TRrYyFG$Vb0pNhuS/uBLMpq6nbDzruRtZr0K1qGmCey6.PL3dyKA.iUvZds4JRgQ8LpzTJ.6STbuFD2Tu5xgXt68KIjrc/ --iscrypted 
    --gecos="hellopeiyang"
    # Firewall configuration
    firewall --disabled
    # System authorization information
    auth  --useshadow  --passalgo=sha512
    # Use text mode install
    text
    # Run the Setup Agent on first boot
    firstboot --enable
    # SELinux configuration
    selinux --disabled
    
    # System services
    services --disabled="chronyd"
    ignoredisk --only-use=sda
    # Network information
    network  --bootproto=dhcp --device=ens33 --onboot=on
    # Reboot after installation
    reboot
    # System timezone
    timezone Asia/Shanghai --nontp
    # System bootloader configuration
    bootloader --append="crashkernel=auto" --location=mbr --boot-drive=sda
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all
    # Disk partitioning information
    part /app --fstype="xfs" --ondisk=sda --size=51200
    part / --fstype="xfs" --ondisk=sda --size=51200
    part swap --fstype="swap" --ondisk=sda --size=2048
    part /boot --fstype="xfs" --ondisk=sda --size=1024
    
    %post
    systemctl enable autofs
    rm -rf /etc/yum.repos.d/*
    cat > /etc/yum.repos.d/base.repo <<eof
    [base]
    name=base
    baseurl=file:///misc/cd
    gpgcheck=0
    eof
    %end
    
    %packages
    @^minimal
    @core
    autofs
    %end
    
    • kickstart文件的权限只怕不适用,为文件的兼具用户扩大读权限
      chmod +r /var/www/html/ksdir/{rs7.cfg,rs7-mini.cfg}

    美高梅手机版4858 11

  • (5)配置TFTP服务

    • 安装tftp服务开机自运维:systemctl enable tftp.socket
    • 开启tftp服务:systemctl start tftp.socket

    美高梅手机版4858 12

  • (6)配置DHCP服务

    • 复制dhcp配置模板文件
      cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

    • 编辑/etc/dhcp/dhcpd.conf文件,subnet字段修改后如下:

    subnet 192.168.136.0 netmask 255.255.255.0 {
            range 192.168.136.10    192.168.136.30;
            next-server 192.168.136.230;
            filename "pxelinux.0";
    }
    
    • 将dhcp服务设置为自运维:systemctl enable dhcpd
    • 启动dhcp服务:systemctl start dhcpd

    美高梅手机版4858 13

  • (7)准备PXE相关文件

    • 建立PXE运营配置文件存放目录:mkdir /var/lib/tftpboot/pxelinux.cfg
    • 复制运转相关文件:
      cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
    • 复制内核, initrd文件:
      cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
    • 复制运维项设置文件(必须重命名字为default):
      cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    美高梅手机版4858 14

    • 文件目录结构如下:

    美高梅手机版4858 15

  • (八)修改运营菜单文件

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

default menu.c32     //启动菜单风格
timeout 600 

menu title CentOS Linux 7 PXE Install

label desktop     //桌面自动安装 
  menu label Install CentOS Linux 7 ^Desktop
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.136.230/ksdir/ks7.cfg

label mini     //最小化自动安装
  menu label Install CentOS Linux 7 M^ini
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.136.230/ksdir/ks7-mini.cfg

label manual     //手动安装
  menu label Install CentOS Linux 7 ^Manual
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://192.168.136.230/centos/7

label local     //本地硬盘启动
  menu default
  menu label Boot from ^local drive
  localboot 0xffff
menu end 
  • (九)从网卡运维主机,正确进入PXE安装的运行项

    美高梅手机版4858 16

A奥德赛P错误代码

PXE-E11:ARP
timeout PXE ROM

         
将重试7回A揽胜极光P请求,假诺不只怕得到此外有效的ARAV四P答复,将出现此新闻,此音信一般来自一些互连网和劳动设置错误,平日的原故有:

                 
一.在DHCP主服务器上安装了DHCP类标识符(Option
60)却在另一台服务器上安装了ProxyDHCP服务。

                 
2.行使了不响应AQX56P请求的路由器

PXE工作原理

cobbler环境检查

执行

cobbler check
#

会油不过生如下提醒,配置不够的事物

1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : 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.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

OK
依照提醒一步一步来消除

 

(四)PXE自动化安装CentOS 陆 (CentOS 6作为FTP、DHCP、TFTP服务器)

  • (一)安装前准备:关闭SELinux和防火墙,DHCP服务器设置为静态IP

  • (2)安装相关软件包vsftpd, tftp-server, dhcp, syslinux

    • 安装软件包:yum install vsftpd tftp-server dhcp syslinux
  • (3)配置yum源服务

    • 建立centos6目录:mkdir -p /var/ftp/pub/centos/6
    • 配置yum源:mount /dev/sr0 /var/ftp/pub/centos/6
    • 安装vsftpd服务为自运行:chkconfig vsftpd on
    • 启动vsftpd服务:service vsftpd start

    美高梅手机版4858 17

  • (4)准备kickstart文件

    • 与机动安装CentOS7一般,准备桌面和最小化安装两份文件

    • ks6.cfg为桌面安装使用,ks7-mini为最小化安装使用
      mkdir /var/ftp/pub/ksdir 建立kickstart文件目录
      cp /root/ananconda-ks.cfg /var/ftp/pub/ksdir/ks6.cfg
      复制模板
      cp /root/ananconda-ks.cfg /var/ftp/pub/ksdir/ks6-mini.cfg
      复制模板

    • 两份kickstart文件示例如下:

    vim /var/ftp/pub/ksdir/ks6.cfg
    
    #platform=x86, AMD64, or Intel EM64T
    #version=DEVEL
    # Firewall configuration
    firewall --disabled
    # Install OS instead of upgrade
    install
    # Use network installation
    url --url="ftp://192.168.136.229/pub/centos/6"
    #repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
    # Root password
    rootpw --iscrypted $1$QmHn/VZt$YE/c30khjQ1i1hSHeMN8h/
    # 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
    # Reboot after installation
    reboot
    # System timezone
    timezone  Asia/Shanghai
    # Network information
    network  --bootproto=dhcp --device=eth0 --onboot=on
    # System bootloader configuration
    bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all
    # Disk partitioning information
    part /boot --fstype="ext4" --size=1000
    part / --fstype="ext4" --size=50000
    part swap --fstype="swap" --size=2000
    part /app --fstype="ext4" --size=20000
    
    %post
    rm -rf /etc/yum.repos.d/*
    cat > /etc/yum.repos.d/base.repo <<eof
    [base]
    name=base
    baseurl=file:///misc/cd
    gpgcheck=0
    eof
    %end
    
    %packages
    @base
    @basic-desktop
    @core
    @debugging
    @desktop-debugging
    @desktop-platform
    @directory-client
    @fonts
    @general-desktop
    @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
    @x11
    abrt-gui
    certmonger
    device-mapper-persistent-data
    genisoimage
    krb5-workstation
    libXmu
    mtools
    oddjob
    pam_krb5
    pax
    python-dmidecode
    samba-winbind
    sgpio
    wodim
    %end
    
    vim /var/ftp/pub/ksdir/ks6-mini.cfg
    
    #platform=x86, AMD64, or Intel EM64T
    #version=DEVEL
    # Firewall configuration
    firewall --disabled
    # Install OS instead of upgrade
    install
    # Use network installation
    url --url="ftp://192.168.136.229/pub/centos/6"
    # Root password
    rootpw --iscrypted $1$H3QsWt7L$uezUXA.OuYFONmwP027tS.
    # 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
    # Reboot after installation
    reboot
    # System timezone
    timezone  Asia/Shanghai
    # Network information
    network  --bootproto=dhcp --device=eth0 --onboot=on
    # System bootloader configuration
    bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all
    # Disk partitioning information
    part /boot --fstype="ext4" --size=1000
    part / --fstype="ext4" --size=50000
    part swap --fstype="swap" --size=2000
    part /app --fstype="ext4" --size=20000
    
    %post
    rm -rf /etc/yum.repos.d/*
    cat > /etc/yum.repos.d/base.repo <<eof
    [base]
    name=base
    baseurl=file:///misc/cd
    gpgcheck=0
    eof
    %end
    
    %packages
    @core
    @server-policy
    @workstation-policy
    autofs
    %end
    
    • kickstart文件的权柄可能不体面,统一扩张写权限
      chmod +r /var/ftp/pub/ksdir/*

    美高梅手机版4858 18

  • (5)配置TFTP服务

    • 启动tftp服务:

    chkconfig tftp on     //tftp服务自启动
    service xinetd restart     //xinetd服务重启服务,为tftp服务监听端口
    

    美高梅手机版4858 19

  • (6)配置DHCP服务

    • 复制dhcp配置模板文件
      cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

    • 编辑/etc/dhcp/dhcpd.conf文件,subnet字段修改后入下:

subnet 192.168.136.0 netmask 255.255.255.0 {
        range 192.168.136.10    192.168.136.30;
        next-server 192.168.136.229;
        filename "pxelinux.0";
}
  • dhcpd服务自运营:chkconfig dhcpd on
  • 启动dhcp服务:service dhcpd start

美高梅手机版4858 20

  • (柒)准备PXE相关文件

    • 树立PXE运转配置文件存放目录:mkdir /var/lib/tftpboot/pxelinux.cfg
    • 复制运维相关文件:cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot
    • 复制内核,initrd文件:
      cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
    • 复制运维项设置文件(必须重命名字为default):
      cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    美高梅手机版4858 21

    • 文件目录结构如下:

美高梅手机版4858 22

  • (八)修改运行菜单文件

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

default menu.c32
timeout 600 

menu title CentOS Linux 6 PXE Install

label desktop 
  menu label Install CentOS Linux 6 ^Desktop
  kernel vmlinuz
  append initrd=initrd.img ks=ftp://192.168.136.229/pub/ksdir/ks6.cfg

label mini
  menu label Install CentOS Linux 6 M^ini
  kernel vmlinuz
  append initrd=initrd.img ks=ftp://192.168.136.229/pub/ksdir/ks6-mini.cfg

label manual
  menu label Install CentOS Linux 6 ^Manual
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.136.229/pub/centos/6

label local
  menu default
  menu label Boot from ^local drive
 localboot 0xfffmenu end 
menu end 
  • (玖)从网卡运维主机,正确进入PXE安装的运维项

美高梅手机版4858 23

BIOS和BIS错误代码

PXE-E20:BIOS
extended memory copy error.AH==nn

         
假若BIOS扩张内部存款和储蓄器拷贝服务重临二个错误新闻,此音讯将面世,在成品BIOS大校不会境遇此音讯,代码”nn”为BIOS扩大内部存款和储蓄器拷贝服务(Int
一⑤h,AH=八七h)再次来到的错误代码。

PXE-E21:BIS
integrity check failed

         
借使在扩大内部存储器中的BIS印象损坏,则将展示此音信

PXE-E22:BIS
image/credential validation failed

         
下载的印象和证件不匹配客户端关键字

PXE-E23:BIS
initialization failed BIS

         
不能够被早先化,未有越多可用数据

PXE-E24:BIS
shutdown failed BIS

         
不可能结束,未有越多可用数据

PXE-E25:BIS
get boot object authorization check flag failed–2

         
PXE运维芯片出错代码表无法检查评定BIS已启用/已禁止使用

PXE-E26:BIS
free memory failed

         
不可能释放BIS分配内部存款和储蓄器

PXE-E27:BIS
get signature information failed

         
请求BIS证书类型音讯不能够被鲜明。

PXE-E28:BIS
bad entry structure checksum SM BIOS

         
表中的BIS入口结构无效。

如下图

步骤一

一、第贰个提示:在/etc/cobbler/settings
文件中server字段必供给有叁个别人可访问的IP地址,来提供互连网服务,那么大家是在centos7上搭建的之所以是本机地址。

壹编辑配置文件

vim etc/cobbler/settings 
#编辑配置文件

美高梅手机版4858 24

贰刷新配置文件并环境检查

systemctl restart cobblerd
#重启服务,重新读取修改的配置文件
cobbler check
#环境检查

(5)PXE自动化安装CentOS 陆 和CentOS 7(CentOS 七作为HTTP、DHCP、TFTP服务器)

  • (一)安装前准备:关闭SELinux和防火墙,DHCP服务器设置为静态IP

  • (二)安装相关软件包httpd, dhcp, tftp-server, syslinux
    yum install httpd dhcp tftp-server syslinux

  • (3)配置CentOS 6和CentOS 7的源

    • 将httpd服务设置为自运转:systemctl enable httpd
    • 打开httpd服务:systemctl start httpd

    美高梅手机版4858 25

  • 配置centos 7的yum源:
    mkdir -p /var/www/html/centos/6
    mount /dev/sr1 /var/www/html/centos/6
    mkdir -p /var/www/html/centos/7
    mount /dev/sr0 /var/www/html/centos/7

    美高梅手机版4858 26

  • (4)准备kickstart文件
    • 调动方面四个实验中的kickstart文件,分别为ks柒.cfg, ks7-mini.cfg,
      ks陆.cfg,
      ks6-mini.cfg。主要调整的是长途安装路径,即usl --url=字段后边的装置
    • 将kickstart文件复制到内定目录:
      mkdir -p /var/www/html/ksdir/{6,7}
      vim /var/www/html/ksdir/6/ks6.cfg
      vim /var/www/html/ksdir/6/ks6-mini.cfg
      vim /var/www/html/ksdir/7/ks7.cfg
      vim /var/www/html/ksdir/7/ks7-mini.cfg

*(5)配置TFTP服务:

  • 设置tftp服务开机自运维:systemctl enable tftp.socket

  • 开启tftp服务:systemctl start tftp.socket

  • (6)配置DHCP服务

    • 复制dhcp配置模板文件
      cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    • 编辑/etc/dhcp/dhcpd.conf文件,subnet字段修改后如下:

    subnet 192.168.136.0 netmask 255.255.255.0 {
            range 192.168.136.10    192.168.136.30;
            next-server 192.168.136.230;
            filename "pxelinux.0";
    }
    
    • 将dhcp服务设置为自运维:systemctl enable dhcpd
    • 启动dhcp服务:systemctl start dhcpd
  • (七)准备PXE相关文件

    • 确立PXE运维配置文件存放目录:mkdir /var/lib/tftpboot/pxelinux.cfg
    • 各自创建存放CentOS6和柒的基础相关文件的目录:
      mkdir -p /var/lib/tftpboot/centos/6
      mkdir -p /var/lib/tftpboot/centos/7
    • 复制运行有关文书:cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot
    • 独家复制CentOS 陆和7的根本与initrd文件至不一致的目录:
      cp /var/www/html/centos/6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos/6
      cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos/7
    • 复制运维项设置文件(必须重命名称为default)
      cp /var/www/html/centos/7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    • 文件目录结构如下:

    美高梅手机版4858 27

  • (8)修改运行菜单文件:
    留意CentOS陆和CentOS7系统基本相关文件的例外途径要求相应修改配置文件的装置

default menu.c32
timeout 600

menu title CentOS Linux PXE Install

label desktop 7
  menu label Install CentOS Linux 7 ^Desktop
  kernel centos/7/vmlinuz
  append initrd=centos/7/initrd.img ks=http://192.168.136.230/ksdir/7/ks7.cfg

label desktop 6
  menu label Install CentOS Linux 6 D^esktop
  kernel centos/6/vmlinuz
  append initrd=centos/6/initrd.img ks=http://192.168.136.230/ksdir/6/ks6.cfg

label mini 7 
  menu label Install CentOS Linux 7 M^ini
  kernel centos/7/vmlinuz
  append initrd=centos/7/initrd.img ks=http://192.168.136.230/ksdir/7/ks7-mini.cfg

label mini 6
  menu label Install CentOS Linux 6 Mi^ni
  kernel centos/6/vmlinuz
  append initrd=centos/6/initrd.img ks=http://192.168.136.230/ksdir/6/ks6-mini.cfg

label manual 7
  menu label Install CentOS Linux 7 ^Manual
  kernel centos/7/vmlinuz
  append initrd=centos/7/initrd.img inst.repo=http://192.168.136.230/centos/7


label manual 6
  menu label Install CentOS Linux 6 M^anual
  kernel centos/6/vmlinuz
  append initrd=centos/6/initrd.img inst.repo=http://192.168.136.230/centos/6

label local
  menu default
  menu label Boot from ^local drive
  localboot 0xffff
menu end
  • (九)从网卡运维主机,正确进入PXE安装的运维项

美高梅手机版4858 28

可以而且设置CentOS陆 和CentOS 七

美高梅手机版4858 29

美高梅手机版4858 30

TFTP/MTFTP错误代码

PXE-E32:TFTP
open timeout TFTP”Open”

         
请求未有回应,验证TFTP服务是不是正在运行。

PXE-E35:TFTP
read timeout

         
未收取下八个TFTP数据包

PXE-E36:Error
received from TFTP server

         
从TFTP服务器上接受了2个指鹿为马的TFTP数据包

PXE-E38:TFTP
cannot open connection

         
当试图送出一个TFTP”Open”包时发出了三个硬件错

PXE-E39:TFTP
cannot read from connection

         
当试图送出1个TFTP应答包时爆发了1个硬件错

PXE-E3A:TFTP
too many packages.

         
此音信意味着发生了下列二种意况中的一个:

               
一.你试图用TFTP下载2个比分配的缓冲区更大的文书

               
二.您作为2个从(Slave)客户端应用MTFTP开端下载1个文件,而当您变成三个主(Master)客户端时,此文件的分寸产生了变动。

PXE-E3B:TFTP
error– File not found

         
请求的公文在TFTP服务器上不能够找到。

PXE-E3C:TFTP
error– Access violation

         
已在TFTP服务器上找到了请求的公文,但TFTP服务未有丰盛的访问权限开启/读取文件。

PXE-E3F:TFTP
packet size is invalid

         
收到的TFTP包大小超越145六bytes BOOTP/DHCP错误代码

PXE-E51:No
DHCP or proxyDHCP offers were received

         
客户端未有接到任何有效的DHCP、BOOTP或proxyDHCP应答。

PXE-E52:proxyDHCP
offers were received.No DHCP offers were received

         
客户端未有收受任何有效的DHCP或BOOTP应答,但客户端收到了足足二个实惠的proxyDHCP应答。

PXE-E53:No
boot filename received

         
客户端收到了足足多个卓有成效的DHCP/BOOTP应答,但一向不运维文件名可下载。

PXE-E55:proxyDHCP
service did not reply to request on port 4011

         
客户端发出3个proxyDHCP请求到DHCP服务器的401一端口并不曾收到回复。

美高梅手机版4858 31

步骤二

#环境检查后发现少了一项,那么下面接着还是从第一项开始操作
1 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
2 : change 'disable' to 'no' in /etc/xinetd.d/tftp
3 : 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.
4 : enable and start rsyncd.service with systemctl
5 : debmirror package is not installed, it will be required to manage debian deployments and repositories
6 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
7 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

如上先是条:’next_server’
地址不应有是12柒.0.0.一

为此修改它的地点,这一个地点也正是您tftp服务器所在的主机地址,大家把服务都安装在一台主机上了,所以和地点地址一样

一编写制定配置文件

vim etc/cobbler/settings 
#编辑配置文件

美高梅手机版4858 32

贰重复步骤一中的二命令来重读配置文件与环境检查

四、cobbler

UNDI错误代码

PXE-E60:Invalid
UNDI API function number

         
二个被着力代码所利用的API在UNDI ROM中不能够执行。

PXE-E61:Media
test failed,check cable

         
网线未有插或从不连接,恐怕是网线坏、网卡坏或延续难题。

PXE-E63:Error
while initializing the NIC

         
起始化网卡硬件时出现谬误,建议换网卡。

PXE-E64:Error
while initializing the PHY

         
试图起初化PHY硬件时出现错误,建议换网卡。

PXE-E65:Error
while reading the configuration data

         
读取网卡设置数据时出现谬误,提出换网卡。

PXE-E66:Error
while reading the initialization data

         
读取网卡开始化数据时出现错误,建议换网卡。

PXE-E67:Invalid
MAC address

         
存款和储蓄在那块网卡中的MAC地址无效,提出换网卡

PXE-E68:Invalid EEPROM checksum

         
EEPROM校验和谬误,EEPROM内容已破坏,提议换网卡

PXE-E69:Error
while setting interrupt

         
不可能安顿硬件中断,指出换网卡。

原理介绍

步骤三

#环境检查后发现又少了一条,下面接这来...
1 : change 'disable' to 'no' in /etc/xinetd.d/tftp
2 : 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.
3 : enable and start rsyncd.service with systemctl
4 : debmirror package is not installed, it will be required to manage debian deployments and repositories
5 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
6 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

如上先是条:提醒更改/etc/xinetd.d/tftp配置文件中’disable’状态改为‘no’说白了也等于敞开tftp服务

因为我们用的是centos7不要求xinetd.d了,前边早已打开了tftp服务,那步忽略,看下1个提拔

无人值班守护介绍与机关计划批量装置,运行自动化之系统装置。其次条:在/var/lib/cobbler/loaders目录下少了有个别少不了的文本,用’cobbler
get-loaders’ 命令来获取,那时候须要主机联网下载

 

我们先来看望那些目录

美高梅手机版4858 33

1生成必需文件

cobbler get-loaders
#
#

美高梅手机版4858 34

小编们精通出现的这一个文件是要放在/var/lib/tftpboot/这里的,我们看下这一个目录的音信

美高梅手机版4858 35

用如上环境检查中提交的提醒实行同步

cobbler sync
#数据同步

 

双重翻开下/var/lib/tftpboot目录结构

美高梅手机版4858 36

 

2重复步骤一中的二命令

#又少了,继续
1 : enable and start rsyncd.service with systemctl
2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
3 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
4 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

(一)cobbler简介

  • 功效:快捷互连网安装Linux系统
  • PXE的3回封装,将多样设置参数封装到2个食谱
  • 购并了PXE、DHCP、rsync、http、DNS、Kickstart、IPMI(电源管理)各个服务
  • 由Python编写
  • 提供CLI和Web管理三种艺术

Bootstrap和Discovery错误代码

PXE-E74:Bad
or missing PXE menu and/or prompt information

         
已检查评定到PXE标识但运转菜单和/或运行命令提醒符标识未察觉/不存在

PXE-E76:Bad
or missing multicast discovery address

         
多播创制已运营但多播创造地址标识不符

PXE-E77:Bad
or missing discovery server list

         
多播和播放创造(Discovery)都被禁止使用,或利用服务器列表启用,但服务器列表标识未发现/不设有

PXE-E78:Could
not locate boot server

         
有效的指点服务器应答未被客户端收到

PXE-E79:NBP is too big to fit in free base
memory

         
NBP太大,超越客户端基本内部存款和储蓄器体积

PXE-E7A:Client
could not locate asecure server

         
当客户端未从起步服务器收到任何安全新闻同时客户端上的BIS已被启用,将显示此音信。

PXE-E7B:Missing
MTFTP server IP address

         
当ROM未收取PXE成立标识或proxyDHCP回应和DHCP
SIADD凯雷德区域被安装为0.0.0.0,将显得此音信。

.Client向PXE
Server上的DHCP发送IP地址请求新闻,DHCP检验Client是还是不是合法(主假如检查评定Client的网卡MAC地址),倘若官方则赶回Client的IP地址,同时将运营文件pxelinux.0的职位音讯1并传递给Client

步骤四

首先条:开启rsyncd.service
服务,大家尚无用那个服务,忽略

其次条:是针对debian发行版的连串布局,忽略

其叁条:修改kickstart文件的默许口令

 

1编写制定配置文件

vim /etc/cobbler/settings
#

美高梅手机版4858 37

贰重复步骤一中的2命令

#少了一条
1 : enable and start rsyncd.service with systemctl
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

 

如上首先、贰方面说了忽略,看第三条,意思说配置电源项,和硬件有关,忽略

 

(贰)cobbler工作流程

  • client裸机配置了从互连网运行后,开机后会广播包请求DHCP服务器(cobbler
    server)发送其分配好的多个IP
  • DHCP服务器(cobbler server)收到请求后发送responese,包罗其ip地址
  • client裸机得到ip后再向cobbler server发送请求OS带领文件的呼吁
  • cobbler server告诉裸机OS指点文件的名字和TFTP server的ip和port
  • client裸机通过地点告知的TFTP server地址通信,下载指引文件
  • client裸机执行实施该指点文件,分明加载消息,接纳要设置的os,时期会再向cobbler
    server请求kickstart文件和os image
  • cobbler server发送请求的kickstart和os iamge
  • client裸机加载kickstart文件
  • client裸机接收os image,安装该os image

未分类错误代码

PXE-EA0:Network
boot canceled by keystroke

         
用户在DHCP/成立/TFTP进度中按了”Esc”或”Ctrl C”键

.Client向PXE
Server上的TFTP发送获取pxelinux.0请求新闻,TFTP接收到新闻随后再向Client发送pxelinux.0大小音信,试探Client是还是不是满足,当TFTP收到Client发回的允许大小音讯之后,正式向Client发送pxelinux.0

步骤五

配置dhcp

一编写制定配置文件

vim /etc/cobbler/settings
#

美高梅手机版4858 38

2改cobbler提供的dhcp配置文件模板

vim /etc/cobbler/dhcp.template
#

美高梅手机版4858 39

咱俩先来看下dhcp配置文件

美高梅手机版4858 40

照旧空的尚未配备消息

 

②同步

systemctl restart cobblerd
#重启服务
cobbler sync
#数据同步

再来看dhcp配置文件

美高梅手机版4858 41

有音讯了

 

(三)cobbler相关术语

  • 发行版:
    表示1个操作系统版本,它承前启后了基本和initrd的消息,以及基础参数等别的数据
  • 陈设文件:
    含有1个发行版、三个kickstart
    文件以及大概的存款和储蓄库,还蕴藏越来越多特定的基石参数等其余数据
  • 系统:
    意味着要配置的主机,它包涵多少个配置文件或二个镜像,还带有IP和MAC地址、电源管理(地址、凭据、类型)以及愈发规范的数额等消息
  • 存储库:
    封存三个yum或rsync存款和储蓄库的镜像音讯
  • 镜像:
    可替换一个涵盖不属于此类其余文书的发行版对象(例如,不可能分为基础和initrd的对象)

基础代码/UNDI Loader错误代码

PXE-EC1:BaseCode
ROM ID structure was not found UNDI

         
指导模块无法窥见基础代码ROM
ID结构。要是系统中有底子代码ROM影象,它恐怕曾经毁损了

PXE-EC3:BaseCode
ROM ID structure is invalid

         
基础代码ROM ID结构有标题,基础代码ROM影像已经磨损了

PXE-EC4:UNDI
ROM ID structure was not found

         
基础代码载入模块不可能在UNDI ROM ID结构中一定

PXE-EC5:UNDI
ROM ID structure is invalid UNDI

         
ROM影象已经磨损了

PXE-EC6:UNDI driver image is invalid UNDI

         
ROM影象已经毁损了

PXE-EC8:!PXE structure was not found in UNDI
driver code segment

          UNDI
ROM影像已经损坏了,或然无法被BIOS载入,此错误音信平日系如下三个或八个原因所致:

                 
一.当即将调用几个LOM影像的时间点,网卡影象正在被编制程序进BIOS

                 
二.在PXE可选ROM开头运转以前,PXE可选ROM载入自检内部存款和储蓄器管理器(POST Memory
Manager,$PMM)分配的内部存款和储蓄器期间被弄坏或删除。

                 
三.在载入ROM结构时期UNDI_Loader结构未被正确载入

PXE-EC9:PXENV structure was not found in UNDI
driver code segment

          UNDI
ROM影象恐怕被破坏了,或未被BIOS载入,此错误音信常常系如下三个原因所致:

                 
一.当即将调用贰个LOM印象的时间点,网卡影像正在被编制程序进BIOS

                 
贰.在PXE可选ROM初阶运行在此以前,PXE可选ROM载入自检内部存款和储蓄器管理器(POST Memory
Manager,$PMM)分配的内存时期被毁掉或删除。

                 
叁.在载入ROM结构期间UNDI_Loader结构未被正确载入。

.Client执行接收到的pxelinux.0文件

步骤六

①开启dhcp服务

systemctl start dhcpd
#开启服务

二手无寸铁cobbler
yum源-导入系统

美高梅手机版4858 42

这里我们也把centos六导入

美高梅手机版4858 43

备考:它是放在了/var/www/目录下,同时生成了2个和连串同名的kickstart文件,

自带的kickstart文件是满意不断大家的供给的,所以大家使用本人的kickstart文件,在此之前生成过,间接拿来用。

(四)cobbler配置文件

  • 配备文件目录:/etc/cobbler
  • /etc/cobbler/settings:cobbler 主配置文件
  • /etc/cobbler/iso/:iso模板配置文件
  • /etc/cobbler/pxe:pxe模板文件
  • /etc/cobbler/power:电源配置文件
  • /etc/cobbler/user.conf:web服务授权配置文件
  • /etc/cobbler/users.digest:web访问的用户名密码配置文件
  • /etc/cobbler/dhcp.template:dhcp服务器的布局模板
  • /etc/cobbler/dnsmasq.template:dns服务器的配置模板
  • /etc/cobbler/tftpd.template:tftp服务的安插模板
  • /etc/cobbler/modules.conf:模块的布署文件

安装

.Client向TFTP
Server发送针对本机的布置音信文件(在TFTP服务的pxelinux.cfg目录下,那是系统菜单文件,格式和isolinux.cfg格式一样,功用也是近乎),TFTP将配备文件发回Client,继而Client依据安插文件进行后续操作。

步骤七

1编辑ks.cfg文件(前几篇涉嫌过怎么开创改文件)

美高梅手机版4858 44

贰把ks.cfg文件放在/var/lib/cobbler/kickstarts/下

美高梅手机版4858 45

叁创制运转菜单

cobbler profile add --name=Centos-7.5-x86_64-Auto --distro=Centos-7.5-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks.cfg
#
cobbler profile add --name=Centos-6.9-x86_64-Auto --distro=Centos-6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks6.cfg
#

美高梅手机版4858 46

4翻看运维文件default是否有了作者们创建的自定义运营项

cat /var/lib/tftpboot/pxelinux.cfg/default
#查看启动菜单

美高梅手机版4858 47

备考:也可去除不要求的开发银行菜单

cobbler profile remove --name=Centos-6.9-x86_64
#

OK现在就足以用准备好的另一台主机测试了

备考:确认保障http tftp dhcp 服务已拉开 防火墙以关闭 selinux以关闭

成功界面

美高梅手机版4858 48

(五)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:导入发行版的kernel和initrd镜像用于远程互联网运行
    /var/www/cobbler/repo_mirror/:yum 仓仓库储存款和储蓄目录
  • 日记目录
    /var/log/cobbler/installing:客户端安装日志
    /var/log/cobbler/cobbler.log:cobbler日志

条件准备

  • 常备不懈两台主机,如CentOS6和centos7
  • centos7当作server服务器
  • 关闭selinux
  • 关门防火墙

.Client向TFTP发送Linux内核请求音信,TFTP接收到讯息随后将基本文件发送给Client

cobbler-web管理

 

一、首先安装包

 

yum install -y cobbler-web
#

 

2、访问

 

https://192.168.43.7/cobbler\_web

暗许账号:cobbler

私下认可密码:cobbler

美高梅手机版4858 49

(六)cobbler命令

  • cobbler check:核对当前安装是还是不是有毛病
  • cobbler list:列出全体的cobbler成分
  • cobbler report:列出成分的详细消息
  • cobbler sync:同步布置到数量目录,更改配置最佳都要实施下
  • cobbler reposync:同步yum仓库
  • cobbler distro:查看导入的发行版系统消息
  • cobbler system:查看添加的系统新闻
  • cobbler profile:查看配置音信

安装

cobbler包光盘里是未有的,要铺排epel源,那里就说怎么布置epel源了,在yum.repos.d/目录下死板地宣读就可,配置好后执行如下命令安装

yum install –y cobbler 

设置成功后,大家发现它还安装了别的的劳务

美高梅手机版4858 50

备注:我们搭建cobbler-系统布署供给使用httpd、tftp-server、dhcp服务,从图上得以观看它并未有设置dhcp服务,所以我们要安装下dhcp服务

yum install –y dhcp

.Client向TFTP发送根文件请求消息,TFTP接收到音讯随后再次来到Linux根文件系统

顺手进度中出现的难题

(7)cobbler重要参数

  • /etc/cobbler/settings中根本的参数设置
  • default_password_crypted:”$1$gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/”
  • manage_dhcp:1
  • manage_tftpd:1
  • pxe_just_once:1
  • next_server:< tftp服务器的IP 地址>
  • server:<cobbler服务器的IP 地址>

拉开服务

http服务

systemctl start
httpd
#开启服务
systemctl enable httpd
#设置开机自运维

tftp-server服务

systemctl start tftp
#敞开服务
systemctl enable tftp
#开机自运行

cobbler服务

systemctl start cobblerd
#开启服务
systemctl enable cobblerd
#开机自运营

.Client启动Linux内核

问题一:出现如下提醒:**

美高梅手机版4858 51

化解方案:http:改为https:访问

 

(8)cobbler相关管理

  • 下载运行菜单:cobbler get-loaders
  • 管理distro
    cobbler import --name=centos-6.9-x86_64 --path=/media/cdrom
  • 管理profile
    cobbler profile add --name=centos-6.9-x86_64-basic --distro=centos-6.9-x86_64 --kickstart=/tmp/centos-6.9-x86_64.cfg
  • 查看profiles
    cobbler profile list
  • 查看辅导文件
    cat /var/lib/tftpboot/pxelinux.cfg/default
  • 同步cobbler配置
    cobbler sync

cobbler环境检查

执行

cobbler check
#

会冒出如下提醒,配置不够的东西

1 : The ‘server’ field in /etc/cobbler/settings must be set to something
other than localhost, or kickstarting features will not work.  This
should be a resolvable hostname or IP for the boot server as reachable
by all machines that will use it.
2 : For PXE to be functional, the ‘next_server’ field in
/etc/cobbler/settings must be set to something other than 127.0.0.1, and
should match the IP of the boot server on the PXE network.
3 : change ‘disable’ to ‘no’ in /etc/xinetd.d/tftp
4 : 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.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed, it will be required to manage
debian deployments and repositories
7 : The default password used by the sample templates for newly
installed machines (default_password_crypted in /etc/cobbler/settings)
is still set to ‘cobbler’ and should be changed, try: “openssl passwd -1
-salt ‘random-phrase-here’ ‘your-password-here'” to generate new one
8 : fencing tools were not found, and are required to use the (optional)
power management features. install cman or fence-agents to use them

OK
依据提示一步一步来消除

步骤一

一、第一个提示:在/etc/cobbler/settings
文件中server字段必须要有叁个外人可访问的IP地址,来提供网络服务,那么大家是在centos七上搭建的所以是本机地址。

一编纂配置文件

vim etc/cobbler/settings
#编写制定配置文件

美高梅手机版4858 52

2刷新配置文件并环境检查

systemctl restart cobblerd
#重启服务,重新读取修改的配备文件
cobbler check
#环境检查

步骤二

#环境检查后意识少了一项,那么上边接着照旧从第一项初阶操作
1 : For PXE to be functional, the ‘next_server’ field in
/etc/cobbler/settings must be set to something other than 127.0.0.1, and
should match the IP of the boot server on the PXE network.
2 : change ‘disable’ to ‘no’ in /etc/xinetd.d/tftp
3 : 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.
4 : enable and start rsyncd.service with systemctl
5 : debmirror package is not installed, it will be required to manage
debian deployments and repositories
6 : The default password used by the sample templates for newly
installed machines (default_password_crypted in /etc/cobbler/settings)
is still set to ‘cobbler’ and should be changed, try: “openssl passwd -1
-salt ‘random-phrase-here’ ‘your-password-here'” to generate new one
7 : fencing tools were not found, and are required to use the (optional)
power management features. install cman or fence-agents to use them

如上首先条:’next_server’
地址不应有是127.0.0.1

由此修改它的地方,那一个地方也正是你tftp服务器所在的主机地址,大家把服务都设置在壹台主机上了,所以和地点地址壹样

1编纂配置文件

vim etc/cobbler/settings
#编写配置文件

美高梅手机版4858 53

贰重复步骤一中的2命令来重读配置文件与环境检查

步骤三

#条件检查后意识又少了一条,上边接那来…
1 : change ‘disable’ to ‘no’ in /etc/xinetd.d/tftp
2 : 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.
3 : enable and start rsyncd.service with systemctl
4 : debmirror package is not installed, it will be required to manage
debian deployments and repositories
5 : The default password used by the sample templates for newly
installed machines (default_password_crypted in /etc/cobbler/settings)
is still set to ‘cobbler’ and should be changed, try: “openssl passwd -1
-salt ‘random-phrase-here’ ‘your-password-here'” to generate new one
6 : fencing tools were not found, and are required to use the (optional)
power management features. install cman or fence-agents to use them

如上首先条:提醒更改/etc/xinetd.d/tftp配置文件中’disable’状态改为‘no’说白了也正是翻开tftp服务

因为我们用的是centos七不须求xinetd.d了,后面已经开启了tftp服务,那步忽略,看下2个提醒

第3条:在/var/lib/cobbler/loaders目录下少了有个别必需的公文,用’cobbler
get-loaders’ 命令来收获,那时候需求主机联网下载

cobbler
get-loaders

小编们先来探视那个目录

美高梅手机版4858 54

一生成必需文件

美高梅手机版4858 55

咱俩通晓出现的这么些文件是要放在/var/lib/tftpboot/那里的,大家看下那么些目录的音信

美高梅手机版4858 56

用如上环境检查中付出的升迁举办共同

cobbler sync
#数码同步 

再也翻开下/var/lib/tftpboot目录结构

美高梅手机版4858 57

二重复步骤一中的二命令

#又少了,继续
1 : enable and start rsyncd.service with systemctl
2 : debmirror package is not installed, it will be required to manage
debian deployments and repositories
3 : The default password used by the sample templates for newly
installed machines (default_password_crypted in /etc/cobbler/settings)
is still set to ‘cobbler’ and should be changed, try: “openssl passwd -1
-salt ‘random-phrase-here’ ‘your-password-here'” to generate new one
4 : fencing tools were not found, and are required to use the (optional)
power management features. install cman or fence-agents to use them

步骤四

先是条:开启rsyncd.service
服务,大家尚无用这一个服务,忽略

第3条:是指向debian发行版的体系布局,忽略

其三条:修改kickstart文件的暗中同意口令

一编写制定配置文件

vim /etc/cobbler/settings
#

美高梅手机版4858 58

贰重复步骤一中的2命令

#少了一条
1 : enable and start rsyncd.service with systemctl
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

如上首先、2地方说了忽略,看第三条,意思说配置电源项,和硬件有关,忽略

步骤五

配置dhcp

一编制配置文件

vim /etc/cobbler/settings
#

美高梅手机版4858 59

2改cobbler提供的dhcp配置文件模板

vim /etc/cobbler/dhcp.template
#

美高梅手机版4858 60

大家先来看下dhcp配置文件

美高梅手机版4858 61

依然空的尚未配备消息

②同步

systemctl restart cobblerd
#重启服务
cobbler sync
#数码同步

再来看dhcp配置文件

美高梅手机版4858 62

有新闻了

步骤六

①开启dhcp服务

systemctl start dhcpd
#敞开服务

2起家cobbler
yum源-导入系统

美高梅手机版4858 63

那里大家也把centos6导入

美高梅手机版4858 64

备注:它是放在了/var/www/目录下,同时生成了八个和类别同名的kickstart文件,

自带的kickstart文件是满意不断大家的需要的,所以我们采纳本身的kickstart文件,从前生成过,直接拿来用。

步骤七

1编纂ks.cfg文件(前几篇涉嫌过怎么开创改文件)

美高梅手机版4858 65

贰把ks.cfg文件放在/var/lib/cobbler/kickstarts/下

美高梅手机版4858 66

叁创设运维菜单

cobbler profile add –name=Centos-7.5-x86_64-Auto
–distro=Centos-7.5-x86_64
–kickstart=/var/lib/cobbler/kickstarts/ks.cfg
#
cobbler profile add –name=Centos-6.9-x86_64-Auto
–distro=Centos-6.9-x86_64
–kickstart=/var/lib/cobbler/kickstarts/ks6.cfg
#

美高梅手机版4858 67

4查看运维文件default是否有了笔者们创造的自定义运转项

cat /var/lib/tftpboot/pxelinux.cfg/default
#翻开运转菜单

美高梅手机版4858 68

备考:也可去除不要求的起步菜单

cobbler profile remove –name=Centos-6.9-x86_64

OK将来就足以用准备好的另1台主机测试了

备考:确定保证http tftp dhcp 服务已拉开 防火墙以关闭 selinux以关闭

马到功成界面

美高梅手机版4858 69

cobbler-web管理

一、首先安装包

yum install -y
cobbler-web
#

2、访问

私下认可账号:cobbler

私下认可密码:cobbler

美高梅手机版4858 70

.Client下载安装源文件,读取自动化安装脚本

题材二:安装新系统的时候,出现TFTP open timeout!

美高梅手机版4858 71

不留余地方案:关闭防火墙

#systemctl
stop firewalld.service

#iptables
–L

 

(九)cobbler达成步骤

  • 安装包,并安装服务
  • 自笔者批评计划
  • 听闻地点提醒修改配置
  • 下载运营有关文件菜单
  • 配置DHCP服务
  • 分级导入centos的设置源,并查阅
  • 预备kickstart文件并导入cobbler
  • 测试

附带进程中出现的题材

问题一:并发如下提醒:**

美高梅手机版4858 72

缓解方案:http:改为https:访问 

题材2:安装新系统的时候,出现TFTP open
timeout!

美高梅手机版4858 73

化解方案:关闭防火墙

#systemctl
stop firewalld.service

#iptables
–L 

难点三:check环境检查的时在cobbler
候出现如下

美高梅手机版4858 74

化解方案:那是ip分配错误的升迁,检查铺排文件IP分配段

各样人碰到的题材可能不平等,查看日志检查,tailf
-10 /var/log/messages

Linux公社的RSS地址:

正文永久更新链接地址

美高梅手机版4858 75

此地用PXE自动化安装CentOS七为例表明

难点三:check环境检查的时在cobbler 候出现如下

美高梅手机版4858 76

杀鸡取卵方案:那是ip分配错误的提醒,检查铺排文件IP分配段

 

各种人相见的题材大概不平等,查看日志检查,tailf
-拾 /var/log/messages

 

(十)cobbler实现Web管理

  • cobbler-web
    提供cobbler的依照web管理界面,epel源
    yum install cobbler-web
  • 表明方法
    • 概念表达方法:/etc/cobbler/modules.conf
    • 使用authn_pam模块认证cobbler_web用户
      • [authentication]块中钦赐module = authn_pam
      • 创建cobbler用户:useradd cobbler
      • 修改文件/etc/cobbler/users.conf
        [admins]
        admin = “cobbler”
    • 使用authn_configfile模块认证cobbler_web用户
      • [authentication]块中module=authn_configfile
      • 始建其表达文件/etc/cobbler/users.digest,并添加所需的用户
        htdigest -c /etc/cobbler/users.digest Cobbler admin
      • 注意:添加第叁个用户时,使用“-c”选项,后续添加别的用户时不要再使用,cobbler_web的realm只能为Cobbler
  • Web访问cobbler
    • 重启cobblerd服务
    • 通过http://cobblerserver/cobbler\_web走访即可

.安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP

(10一)cobbler完结自主选取设置CentOS陆或柒系统

.安装软件包

(壹)安装cobbler并铺排相关服务

yum install cobbler
systemctl enable cobblerd
systemctl start cobblerd
systemctl enable tftp
systemctl start tftp
systemctl enable httpd
systemctl start httpd

环境准备,搭建以下八个劳务

(2)执行cobbler check指令,依据提醒修改设置
  • 执行cobbler check命令,反馈类似结果

美高梅手机版4858 77

  • 基于难题,修改/etc/cobbler/settings文件,修改后如下:

vim /etc/cobbler/settings
default_password_crypted: "$1$3AUU7.oO$g7Dkuzmu1uFmcp4HYRLw9."      //加密密码
next_server: 192.168.136.230     //tftp服务器IP
manage_dhcp: 1     //管理dhcp服务
server: 192.168.136.230     //cobbler服务器IP

vim /etc/cobbler/dhcp.template     //修改dhcp模板文件
subnet 192.168.136.0 netmask 255.255.255.0 {
   range dynamic-bootp        192.168.136.10 192.168.136.30;

注脚:密码能够用openssl passwd -1来生成

  • 重启cobbler服务并壹起安插到多少目录,同步成功结果如下
    systemctl restart cobblerd
    cobbler sync

美高梅手机版4858 78

httpd/nfs/ftp(3选一,用于搭建yum源)tftp-server dhcp

(叁)准备运行文件和菜单风格文件
  • 富有联网条件时,执行cobbler get-loaders
  • 不有所联网条件时,操作看似PXE的操作
    cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders

文件准备

(4)导入yum源
  • 导入centos 7.叁的yum源,/mnt/centos陆为centos陆的光盘挂载点
    cobbler import --path=/mnt/centos7 --name=centos7.3 --arch=x86_64

美高梅手机版4858 79

  • 导入centos 陆.九的yum源,/mnt/centos六为centos陆的光盘挂载点
    cobbler import --path=/mnt/centos6 --name=centos6.9 --arch=x86_64

美高梅手机版4858 80

  • 翻看导入的发行版及其配置音信,确认导入成功
    cobbler distro list 查看导入的发行版音讯
    cobbler profile list 查看配置音信

美高梅手机版4858 81

经过以下多少个工具生成相关文件

(5)生成kickstart文件
  • 复制CentOS 6的kickstart文件
    cp /var/www/html/ksdir/6/ks6.cfg /var/lib/cobbler/kickstarts/

  • 复制CentOS 7的kickstart文件
    cp /var/www/html/ksdir/7/ks7.cfg /var/lib/cobbler/kickstarts/

  • 去除原起始入CentOS 陆的yum源时的布局新闻
    cobbler profile remove --name=centos6.9-x86_64

  • 删除原起先入CentOS 七的yum源时的配备音信
    cobbler profile remove --name=centos7.3-x86_64

  • 再也生成CentOS 六的kickstart配置
    cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks6.cfg

  • 再度生成CentOS 7的kickstart配置
    cobbler profile add --name=centos7.3_desktop --distro=centos7.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks7.cfg

  • 一头设置到数量目录
    cobbler sync

syslinux  : 生成menu.c32 和 pxelinux.0

(陆)从网卡运营主机,正确进入cobbler安装的运转项

美高梅手机版4858 82

system-config-kickstart:生成 kickstart文件

.配置文件共享服务:

systemctl ``enable httpd

systemctl start httpd

mkdir /var/www/html  /centos/7

mount   /dev/sr0/  var``/www/html/centos/7

 

.准备kickstart文件

/var/www/html/ks/centos7``.cfg``#注意:权限,其他人要分配可读权限

安装路径,本次是用http服务器作为yum源,ks文件中url
–url=http:/1九二.16捌.3二.72/os/七

开机时加载网卡,onboot选项

.配置tftp服务

systemctl ``enable tftp.socket(centos6:chkconfig tftp on)

systemctl start tftp.socket(centos6:service xinetd restart)

 

.配置DHCP服务

能够一贯拷贝配置文件实行改动,首要该要使用的网段range和点名tftp服务器next-server和tftp服务器上的默许的文书filename

systemctl ``enable dhcpd

vim ``/etc/dhcp/dhcpd``.conf

option domain-name ``"sunny.com"``;

option domain-name-servers 192.168.32.61;

default-lease-``time 86400;

max-lease-``time 86400;

subnet 192.168.32.0 netmask 255.255.255.0 {

range 192.168.32.100 192.168.32.200;

option routers 192.168.32.1;

next-server 192.168.32.72;

filename ``"pxelinux.0"``;

}

 

 

systemctl start dhcpd

配置tftp服务

.准备有关文书

tftp路径是

#pxelinux.0等文件来自syslinux这个软件包,要先进行安装

yum ``install syslinux

mkdir``/var/lib/tftpboot/pxelinux``.cfg/

#pxelinux.cfg把必要的文件复制到这个路径下

cp``/usr/share/syslinux/``{pxelinux.0,menu.c32}``/var/lib/tftpboot/

#pxelinux.0启动菜单,启动操作系统的文件

#menu.c32这个是菜单风格

cp``/misc/cd/isolinux/``{vmlinuz,initrd.img}``/var/lib/tftpboot/

#计算机启动所需的内核文件和虚拟根文件

cp``/misc/cd/isolinux/isolinux``.cfg``/var/lib/tftpboot/pxelinux``.cfg``/default

#isolinux.cfg菜单文件,需要改名为default

现阶段文件列表如下:

``/var/lib/tftpboot/

├──initrd.img

├──menu.c32

├──pxelinux.0

├──pxelinux.cfg

│└──default

└──vmlinuz

 

.准备运营菜单

修改运维菜单

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

default menu.c32

#这是启动菜单的风格,需要根据实际情况进行修改,原来是vesamenu.c32

timeout 600

menu title PXE INSTALL MENU

label autoa

menu label Auto Install CentOS 7

kernel vmlinuz

append initrd=initrd.img  ks=http:``//192``.168.32.72``/ks/centos7``.cfg

#这里的应答文件是基于网络的,根据实际情况修改

label manual

menu label Manual Install CentOS 7

kernel vmlinuz

append initrd=initrd.img  inst.repo=http:``//192``.168.32.72``/centos/7

#手动安装应答文件不写,但是手动安装要找yum源安装,所以要指定yum源路径

label ``local

menu default

#如果不选择,默认就是menu  default所在的行

menu label ^Boot from ``local drive

localboot 0xffff

menu end

到那里,pxe安装centos柒的环境已经准备实现了,那样子,当有机器要求安装系统的时候,开机,采纳互联网运维就会服从PXE的安装开始展览设置

三 基于cobbler自动化安装系统

 

cobbler 介绍

cobbler快捷网络安装linux操作系统的劳务,扶助广大的Linux发行版:Red
Hat、Fedora、CentOS、Debian、Ubuntu和SUSE,也能够扶助互联网安装windows,是PXE的1回封装,将各个装置参数封装到3个菜单,基于Python编写,提供了CLI和Web的田管方式 

 

cobbler 工作流程

 以下图形是cobbler和PXE工作的对照图形

美高梅手机版4858 83

cobbler 工作流程解释如下

.client裸机配置了从网络运行后,开机后会广播包请求DHCP服务器(cobbler
server)发送其分配好的三个IP

.DHCP服务器(cobbler server)收到请求后发送responese,包含其ip地址

.client裸机得到ip后再向cobbler server发送请求OS指点文件的伸手

.cobbler server告诉裸机OS指引文件的名字和TFTP server的ip和port

.client裸机通过上面告知的TFTP server地址通讯,下载指点文件

.client裸机执行实施该指导文件,明确加载消息,接纳要设置的os,时期会再向cobbler
server请求kickstart文件和os image

.cobbler server发送请求的kickstart和os iamge

.client裸机加载kickstart文件

.client裸机接收os image,安装该os image

cobbler 达成步骤

.安装包,并安装服务

.检查陈设

.根据上边提醒修改配置

.下载运营相关文件菜单

.配置DHCP服务

.分别导入centos的装置源,并查看

.准备kickstart文件并导入cobbler

.配置web管理界面

.测试

cobbler 相关术语

.发行版:表示四个操作系统版本,它承前启后了根本和initrd
的信息,以及水源参数等此外数据

.安排文件:包罗叁个发行版、2个kickstart
文件以及可能的存储库,还富含更加多特定的木本参数等此外数据

.系统:表示要布局的主机,它含有叁个布局文件或1个镜像,还隐含IP 和MAC
地址、电源管理(地址、凭据、类型)以及尤其规范的数量等音信

.存款和储蓄库:保存三个yum 或rsync 存款和储蓄库的镜像音信

.镜像:可替换1个包蕴不属于此类其他文件的发行版对象(例如,不可能分为基础和initrd
的靶子)

cobbler 各个配置目录表明

cobbler 依赖epel 源安装

yum -y install cobbler

1般是会自行安装相关的包的,如http,dns等,安装完结后,假诺还有没有安装的服务,要手动安装,如dhcp。

yum -y install dhcp

.配置文件目录/etc/cobbler

/etc/cobbler/settings : cobbler 主配置文件

/etc/cobbler/iso/``: iso模板配置文件

/etc/cobbler/pxe``: pxe模板文件

/etc/cobbler/power``: 电源配置文件

/etc/cobbler/user``.conf: web服务授权配置文件

/etc/cobbler/users``.digest: web访问的用户名密码配置文件

/etc/cobbler/dhcp``.template: dhcp服务器的的配置末班

/etc/cobbler/dnsmasq``.template: dns服务器的配置模板

/etc/cobbler/tftpd``.template: tftp服务的配置模板

/etc/cobbler/modules``.conf: 模块的配置文件

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 仓库存储目录

.日志目录

/var/log/cobbler/installing``: 客户端安装日志

/var/log/cobbler/cobbler``.log : cobbler日志

cobbler 命令介绍

cobbler check 核对当前设置是否有问题

cobbler list 列出所有的cobbler元素

cobbler report 列出元素的详细信息

cobbler ``sync 同步配置到数据目录,更改配置最好都要执行下

cobbler reposync 同步yum仓库

cobbler distro 查看导入的发行版系统信息

cobbler system 查看添加的系统信息

cobbler profile 查看配置信息

cobbler 重要的参数

./etc/cobbler/settings中重大的参数设置

.default_password_crypted: "$1$gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/" 

#这里是设置新安装机器的root密码,用openssl passwd -1 生成加密密码

.manage_dhcp:1

.manage_tftpd:1

.pxe_just_once:1

#以上调整为1,表示对相关服务进行控制

.next_server:< tftp服务器的IP 地址>

.server:<cobbler服务器的IP 地址>

cobbler 环境检查

.执行Cobbler check命令常见如下非常,一般是布署文件没改变导致

.1 : The ‘server’ field ``in /etc/cobbler/settings must be ``set to something other than localhost, or kickstarting features will not work. This should be a resolvable ``hostname or IP ``for the boot server as reachable by all machines that will use it.

.2 : For PXE to be functional, the ‘next_server’ field ``in /etc/cobbler/settings must be ``set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.

.3 : 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 recentversion 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.

.4 : change ‘disable’ to ‘no’ ``in /etc/xinetd``.d``/rsync

.5 : comment ‘dists’ on ``/etc/debmirror``.conf ``for proper debian support

.6 : comment ‘arches’ on ``/etc/debmirror``.conf ``for proper debian support

.7 : The default password used by the sample templates ``for newly installed machines (default_password_crypted ``in /etc/cobbler/settings``) is still ``set to ‘cobbler’ and should be changed, try: “openssl ``passwd -1 -salt ‘random-phrase-here’ ‘your-password-here’” to

generate new one

.8 : fencing tools were not found, and are required to use the (optional) power management features. ``install cman or fence-agents to use them

Cobbler check常见报错解决办法如下

.修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP地址或主机名

.修改/etc/cobbler/settings文件中的next_server参数的值为提供PXE服务的主机相应的IP地址

.如若当前节点能够访问网络,执行“cobbler
get-loaders”命令即可;不然,必要设置syslinux程序包,而后制/usr/share/syslinux/{pxelinux.0,memu.c3贰}等文件至/var/lib/cobbler/loaders/目录中

.执行“chkconfig rsync on”命令即可

.执行“openssl passwd -壹 生成密码,并用其替换/etc/cobbler/settings文件中

default_password_crypted参数的值

cobbler 相关管理

.下载运维菜单:cobbler get-loaders

.管理distro
,这一步是导入光盘的有所文件,时间会相比较长,依据光盘的尺寸决定时长

cobbler ``import --name=centos-6.9-x86_64 --path=``/media/cdrom

.管理profile ,即起步菜单

cobbler profile add --name=centos-6.9-x86_64-basic --distro=centos-6.9-x86_64 --kickstart=``/tmp/centos-6``.9-x86_64.cfg

.查看profiles

cobbler profile list

.查看辅导文件

cat /var/lib/tftpboot/pxelinux``.cfg``/default

.同步cobbler配置

.cobbler sync

多系统指点方案

导入多个ks文件,并将ks文件和yum源做管理

cobbler ``import --name=CentOS-7-x86_64 --path=``/media/cdrom

cobbler的web管理落实

.cobbler-web提供cobbler的依据web管理界面,服务包来自epel源

yum ``install cobbler-web

铺排文件在/etc/httpd/conf.d/cobbler_web.conf,在httpd的布署目录下,所以要使得cobbler生效,必须重启httpd服务

.认证格局

.定义认证形式:/etc/cobbler/modules.conf,那里介绍三种注解办法求证cobbler_web用户,
authn_configfile和authn_pam

基于authn_configfile模块认证

.[authentication]块中module =
authn_configfile,系统默许正是authn_configfile那几个评释格局

.创造其证实文件/etc/cobbler/users.digest,并添加所需的用户

htdigest  -c ``/etc/cobbler/users``.digest  Cobbler admin

#如上语句中Cobbler是必须求某个,而且首先个字母C大写

#admin是新增添的公文,能够自个儿随便命名

.注意:添加第一个用户时,使用“-c”选项,后续添加其余用��时绝不再利用,cobbler_web的realm只能为Cobbler

重启cobbler服务

基于authn_pam模块认证

.更改配置文件/etc/cobbler/modules.conf里的
[authentication]块中钦命module = authn_pam

.创建cobbler用户:useraddcobbler

useradd cobbleruser  -s  ``/sbin/nologin

echo Pass1234 |  ``passwd --stdin cobbleruser

.修改文件/etc/cobbler/users.conf,将协调创建的用户安装为组织者

[admins]

admin = “cobbleruser”别的不用更改

重启cobbler服务

测试

A.安装新的linux系统

B. 通过浏览器
输入用户名和密码就能够访问

安装cobbler步骤如下

1 安装包

yum -y  ``install cobbler  dhcp

systemctl  ``enable  cobblerd

systemctl  start  cobblerd

systemctl ``enable  tftp

systemctl start  tftp

systemctl ``enable httpd

systemctl start httpd

二 依据cobbler check 提醒进行修改

vim ``/etc/cobbler/settings 

default_password_crypted: ``"$1$8ckh4FrM$ayLsgQi85bi8Nt5Gj4Drj/" 

#openssl passwd -1 生成口令,设置新机器root的初始密码

next_server: 192.168.32.73

manage_dhcp: 1

server: 192.168.32.73

重启服务并一起文件

systemctl restart cobblerd

cobbler ``sync

二)生成dhcp模版文件

vi /etc/cobbler/dhcp``.template

subnet 192.168.32.0 netmask 255.255.255.0 {

``range dynamic-bootp        192.168.32.100 192.168.32.254;

#变更上面这行,其他行只要变更相关网络行配置就可以

}

同步文件  cobbler ``sync

叁) 准备运营文件和和菜单风格文件

复制菜单风格文件

 /var/lib/cobbler/loaders中只要紧缺一些网络运营加载程序,能够运作’cobbler
get-loaders’来下载它们,也许,要是你只想处理x⑧陆 / x8陆_64netbooting,则足以确认保障已设置 安装

了syslinux软件包的一个新本子,能够完全忽略那个新闻。
该目录中的文件,借使要协理具备架构,应包罗pxelinux.0,menu.c32,elilo.efi和yaboot。
“cobbler get-loaders”

一声令下是缓解那一个必要的最简单易行方法。

连接internet

cobbler get-loaders

不连internet,只复制menu.c3二,pxelinux.0几个文本的话,只帮助安装x86/x八陆_6四框架结构的系统,所以提出照旧执行cobbler
get-loaders,将所需的文件都下载到 /var/lib/cobbler/loaders来。

cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders

翻开运营菜单的菜单选项,命令如下

cobbler profile list

假使不需求有关菜单,能够用以下命令移除,

cobbler profile remove --name=centos7.3_desk

3 导入yum源

cobbler ``import --path=``/misc/cd --name=centos7.3 --arch=x86_64

#断开光盘连接,重新换张6.9的盘,进行安装

cobbler ``import --path=``/misc/cd --name=centos6.9 --arch=x86_64

cobbler distro list

cobbler profile list

这一步执行到位后,会将眼下的光盘文件全体拷贝到/var/www/cobbler/ks_mirror那么些目录下,并且生成新的目录,目录名称本人钦命,如centos7.3,那里这几个目录的名字只要设定好领会后,

后续就无须一而再更改目录名,不然生成菜单文件会要命,因为名字不般配

4 生成ks

#小心,那里的对答文件是遵照yum源自动生成的,大家也得以友善生成生成ks文件,然后在做管理,把应对文件里的设置格局改成
url  –url=$tree,就会

自行去找到呼应的目录,当然那里也得以一向钦命相应的门路

那边的$tree 的路线能够透过以下命令查看,

cobbler  distro list 找到源配置文件,如centos73-x八陆_64

cobbler distro tree centos73-x86_64就足以看出tree那一个变量具体指哪个,如下

Kickstart Metadata             : {‘tree’:

专注,cobbler专门放应答文件的目录是/var/lib/cobbler/kickstarts,将新生成的ks文件拷贝到那里/var/lib/cobbler/kickstarts即可,如

cp  ks73min.cfg /var/lib/cobbler/kickstarts/

美高梅手机版4858,接下来再将回应文件和yum源做涉嫌

cp  centos6.cfg centos7.cfg ``/var/lib/cobbler/kickstarts/

cobbler profile remove --name=centos6.9-x86_64

cobbler profile remove --name=centos7.3-x86_64

cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64  --kickstart=``/var/lib/cobbler/kickstarts/centos6``.cfg

cobbler profile add --name=centos7.3_mini --distro=centos7.3-x86_64  --kickstart=``/var/lib/cobbler/kickstarts/centos7``.cfg

#如上命令将设置的新变化的ks文件和要相应的设置的yum源关联起来,–name要新转变的菜单项的名字,–distro钦赐yum源(cobbler
distro list

以此命令查看当前有多少个yum源,及其名称),–kickstart钦定ks文件的门道

cobbler sync

五 启用网页管理

htdigest  -c ``/etc/cobbler/users``.digest  Cobbler sunny

service httpd restart

service cobblerd restart

到那里cobbler安装达成了

6 测试

A安装虚拟机

B打开cobbler管理页面

4 半自动化安装pxe环境脚本完结

那边附上自动化安装PXE环境的半自动化脚本

将菜单配置文件,dhcp配置文件,ks文件打包放在附件中,有供给能够下载查看

那个配中,要求专注的是ks的公文中,对包源路径内定,如

url
–url=”http://192.168.32.72/os/6i386/”

还有菜单文件中,ks路径的内定

 append initrd=6i386/initrd.img
ks=

再有,dhcp分配的互连网段的分配,和近期的网络是可通的

在剧本中,有多少个地点供给留意

共准备了七个本子的光盘,3二人的陆.伍版本,60个人的六.9本子,和陆1四人的7版本

挂载:/var/www/html/os/{6i386  6x86_64  七}四个公文夹分别挂载对应的光盘,那里提入手动挂载

启航指导文件:建议手动内核和虚拟根文件到/var/lib/tftpboot{ 陆i38陆 
陆x86_64  7}那多个文件夹下

ks文件,提出提前准备好,也是手动复制到/var/www/html/ksdir下

虽说剧本达成了自动化的复制,可是前提是/dev/sr0 —> 陆x八陆_64
,/dev/sr1 —> 6i386 ,/dev/sr2 —> 7

剧本内容如下

#!/bin/bash

#

#******************************************************************************

#Author:               Sunny

#Date:                 2017-09-27

#FileName:             install_pxe_env.sh

#version:              1.0

#Your change info:

#Description:          For install PXE_environment auto

#DOC URL:

#Copyright(C):         2017  All rihts reserved

#*****************************************************************************

restart_dhcpd() {

service dhcpd restart &>``/dev/null``;

chkconfig dhcpd on &>``/dev/null``;

}

restart_tftp () {

sed -i ``'s/disable.*/disble = no/g' /etc/xinetd``.d``/tftp &>``/dev/null``;

chkconfig tftp on &>``/dev/null``;

service xinetd restart &>``/dev/null``;

}

restart_httpd(){

service httpd restart &>``/dev/null``;

chkconfig httpd on &>``/dev/null``;

}

min_time () {

``time``` = `date` +%Y%m%d%H%M` “

}

ip=$(``ifconfig 
| ``awk '/inet /{print $2}'``| ``awk -F : ``'{print $NF}'``| ``head -1)

min_time;

#install server

echo "Now install dhcp,http,tftp server and tftp client,it might take few minites"

rpm -q httpd &>``/dev/null && restart_httpd || { yum -y ``install httpd &>``/dev/null``;restart_httpd; }

rpm -q dhcp &>``/dev/null && restart_dhcpd ||  { yum -y ``install dhcp&>``/dev/null``;restart_dhcpd; }

rpm -q tftp-server &>``/dev/null && restart_tftp  || { yum -y ``install tftp-server &>``/dev/null``;restart_tftp; }

rpm -q tftp &>``/dev/null || yum -y ``install tftp &>``/dev/null``;

#For centos 6.9,file pxelinux.0 comes from packges syslinux-nonlinux,other version is from syslinux,but if you install packge syslinux,it will also install syslinux-nonlinux packge,so just install syslinux packge is OK to get file syslinux-nonlinux.

rpm -q syslinux &>``/dev/null || yum -y ``install syslinux &>``/dev/null``;

 

#set http for yum server

#mount yum source

echo "Now you need to config  yum server in http server"

echo "Since I do not know which different disc your disc will be displayed,such as,centos7 display as /dev/sr0,or display as/dev/sr1 or other device "

echo "This time,I have three disks,6i386 means 386 arch for ceentos6.5,6x86_64 means 64bit for centos6.9,7 means centos7.3"

echo "the relation of my disk  dislay in the centos as below"

echo -e ``"/dev/sr0 ---> 6x86_64 \n/dev/sr1 ---> 6i386 \n/dev/sr2 ---> 7"

mkdir -p ``/var/www/html/os/``{6i386,6x86_64,7}

read -p ``"Would you want to mount disk auto:(eg:y/n): " automount

case $automount ``in

y)

echo -e ``"/dev/sr0 ---> 6x86_64 \n/dev/sr1 ---> 6i386 \n/dev/sr2 ---> 7"

mount /dev/sr0   /var/www/html/os/6x86_64

mount /dev/sr1   /var/www/html/os/6i386

mount /dev/sr2   /var/www/html/os/7

;;

*)

echo "Since your answer is no or other,please mount disk after the script end"

echo "eg: run    mount /dev/sr0   /var/www/html/os/6x86_64  "

echo "eg: if your want to mount the disk fixed,please write to /etc/fstab,eg: /dev/sr0        /var/www/html/os/6x86_64      iso9660    defaults        0 0 "

;;

esac

 

#prepare ks file in /var/www/html/ksdir

echo "If your have put ks file in other hosts,your should input remote ,and input the remote file full path,and it will use scp cmd to copy the ks file directory to /var/www/html/ksdir"

echo "If you put dir in local host,input local,it will will cp cmd to  copy the ks file directory to /var/www/html/ksdir"

echo "if you input any other,you should cp ksdir to /var/www/html/ksdir"

read -p ``"Do you want to copy remote ks dir( r (remote) or l (local) or any other input ): " ifcopy

mkdir -p ``/var/www/html/ksdir/

case $ifcopy ``in 

r|remote)

read -p ``"input the remote ksdir directory(defaults:root@172.18.50.75:/var/www/html/ksdir/*): " ksdir

if [ -z ${ksdir:-} ];``then

ksdir=``"root@172.18.50.75:/var/www/html/ksdir/*"

fi

read -p ``"input host user's password you have put: " passwd

``expect -c "

``spawn  ``scp  $ksdir ``/var/www/html/ksdir/

``expect {

``\"*assword\" {``set timeout 300; send \"$``passwd``\r\"; }

``\"``yes``/no``\" { send \"``yes``\r\"; exp_continue; }

``}

``expect eof"

 

``ls /var/www/html/ksdir | ``while read ksfile; ``do

``sed -i ``"s@url --url=\"http://.*/os/@url --url=\"http://$ip/os/@g" 
/var/www/html/ksdir/``$ksfile

``done

 

;;

l|``local )

read -p ``"Please input your local ks directory(eg:/root/ksdir/*): " ksdir

cp $ksdir ``/var/www/html/ksdir/

;;

*)

echo "your input is wrong,please manual copy ksdir to /var/www/html/ksdir/"

;;

esac

 

#config dhcp

echo "Now config dhcp server..."

read -p ``"Input your next-server ip(default is your host ip): " nextip

if [ -z ${nextip:-} ];``then

nextip=``"$ip"

fi

echo nextip is ``"$nextip"

mv /etc/dhcp/dhcpd``.conf ``/etc/dhcp/dhcpd``.conf.``"$time"``.bak

cat >``/etc/dhcp/dhcpd``.conf<<eof

option domain-name ``"sunny.com"``;

option domain-name-servers 192.168.32.61;

default-lease-``time 86400;

max-lease-``time 86400;

subnet 192.168.32.0 netmask 255.255.255.0 {

range 192.168.32.100 192.168.32.200;

option routers 192.168.32.1;

next-server $nextip;

filename ``"pxelinux.0"``;

}

log-facility local7;

eof

 

echo "As default,the dhcp server will alocate ip 192.168.32.100--192.168.32.200,dns server is 192.168.32.61,router is 192.168.32.1,if you want to change these config ,please run 'vim /etc/dhcp/dhcpd.conf' to change /etc/dhcp/dhcpd.conf"

 

echo "dhcp is complete config now"

 

#config tltp

echo "If you want to copy linux kernel file to /var/lib/tftpboot/{6i386,6x86_64,7}"

read -p ``"Please input m(means manual) or a (means auto): " copyfile

case $copyfile ``in

a)

mkdir -p ``/var/lib/tftpboot/``{6i386,6x86_64,7}

cp /var/www/html/os/6i386/isolinux/``{initrd.img,vmlinuz} ``/var/lib/tftpboot/6i386

cp /var/www/html/os/6x86_64/isolinux/``{initrd.img,vmlinuz} ``/var/lib/tftpboot/6x86_64

cp /var/www/html/os/7/isolinux/``{initrd.img,vmlinuz}   ``/var/lib/tftpboot/7

;;

*)

echo "Your input is m or other things"

echo "you should do two things after the scripts"

echo "create directory under /var/lib/tftpboot/,such as mkdir /var/lib/tftpboot/6i386"

echo "copy the kernel file to the relative dir,such as cp /var/www/html/os/6i386/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/6i386"

echo "If you have many other yum source,please create relative dir under /var/lib/tftpboot/6i386"

;;

esac

 

cp /usr/share/syslinux/``{pxelinux.0,menu.c32} ``/var/lib/tftpboot/

 

echo "Now config defaults file ,you can copy the host relative disk file ,/media/isolinux/isolinux.cfg to /var/lib/tftpboot/pxelinux.cfg,and rename it to defaults,and the modify the config,run cmd 'cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/    pxelinux.cfg/default' "

echo "Now I will config /var/lib/tftpboot/pxelinux.cfg/default"

mkdir  /var/lib/tftpboot/pxelinux``.cfg

cat > ``/var/lib/tftpboot/pxelinux``.cfg``/default``<<eof

 

default menu.c32

#prompt 1

timeout 80

 

display boot.msg

 

menu background splash.jpg

menu title Welcome to Sunny diy ``install Linux!

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 desktop73

``menu label Install diy ^desktop centos 7

``menu default

``kernel 7``/vmlinuz

``append initrd=7``/initrd``.img ks=http:``//``$ip``/ksdir/ks73desk``.cfg

label mini73

``menu label Install diy ^mini centos 7

``menu default

``kernel 7``/vmlinuz

``append initrd=7``/initrd``.img ks=http:``//``$ip``/ksdir/ks73min``.cfg

label desktop6.5

``menu label Installed d^esktop centos 6.5 i386

``kernel 6i386``/vmlinuz

``append initrd=6i386``/initrd``.img ks=http:``//``$ip``/ksdir/ks65desk``.cfg

label mini6.5

``menu label Install m^ini centos 6.5 i386

``kernel 6i386``/vmlinuz

``append initrd=6i386``/initrd``.img ks=http:``//``$ip``/ksdir/ks65min``.cfg

label desktop6.9

``menu label Installed de^sktop centos 6.9

``kernel 6x86_64``/vmlinuz

``append initrd=6x86_64``/initrd``.img ks=http:``//``$ip``/ksdir/ks69desk``.cfg

label mini6.9

``menu label Install mi^ni centos 6.9

``kernel 6x86_64``/vmlinuz

``append initrd=6x86_64``/initrd``.img ks=http:``//``$ip``/ksdir/ks69min``.cfg

eof

 

echo "tftp is config OK"

 

#restart server

echo "now restart server"

restart_httpd;

restart_tftp;

restart_dhcpd;

netstat -ntulp | ``grep dhcpd | ``grep :67 &>``/dev/null && ``echo "dhcp is running..." || ``echo "dhcp is not run,please check"

netstat -ntulp | ``grep httpd | ``grep :80 &>``/dev/null && ``echo "http is running..." || ``echo "http is not run,please check"

netstat -ntulp | ``grep xinetd | ``grep 69 &>``/dev/null && ``echo "tftp is running..." || ``echo "tftp is not run,please check"

5 小结

关于PXE和cobbler安装,七个完成的职能1样,都以自动化安装系统,而且落到实处原理上也基本壹致,然而,由于cobbler是PXE的核对版,全数个人感觉,cobbler的装置更为便利。

小说最终,附上的PXE安装环境,也周围完毕了自动化安装PXE,自动拷贝了本子,当用户同样是挂载几个光盘,而且挂载的途径和小说中牵线的一致,就足以兑现自动化挂载,同时,必要准备了相关的ks文件,放到钦点目录下时,依据脚本的唤醒也足以达成自动化拷贝到相关目录下。文末附属类小部件将沾满脚本中的两个ks文件,dhcp配置和菜单文件的装置。

能够到Linux公社能源站下载:

——————————————分割线——————————————

免费下载地址在

用户名与密码都以www.linuxidc.com

切实下载目录在 /20一七年龄资历料/一月/17日/基于PXE 和 Cobbler
自动安装Linux系统/

下载格局见
http://www.linuxidc.com/Linux/2013-07/87684.htm

——————————————分割线——————————————

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147226.htm

美高梅手机版4858 84

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有