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

Cobbler 介绍

  • 非常的慢网络安装linux操作系统的劳动,协理广大的Linux版本,也协助网络安装windows系统
  • PXE的一次封装,将四种装置参数封装到3个菜单
  • 它是由Python编写的
  • 仍是能够用CLI和WEB来治本

1 概述

环境准备

  • 安不忘虞两台主机,如centos陆和centos七
  • centos7当作server服务器
  • 关闭selinux
  • 关门防火墙

一、DHCP服务

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

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

  • 接纳景况:自动化安装系统,解决ipv四地址不足的难点

  • DHCP报文:共有多种报文

    • DHCP DISCOVECRUISER:客户端到服务器
    • DHCP OFFE福特Explorer :服务器到客户端
    • DHCP REQUEST:客户端到服务器
    • DHCP ACK :服务器到客户端
    • DHCP NAK:服务器到客户端,布告用户不可能分协作适的IP地址
    • DHCP DECLINE :客户端到服务器,提醒地址已被使用
    • DHCP RELEASE:客户端到服务器,舍弃互联网地址和注销剩余的租约时间
    • DHCP
      INFOTiggoM:客户端到服务器,客户端假设急需从DHCP服务器端获取更为详细的陈设新闻,则发送Inform报文向服务器实行请求,极少用到
  • 续租:

    • 50% :租费时间达到四分之二时续租,向DHCP服务器发送新的DHCP
      REQUEST请求。借使dhcp服务未有拒绝的说辞,则回答DHCP
      ACK音讯。当DHCP客户端收到该应答消息后,就再一次伊始新的租用周期
    • 8柒.5%:借使在此之前DHCP
      Server没有应答续租请求,等到租约期的7/8时,主机会再发送一遍播放请求

*DHCP服务必须依照本地,

  • DHCP服务器一般的话应该与特殊必要DHCP服务的客户端处于同一个网段中

  • 这是因为DHCP服务进程基于广播,而广播只幸好同一个网段内传递

  • 完毕跨网段的DHCP服务

    • 亟待在客户机网段钦命1台代理(dhcrelay:中继)负责客户机与另一个网段的DHCP服务器的通讯,达成IP地址的分配
    • 符合MuranoFC 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三种办法的自动化安装。二种艺术完毕的功效是同一的,然则cobbler是PXE的三次封装,在采取上越来越惠及,集成多个软件进行落到实处。关于自动化安装中的相关概念和ks文件等的介绍,详见博客:http://www.linuxidc.com/Linux/2017-10/147225.htm

安装

cobbler包光盘里是从未的,要布置epel源,那里就说怎么布局epel源了,在yum.repos.d/目录下照本宣科就可,配置好后执行如下命令安装

yum install –y cobbler
#
#

 

安装成功后,大家发现它还设置了任何的劳动

澳门金沙国际 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,打开文件后如下图:

    澳门金沙国际 2

    • 提醒模板文件/usr/share/doc/dhcp*/dhcpd.conf.sample和扶持参考地方:man
      5 dhcpd.conf

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

    澳门金沙国际 3

    • 修改配置文件:vim /etc/dhcp/dhcpd.conf
      主导配置内容涵盖在subnet条目中,这里的配备属于全局配置
      骨干格式如下:

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

    subnet 192.168.136.0 netmask 225.225.225.0 {
      range 192.168.136.10 192.136.136.30
    }
    

    澳门金沙国际 4

    • 布局好后,运营dhcp服务service dhcpd start,在另1台同网段主机上得以见到被分配的ip地址,从1玖二.168.136.十/2四初阶分配

    澳门金沙国际 5

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

    澳门金沙国际 6

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

  • 反省布署文件语法
    service dhcpd configtest

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

澳门金沙国际 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系统环境的台本。

打开服务

3、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,nfs3者选一),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
#开机自启动

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

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

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

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

    澳门金沙国际 8

  • (3)配置yum源服务

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

