• DHCP服务
  • DHCP实现
  • PXE(Preboot Excution Environment) 预运转实践情状
  • Cobbler

Cobbler 介绍

  • 快速网络安装linux操作系统的劳动,扶助广大的Linux版本,也支撑网络安装windows系统
  • PXE的1遍封装,将各个设置参数封装到二个菜系
  • 它是由Python编写的
  • 还足以用CLI和WEB来管理

1 概述

条件计划

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

一、DHCP服务

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

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

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

  • DHCP报文:共有多样报文

    • DHCP DISCOVER:客户端到服务器
    • DHCP OFFE路虎极光 :服务器到客户端
    • DHCP REQUEST:客户端到服务器
    • DHCP ACK :服务器到客户端
    • DHCP NAK:服务器到客户端,布告用户无法分合营适的IP地址
    • DHCP DECLINE :客户端到服务器,提示地址已被选取
    • DHCP RELEASE:客户端到服务器,放任互连网地址和注销剩余的租约时间
    • DHCP
      INFO纳瓦拉M:客户端到服务器,客户端假如必要从DHCP服务器端获取更为详细的陈设新闻,则发送Inform报文向服务器举行请求,极少用到
  • 续租:

    • 2/四 :租借时间达到二分之一时续租,向DHCP服务器发送新的DHCP
      REQUEST请求。要是dhcp服务未有拒绝的理由,则回复DHCP
      ACK信息。当DHCP客户端收到该应答音讯后,就重新开端新的租用周期
    • 捌柒.五%:要是从前DHCP
      Server未有回答续租请求,等到租约期的7/八时,主机会再发送2次播放请求

*DHCP服务必须依据本地,

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

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

  • 得以落成跨网段的DHCP服务

    • 亟需在客户机网段钦赐一台代理(dhcrelay:中继)肩负客户机与另一个网段的DHCP服务器的通讯,落成IP地址的分配
    • 顺应途胜FC 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
#
#

 

安装成功后,我们开掘它还设置了任何的劳务

澳门金沙国际 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
      伍 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为1玖二.168.136.22九,子网掩码:2二伍.2二5.225.0,分配的地址库范围:1玖贰.168.136.拾-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地址,从192.16八.13陆.10/二肆发端分配

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

翻开服务

三、PXE(Preboot Excution Environment) 预运维实行遇到

cobbler 命令介绍

cobbler check
查对当前安装是不是有标题

cobbler list
列出全体的cobbler成分

cobbler report
列出成分的详细新闻

cobbler sync
同步铺排到数量目录,改变配置最佳都要施行下

cobbler reposync
同步yum仓库

cobbler distro
查看导入的发行版系统音讯

cobbler system
查看加多的系统新闻

cobbler profile
查看配置消息

二 基于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)预运营实行遭逢,AMD集团研究开发基于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
#开机自启动

(3)PXE自动化安装CentOS 柒(CentOS7看作HTTP、DHCP、TFTP服务器)

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

  • (2)安装相关软件包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柒光盘文件内容至centos柒目录下,这里将光盘挂载至目录下,效果与前者一样,实际中应有复制至硬盘,保险系统安装执行功能
      mount /dev/sr0 /var/www/html/centos/7

澳门金沙国际 9

  • (4)准备kickstart文件

    • 筹算桌面和最小化安装两份文件,能够依附/root/anaconda-ks.cfg文件修改
      注意:使用system-config-kickstart时,CentOS7条件下也许出现不大概选取软件包的动静,此时亟待将yum源配置文件的第壹个源配置消息的源标志符改名字为”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

ARP错误代码