澳门金沙国际 9

  • (4)准备kickstart文件

    • 预备桌面和最小化安装两份文件,能够依照/root/anaconda-ks.cfg文件修改
      注意:使用system-config-kickstart时,CentOS7条件下可能出现不可能选拔软件包的图景,此时急需将yum源配置文件的第2个源配置消息的源标识符改名称为”development”,即可不荒谬选拔软件包

    澳门金沙国际 10

    • 准备的kickstart文件:ks七.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}

    澳门金沙国际 11

  • (5)配置TFTP服务

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

    澳门金沙国际 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

    澳门金沙国际 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

    澳门金沙国际 14

    • 文件目录结构如下:

    澳门金沙国际 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安装的运行项

    澳门金沙国际 16

A酷路泽P错误代码

PXE-E11:ARP
timeout PXE ROM

         
将重试7回AXC60P请求,如若不能获得别的有效的AOdysseyP答复,将现出此信息,此音讯平常来自1些互联网和劳动设置错误,平日的原因有:

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

                 
二.利用了不响应A科雷傲P请求的路由器

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 陆作为FTP、DHCP、TFTP服务器)

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

  • (二)安装相关软件包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

    澳门金沙国际 17

  • (4)准备kickstart文件

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

    • ks六.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
      复制模板

    • 无人值班守护介绍与机动计划批量安装,自动安装Linux系统。两份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/*

    澳门金沙国际 18

  • (5)配置TFTP服务

    • 启动tftp服务:

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

    澳门金沙国际 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

澳门金沙国际 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

    澳门金沙国际 21

    • 文件目录结构如下:

澳门金沙国际 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安装的运转项

澳门金沙国际 23

BIOS和BIS错误代码

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

         
就算BIOS扩大内部存储器拷贝服务重返叁个错误信息,此音讯将出现,在成品BIOS中校不会遭到此消息,代码”nn”为BIOS增添内部存款和储蓄器拷贝服务(Int
一伍h,AH=八7h)重返的错误代码。

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地址,来提供互连网服务,那么大家是在centos七上搭建的之所以是本机地址。

一编写制定配置文件

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

澳门金沙国际 24

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

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

(伍)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

    澳门金沙国际 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

    澳门金沙国际 26

  • (4)准备kickstart文件
    • 调动方面四个试验中的kickstart文件,分别为ks柒.cfg, ks7-mini.cfg,
      ks六.cfg,
      ks陆-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
  • (7)准备PXE相关文件

    • 确立PXE运行配置文件存放目录:mkdir /var/lib/tftpboot/pxelinux.cfg
    • 分别建立存放CentOS六和7的内核相关文书的目录:
      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 六和柒的木本与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
    • 文件目录结构如下:

    澳门金沙国际 27

  • (八)修改运转菜单文件:
    注意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安装的运维项

澳门金沙国际 28

能够而且设置CentOS陆 和CentOS 7

澳门金沙国际 29

澳门金沙国际 30

TFTP/MTFTP错误代码

PXE-E32:TFTP
open timeout TFTP”Open”

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

PXE-E35:TFTP
read timeout

         
未收取下2个TFTP数据包

PXE-E36:Error
received from TFTP server

         
从TFTP服务器上收取了贰个错误的TFTP数据包

PXE-E38:TFTP
cannot open connection

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

PXE-E39:TFTP
cannot read from connection

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

PXE-E3A:TFTP
too many packages.

         
此消息意味着爆发了下列二种情景中的一个:

               
1.您试图用TFTP下载1个比分配的缓冲区更加大的公文

               
②.你当作贰个从(Slave)客户端采用MTFTP开首下载2个文件,而当你成为2个主(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应答,但客户端收到了最少1个有效的proxyDHCP应答。

PXE-E53:No
boot filename received

         
客户端收到了最少二个可行的DHCP/BOOTP应答,但绝非运行文件名可下载。

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

         
客户端发出1个proxyDHCP请求到DHCP服务器的4011端口并不曾接受回复。

澳门金沙国际 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服务器所在的主机地址,大家把劳动都安装在1台主机上了,所以和上面地址一样

一编纂配置文件

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

澳门金沙国际 32

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

四、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服务,那步忽略,看下二个提醒

第二条:在/var/lib/cobbler/loaders目录下少了部分必需的文件,用’cobbler
get-loaders’ 命令来得到,那时候需求主机联网下载

 

大家先来探望那一个目录

澳门金沙国际 33

1生成必需文件

cobbler get-loaders
#
#

澳门金沙国际 34

大家知晓出现的这个文件是要放在/var/lib/tftpboot/那里的,我们看下这么些目录的音讯

澳门金沙国际 35

用如上环境检查中提交的唤醒实行联合

cobbler sync
#数据同步

 

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

澳门金沙国际 36

 

二重复步骤一中的贰命令

#又少了,继续
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的1次封装,将两种设置参数封装到一个菜谱
  • 合龙了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奥迪Q3区域被设置为0.0.0.0,将显示此音讯。

.Client向PXE
Server上的DHCP发送IP地址请求音信,DHCP检测Client是还是不是合法(首借使检查评定Client的网卡MAC地址),要是官方则赶回Client的IP地址,同时将运营文件pxelinux.0的职务音信壹并传递给Client

步骤四

首先条:开启rsyncd.service
服务,我们从没用这些服务,忽略

第3条:是对准debian发行版的系列安顿,忽略

其3条:修改kickstart文件的暗许口令

 

1编写制定配置文件

vim /etc/cobbler/settings
#

澳门金沙国际 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

1编辑配置文件

vim /etc/cobbler/settings
#

澳门金沙国际 38

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

vim /etc/cobbler/dhcp.template
#

澳门金沙国际 39

大家先来看下dhcp配置文件

澳门金沙国际 40

还是空的未有铺排音信

 

②同步

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

再来看dhcp配置文件

澳门金沙国际 41

有音讯了

 

(三)cobbler相关术语

  • 发行版:
    代表3个操作系统版本,它承前启后了基本和initrd的音信,以及基本参数等其他数据
  • 配置文件:
    涵盖多少个发行版、叁个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

                 
2.在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
#开启服务

2创造cobbler
yum源-导入系统

澳门金沙国际 42

此间大家也把centos陆导入

澳门金沙国际 43

备注:它是坐落了/var/www/目录下,同时生成了1个和类别同名的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格式1样,成效也是看似),TFTP将铺排文件发回Client,继而Client依照铺排文件实行后续操作。

步骤七

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

澳门金沙国际 44

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

澳门金沙国际 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
#

澳门金沙国际 46

4翻看运转文件default是还是不是有了大家创立的自定义运行项

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

澳门金沙国际 47

备注:也可去除不须求的运维菜单

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

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

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

成功界面

澳门金沙国际 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

澳门金沙国际 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 

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

澳门金沙国际 50

备注:大家搭建cobbler-系统铺排必要动用httpd、tftp-server、dhcp服务,从图上能够见见它从不设置dhcp服务,所以大家要安装下dhcp服务

yum install –y dhcp

.Client向TFTP发送根文件请求信息,TFTP接收到新闻之后回到Linux根文件系统

顺手进程中冒出的难题

(七)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内核

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

澳门金沙国际 51

焚林而猎方案:http:改为https:访问

 

(八)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
#编辑配置文件

澳门金沙国际 52

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

systemctl restart cobblerd
#重启服务,重新读取修改的布局文件
cobbler check
#条件检查

步骤二

#条件检查后意识少了1项,那么上面接着依然从第壹项初叶操作
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’
地址不该是1二七.0.0.一

为此修改它的地方,那些地址相当于你tftp服务器所在的主机地址,大家把劳务都安装在一台主机上了,所以和上边地址一样

壹编纂配置文件

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

澳门金沙国际 53

2重复步骤一中的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服务

因为大家用的是centos7不必要xinetd.d了,前边早已打开了tftp服务,那步忽略,看下七个升迁

其次条:在/var/lib/cobbler/loaders目录下少了1部分少不了的文本,用’cobbler
get-loaders’ 命令来取得,那时候须求主机联网下载

cobbler
get-loaders

咱俩先来看看那几个目录

澳门金沙国际 54

壹生成必需文件

澳门金沙国际 55

咱俩了然出现的那一个文件是要放在/var/lib/tftpboot/那里的,大家看下那几个目录的新闻

澳门金沙国际 56

用如上环境检查中提交的提醒举行协同

cobbler sync
#数据同步 

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

澳门金沙国际 57

贰重复步骤一中的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

步骤四

率先条:开启rsyncd.service
服务,大家从未用这些服务,忽略

第二条:是针对debian发行版的类别布置,忽略

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

1编纂配置文件

vim /etc/cobbler/settings
#

澳门金沙国际 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

1编辑配置文件

vim /etc/cobbler/settings
#

澳门金沙国际 59

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

vim /etc/cobbler/dhcp.template
#

澳门金沙国际 60

大家先来看下dhcp配置文件

澳门金沙国际 61

依然空的未有布署新闻

②同步

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

再来看dhcp配置文件

澳门金沙国际 62

有音信了

步骤六

①开启dhcp服务

systemctl start dhcpd
#敞开服务

贰起家cobbler
yum源-导入系统

澳门金沙国际 63

那里我们也把centos陆导入

澳门金沙国际 64

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

自带的kickstart文件是满足不断大家的必要的,所以大家利用本身的kickstart文件,此前生成过,直接拿来用。

步骤七

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

澳门金沙国际 65

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

澳门金沙国际 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
#

澳门金沙国际 67

四翻看启动文件default是或不是有了笔者们成立的自定义运维项

cat /var/lib/tftpboot/pxelinux.cfg/default
#查阅运维菜单

澳门金沙国际 68

备考:也可去除不须求的启航菜单

cobbler profile remove –name=Centos-6.9-x86_64

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

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

马到功成界面

澳门金沙国际 69

cobbler-web管理

一、首先安装包

yum install -y
cobbler-web
#

2、访问

默许账号:cobbler

私下认可密码:cobbler

澳门金沙国际 70

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

难点二:安装新体系的时候,出现TFTP open timeout!

澳门金沙国际 71

杀鸡取卵方案:关闭防火墙

#systemctl
stop firewalld.service

#iptables
–L

 

(9)cobbler达成步骤

  • 安装包,并设置服务
  • 反省安插
  • 依照上边提醒修改配置
  • 下载运行相关文件菜单
  • 配置DHCP服务
  • 个别导入centos的安装源,并查阅
  • 忧盛危明kickstart文件并导入cobbler
  • 测试

附带过程中出现的题材

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

澳门金沙国际 72

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

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

澳门金沙国际 73

消除方案:关闭防火墙

#systemctl
stop firewalld.service

#iptables
–L 

题材3:check环境检查的时在cobbler
候出现如下

澳门金沙国际 74

消除方案:那是ip分配错误的唤醒,检查布署文件IP分配段

每一个人遇上的难点恐怕差异等,查看日志检查,tailf
-十 /var/log/messages

Linux公社的RSS地址:

正文永久更新链接地址

澳门金沙国际 75

此间用PXE自动化安装CentOS柒为例表达

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

澳门金沙国际 76

涸泽而渔方案:那是ip分配错误的提示,检查安插文件IP分配段

 

各样人碰着的标题大概差异等,查看日志检查,tailf
-10 /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

(十一)cobbler完结自主选取设置CentOS6或七系统

.安装软件包

(一)安装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一声令下,反馈类似结果

澳门金沙国际 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

澳门金沙国际 78

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

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

文本准备

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

澳门金沙国际 79

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

澳门金沙国际 80

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

澳门金沙国际 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 6的yum源时的布署消息
    cobbler profile remove --name=centos6.9-x86_64

  • 删去原起头入CentOS 7的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安装的运营项

澳门金沙国际 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玖2.16八.3二.72/os/7

开机时加载网卡,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安装centos7的条件已经准备完成了,那样子,当有机器要求设置系统的时候,开机,选择互连网运营就会遵照PXE的装置实行安装

三 基于cobbler自动化安装系统

 

cobbler 介绍

cobbler赶快互联网安装linux操作系统的服务,援助广大的Linux发行版:Red
Hat、Fedora、CentOS、Debian、Ubuntu和SUSE,也足以支撑互连网安装windows,是PXE的一遍封装,将种种装置参数封装到一个菜谱,基于Python编写,提供了CLI和Web的管理方式 

 

cobbler 工作流程

 以下图形是cobbler和PXE工作的对峙统壹图形

澳门金沙国际 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
的音信,以及基本参数等此外数据

.配备文件:包含1个发行版、多个kickstart
文件以及大概的存款和储蓄库,还隐含更多特定的根本参数等此外数据

.系统:表示要配备的主机,它涵盖一个安顿文件或2个镜像,还隐含IP 和MAC
地址、电源管理(地址、凭据、类型)以及愈发规范的数量等音讯

.存款和储蓄库:保存2个yum 或rsync 存款和储蓄库的镜像消息

.镜像:可替换2个暗含不属于此类别的文书的发行版对象(例如,不可能分为基础和initrd
的对象)

cobbler 各个配置目录表明

cobbler 依赖epel 源安装

yum -y install cobbler

相似是会自动安装相关的包的,如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般是布局文件没改变导致

.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.c32}等公事至/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

3) 准备运维文件和和菜单风格文件

复制菜单风格文件

 /var/lib/cobbler/loaders中壹旦不够壹些互连网运转加载程序,能够运作’cobbler
get-loaders’来下载它们,恐怕,假若你只想处理x八陆 / x8陆_6四netbooting,则足以有限支撑已安装 安装

了syslinux软件包的贰个新本子,可以完全忽视那些音讯。
该目录中的文件,如若要补助具有架构,应包含pxelinux.0,menu.c3二,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这么些目录下,并且生成新的目录,目录名称自个儿钦点,如centos七.三,那里那一个目录的名字假设设定好了以往,

一而再就不用继续更改目录名,不然生成菜单文件会极度,因为名字不匹配

4 生成ks

#只顾,那里的答问文件是依照yum源自动生成的,大家也足以友善生成生成ks文件,然后在做管理,把应对文件里的安装情势改成
url  –url=$tree,就会

活动去找到呼应的目录,当然那里也足以直接钦点相应的途径

那边的$tree 的门路能够因而以下命令查看,

cobbler  distro list 找到源配置文件,如centos73-x86_64

cobbler distro tree centos73-x86_6四就能够看看tree那些变量具体指哪个,如下

Kickstart Metadata             : {‘tree’:

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

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

接下来再将回应文件和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管理页面

四 半自动化安装pxe环境脚本实现

此间附上自动化安装PXE环境的半自动化脚本

将菜单配置文件,dhcp配置文件,ks文件打包放在附属类小部件中,有需求能够下载查看

这几个配中,须要专注的是ks的文件中,对包源路径钦赐,如

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

还有菜单文件中,ks路径的钦点

 append initrd=6i386/initrd.img
ks=

还有,dhcp分配的互联网段的分配,和脚下的网络是可通的

在剧本中,有多少个地方需求专注

共准备了八个版本的光盘,三2十个人的六.5本子,60位的6.玖本子,和陆十一人的7版本

挂载:/var/www/html/os/{6i386  6x86_64  7}多少个文本夹分别挂载对应的光盘,那里建议手动挂载

启航指点文件:建议手动内核和虚拟根文件到/var/lib/tftpboot{ 陆i386 
六x8陆_6肆  柒}这多少个文件夹下

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文件,放到钦命目录下时,依照脚本的唤醒也得以完结自动化拷贝到相关目录下。文末附属类小部件将沾满脚本中的5个ks文件,dhcp配置和菜单文件的安装。

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

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

免费下载地址在

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

具体下载目录在 /二〇一七年龄资历料/四月/三15日/基于PXE 和 Cobbler
自动安装Linux系统/

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

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

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

澳门金沙国际 84

相关文章