PXE-E11:ARP
timeout PXE ROM

         
将重试陆回ARP请求,假诺不能够获得其他有效的ARP答复,将现出此消息,此新闻平时来自一些互联网和劳务设置错误,平时的原委有:

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

                 
2.利用了不响应ARP请求的路由器

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文件

    • 与机动安装CentOS七相似,绸缪桌面和最小化安装两份文件

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

    • 两份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

  • (8)修改运维菜单文件

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扩大内部存款和储蓄器拷贝服务重临1个错误消息,此消息将出现,在成品BIOS准将不会惨遭此新闻,代码”nn”为BIOS扩大内部存款和储蓄器拷贝服务(Int
一5h,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字段必要求有1人家可访问的IP地址,来提供互连网服务,那么大家是在centos七上搭建的所以是本机地址。

一编纂配置文件

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

澳门金沙国际 24

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

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

(五)PXE自动化安装CentOS 6 和CentOS 七(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
  • (七)希图PXE相关文件

    • 创造PXE运营配置文件存放目录:mkdir /var/lib/tftpboot/pxelinux.cfg
    • 各自创建存放CentOS六和七的基本相关文书的目录:
      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
    • 文件目录结构如下:

    澳门金沙国际 27

  • (八)修改启动菜单文件:
    注意CentOS6和CentOS柒系统基本相关文书的例外渠道要求相应修改配置文件的安装

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 七

澳门金沙国际 29

澳门金沙国际 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服务器上抽取了三个荒谬的TFTP数据包

PXE-E38:TFTP
cannot open connection

         
当试图送出2个TFTP”Open”包时产生了3个硬件错

PXE-E39:TFTP
cannot read from connection

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

PXE-E3A:TFTP
too many packages.

         
此消息意味着发生了下列二种意况中的三个:

               
1.您试图用TFTP下载一个比分配的缓冲区越来越大的文件

               
二.你当作一个从(Slave)客户端选取MTFTP开始下载3个文本,而当你成为三个主(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

         
客户端发出八个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’
地址不该是1二七.0.0.1

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

1编纂配置文件

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

澳门金沙国际 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服务,那步忽略,看下一个唤起

第三条:在/var/lib/cobbler/loaders目录下差点不可缺少的公文,用’cobbler
get-loaders’ 命令来博取,这时候须求主机联网下载

 

咱俩先来看看那一个目录

澳门金沙国际 33

壹生成必需文件

cobbler get-loaders
#
#

澳门金沙国际 34

咱俩领略出现的那几个文件是要放在/var/lib/tftpboot/这里的,大家看下这些目录的音讯

澳门金沙国际 35

用如上景况检查中提交的提示举办共同

cobbler sync
#数据同步

 

再一次查看下/var/lib/tftpboot目录结构

澳门金沙国际 36

 

2重复步骤一中的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遍封装,将八种装置参数封装到贰个美食做法
  • 合并了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的岗位音讯一并传递给Client

步骤四

率先条:开启rsyncd.service
服务,大家平素不用这一个服务,忽略

其次条:是针对性debian发行版的类别铺排,忽略

其三条:修改kickstart文件的暗中认可口令

 

壹编纂配置文件

vim /etc/cobbler/settings
#

澳门金沙国际 37

贰重复步骤一中的二命令

#少了一条
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方面说了忽略,看第一条,意思说配置电源项,和硬件有关,忽略

 

(2)cobbler专门的工作流程

  • client裸机配置了从互联网运营后,开机后会广播包请求DHCP服务器(cobbler
    server)发送其分配好的3个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
#

澳门金沙国际 38

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

vim /etc/cobbler/dhcp.template
#

澳门金沙国际 39

大家先来看下dhcp配置文件

澳门金沙国际 40

依旧空的尚未配备消息

 

②同步

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

再来看dhcp配置文件

澳门金沙国际 41

有消息了

 

(3)cobbler相关术语

  • 发行版:
    代表1个操作系统版本,它承载了基础和initrd的音讯,以及基本参数等此外数据
  • 陈设文件:
    包罗贰个发行版、三个kickstart
    文件以及大概的存款和储蓄库,还包罗越来越多特定的基本参数等别的数据
  • 系统:
    意味着要陈设的主机,它涵盖3个配置文件或一个镜像,还富含IP和MAC地址、电源管理(地址、凭据、类型)以及愈发标准的数目等音信
  • 存储库:
    保留2个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载入,此错误音讯常常系如下3个或八个原因所致:

                 
一.当将在调用一个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)分配的内部存储器时期被毁掉或删除。

                 
3.在载入ROM结构时期UNDI_Loader结构未被准确载入。

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

步骤六

①开启dhcp服务

systemctl start dhcpd
#开启服务

二起家cobbler
yum源-导入系统

澳门金沙国际 42

这里大家也把centos陆导入

澳门金沙国际 43

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

自带的kickstart文件是知足不断大家的供给的,所以大家采取本身的kickstart文件,此前生成过,直接拿来用。

(4)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依据安插文件进行后续操作。

步骤七

壹编辑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

肆查看运行文件default是还是不是有了作者们创制的自定义运行项

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

澳门金沙国际 47

备注:也可去除无需的运营菜单

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

OK以往就能够用计划好的另一台主机测试了

备注:确认保障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根文件系统

顺手进程中冒出的难点

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

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

澳门金沙国际 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
依照提醒一步一步来消除

步骤一

1、第多个提示:在/etc/cobbler/settings
文件中server字段必供给有1个旁人可访问的IP地址,来提供网络服务,那么我们是在centos柒上搭建的所以是本机地址。

1编辑配置文件

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

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

由此修改它的地方,这些地点约等于您tftp服务器所在的主机地址,大家把劳务都安装在一台主机上了,所以和方面地址同样

1编写制定配置文件

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目录下少了有的不可缺少的文本,用’cobbler
get-loaders’ 命令来博取,那时候须要主机联网下载

cobbler
get-loaders

我们先来看望这么些目录

澳门金沙国际 54

一生成必需文件

澳门金沙国际 55

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

澳门金沙国际 56

用如上情形检查中提交的唤醒实行同步

cobbler sync
#数码同步 

重新查看下/var/lib/tftpboot目录结构

澳门金沙国际 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
服务,我们一向不用这些服务,忽略

第三条:是对准debian发行版的系统安插,忽略

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

一编辑配置文件

vim /etc/cobbler/settings
#

澳门金沙国际 58

二重复步骤第一中学的贰命令

#少了一条
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
#

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

此间大家也把centos6导入

澳门金沙国际 64

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

自带的kickstart文件是满意不断大家的急需的,所以大家选用本身的kickstart文件,在此之前生成过,直接拿来用。

步骤七

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

澳门金沙国际 65

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

澳门金沙国际 66

3制造运营菜单

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未来就足以用计划好的另1台主机测试了

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

马到功成分界面

澳门金沙国际 69

cobbler-web管理

一、首先安装包

yum install -y
cobbler-web
#

2、访问

暗中认可账号:cobbler

暗中认可密码:cobbler

澳门金沙国际 70

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

主题素材2:安装新类别的时候,现身TFTP open timeout!

澳门金沙国际 71

缓慢解决方案:关闭防火墙

#systemctl
stop firewalld.service

#iptables
–L

 

(九)cobbler完结步骤

  • 安装包,并设置服务
  • 自己评论安顿
  • 基于下面提示修改配置
  • 下载运维有关文书菜单
  • 配置DHCP服务
  • 分级导入centos的安装源,并查看
  • 安不忘虞kickstart文件并导入cobbler
  • 测试

顺手过程中冒出的标题

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

澳门金沙国际 72

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

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

澳门金沙国际 73

化解方案:关闭防火墙

#systemctl
stop firewalld.service

#iptables
–L 

主题材料3:check景况检查的时在cobbler
候出现如下

澳门金沙国际 74

消除方案:那是ip分配错误的提醒,检查安排文件IP分配段

各样人相见的标题大概分歧,查看日志检查,tailf
-拾 /var/log/messages

Linux公社的RSS地址:

本文永世更新链接地址

澳门金沙国际 75

此地用PXE自动化安装CentOS7为例表达

标题叁:check景况检查的时在cobbler 候出现如下

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

(拾一)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命令,反馈类似结果

澳门金沙国际 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(3选壹,用于搭建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陆为centos陆的光盘挂载点
    cobbler import --path=/mnt/centos7 --name=centos7.3 --arch=x86_64

澳门金沙国际 79

  • 导入centos 陆.9的yum源,/mnt/centos陆为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 柒的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 七的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

(6)从网卡运营主机,正确进入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:/192.168.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安装centos柒的条件已经打算完成了,那样子,当有机器供给设置系统的时候,开机,选择互连网运行就能够根据PXE的设置进行安装

三 基于cobbler自动化安装系统

 

cobbler 介绍

cobbler急迅网络安装linux操作系统的服务,帮忙广大的Linux发行版:Red
Hat、Fedora、CentOS、Debian、Ubuntu和SUSE,也足以支撑网络安装windows,是PXE的2遍封装,将三种安装参数封装到四个美食做法,基于Python编写,提供了CLI和Web的治本方式 

 

cobbler 工作流程

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

澳门金沙国际 83

cobbler 职业流程解释如下

.client裸机配置了从网络运行后,开机后会广播包请求DHCP服务器(cobbler
server)发送其分配好的1个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 相关术语

.发行版:表示3个操作系统版本,它承前启后了基本和initrd
的消息,以及基本参数等其他数据

.配备文件:包括3个发行版、2个kickstart
文件以及恐怕的存款和储蓄库,还包含越来越多特定的根本参数等其他数据

.系统:表示要布局的主机,它包涵七个布置文件或一个镜像,还包含IP 和MAC
地址、电源管理(地址、凭据、类型)以及进一步标准的多寡等音信

.存款和储蓄库:保存八个yum 或rsync 存款和储蓄库的镜像新闻

.镜像:可替换两个分包不属于此类其他文本的发行版对象(举个例子,不能够分为基础和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 : 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 -1 生成密码,并用其替换/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

2)生成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’来下载它们,恐怕,假设你只想处理x86 / x8六_64netbooting,则能够保障已安装 安装

了syslinux软件包的1个新本子,能够完全忽视那几个音信。
该目录中的文件,假若要协理具有架构,应包罗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那么些目录下,并且生成新的目录,目录名称本身钦赐,如centos七.三,这里那一个目录的名字只要设定好了随后,

后续就毫无继续更动目录名,不然生成菜单文件会要命,因为名字不匹配

4 生成ks

#小心,这里的作答文件是依附yum源自动生成的,大家也足以友善生成生成ks文件,然后在做管理,把应对文件里的安装格局改成
url  –url=$tree,就能

活动去找到呼应的目录,当然这里也足以一贯钦赐相应的门路

此地的$tree 的门路能够透过以下命令查看,

cobbler  distro list 找到源配置文件,如centos73-x86_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/

下一场再将回应文件和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

5 启用网页管理

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分配的互连网段的分红,和当下的网络是可通的

在剧本中,有多少个地方须要专注

共计划了多少个版本的光盘,三十位的陆.5本子,陆13位的陆.九本子,和61位的七版本

挂载:/var/www/html/os/{6i386  6x86_6肆  柒}八个文件夹分别挂载对应的光盘,这里建议手动挂载

先导指点文件:指出手动内核和虚拟根文件到/var/lib/tftpboot{ 陆i3八六 
六x捌6_64  柒}那多少个文本夹下

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一柒年资料/3月/1八日/基于PXE 和 科布ler
自动安装Linux系统/

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

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

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

澳门金沙国际 84

相关文章