-pxe

一. BootStraping(OS install):
1. pxe:preboot excution environment ,
预启动执行环境,由intel开发,可实现无人值守自动安装操作系统
( 依赖于dhcp (dhcpd )服务器与 ftp(lftp) 服务器)
2. pxe 自动化系统安装的流程:
1. client 从pxe网卡模式启动, 并向dhcp服务获取ip地址,
此时dhcp服务会设置next_server 地址以及 filename (pxelinux.0)
告知client 前往指定ftp服务器(常为lftp琐碎文件服务器)获取pxelinux.0 即pxe的启动引
导文件
2. client获取到pxelinux.0,在本地执行,pxe启动后,提供安装选择界面(菜单),
3. 在选择对应安装项目后, 会根据配置文件,前往指定的ftp ,获取系统内核文件vmlinuz,以及
伪文件系统inintrd.img,在本地加载内核与伪文件系统
4. 后再根据配置文件,前往指定的ftp服务器,加载指导系统安装的kickstart配置文件,
根据kickstart文件,定制系统各项参数,并自动安装
3.流程以及涉及的文件详解:
1. dhcp: 常用dchpd , 安装,配置dchpd,同时加入next-server, filename ,并启动
2. ftp: 常用lftp 琐碎文件服务器,安装,配置lftp,并从光盘中,拷贝相应的内核文件,伪文件系统
镜像到lftp的共享文件夹中
文件列表:(需要先安装syslinux, 以提供pxelinux.0文件)
centos 6:
/usr/share/syslinux/pxelinux.0 #pxe启动引导文件
/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}
#系统内核文件
cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg}
#提供与cdrom安装时一样的界面(菜单)文件
#此项也可以使用pxe的菜单界面文件,按需选择
/media/cdrom/isolinux/isolinux.cfg #pxe界面配置文件
centos 7: (与6的安装配置相似)
/usr/share/syslinux/pxelinux.0
/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}
/usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk}
#此处使用的是pxe自身的菜单界面文件
==========================================================
二. tftp server:
#lftp的配置相对简单,只要安装,并将共享的文件放入指定目录,启动lftp服务即可
监听: 69/udp
安装与配置:
# yum install tftp-server tftp
启动:
CentOS 7:
systemctl start tftp.socket
CentOS 6:
chkconfig tftp on
service xinetd restart
#由xinetd托管监听
默认的文件根目录:
/var/lib/tftpboot/
============================================================
三.配置PXE环境:
1. CentOS 7:
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#将pxe启动引导文件内放入lftp共享文件夹
cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot
##将内核文件内放入lftp共享文件夹
cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot
##将pxe菜单界面文件内放入lftp共享文件夹cd
mkdir /var/lib/tftpboot/pxelinux.cfg/
#创建pxe配置文件的目录
———————————————————————————-
#修改启动菜单配置
#注意:centos 7中,此文件默认不存在, 可自行创建
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32 #菜单配置文件
prompt 5
timeout 30
MENU TITLE CentOS 7 PXE Menu
LABEL linux
MENU LABEL Install CentOS 7 x86_64 #显示标题
KERNEL vmlinuz #指定内核文件
APPEND initrd=initrd.img #指定伪文件系统镜像
inst.repo=http://192.168.10.9/centos/7/x86_64 #指定yum仓库
LABEL linux_autoinst
MENU LABEL Install CentOS 7 x86_64 auto
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://192.168.10.9/centos/7/x86_64 ks=http://192.168.10.9/kickstarts/centos7.cfg
#指定kickstart 文件以及yum仓库地址
效果示例:
-pxe
———————————————————————————
2. CentOS 6:
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg}
/var/lib/tftpboot/
#此处从光盘中拷贝光盘启动安装的界面文件,以提供在pxe环境下,实现
与光盘安装时一样的界面,
#也可使用pxe的安装界面文件,安秀选择
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#拷贝光盘安装界面的配置文件
内容如下所示:
display boot.msg
#界面配置:
menu background splash.jpg
menu title Welcome to CentOS 6.7 MageEdu!
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 autoinst #自动化安装项
menu label ^Auto Install CentOS
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.10.16/pub/centos6.cfg
#指定kickstart文件,实现自动化加载配置
label linux #光盘安装
menu label ^Install or upgrade an existing system
kernel vmlinuz
append initrd=initrd.img
label vesa #
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img nomodeset
label rescue #救援模式
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local #单用户模式
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append –
效果示例:
-pxe
============================================================
四.dhcpd
1. DHCP:Dynamic Host Configuration Protocol
arp –> address resolving Protocol
IP –> MAC
rarp –> reverse arp
MAC –> IP
bootp –> boot protocol
dhcp: lease time, bootp
2. 工作流程:广播
(1) Client:dhcp discover (广播方式寻找dhcp服务端)
(2) Server: dhcp offer(IP/Netmask, GW, DNS Server, NTP Server, Wins Server, …)
(3) Client:dhcp request
(4) Server:dhcp ack
3. lease time:IP租约期限;
续租:50%, 75%, 87.5%, 93.75%
续租过程:
1. dhcp request
2. dhcp ack|nak
4. 实现:
dhcp :
(isc.org) – The dhcp package provides the ISC DHCP service and relay agent.
dnsmasq:
(dns, dhcp) – Dnsmasq is lightweight, easy to configure DNS forwarder
and DHCP server. It is designed to provide DNS and, optionally, DHCP, to a
small network.
5. 程序环境:
安装:
yum install dhcp
dhcp server:
/usr/sbin/dhcpd
IPV4网络配置:
/etc/dhcp/dhcpd.conf
/usr/lib/systemd/system/dhcpd.service
IPV6网络配置:
/etc/dhcp/dhcpd6.conf
/usr/lib/systemd/system/dhcpd6.service
dhcrelay: #dhcp中继代理,用于实现跨网段的dhcp服务
/usr/sbin/dhcrelay
/usr/lib/systemd/system/dhcrelay.service
监听的地址和端口:
Server: 67/udp
Client: 68/udp
6. 配置文件:/etc/dhcp/dhcpd.conf 详解:
默认情况下,/etc/dhcp/dhcpd.conf 文件为空,
可将/usr/share/doc/dhcp-###/dhcpd.conf.sample 模板复制使用
配置指令:
option选项:配置给客户端的相信息
指令:定义dhcp server的工作特性
配置有级别之分:
全局配置
子网配置
主机配置
常用的配置:
default-lease-time 600; #默认租约期限
max-lease-time 7200;  #最长租约期限
option domain-name “search_domain.tld”; #搜索域定义
option domain-name-servers DNS_SERVER1, DNS_SERVER2, DNS_SERVER3;
#全局DNS服务器
option routers GW1, GW2, …;
#全局默认网关
option broadcast-address BROADCAST_ADDRESS;
#全局子网掩码
#子网范围:
subnet NETWORK netmask MASK {
range START_IP END_IP;
#eg:
# range 10.254.239.10 10.254.239.20;
}
# 定义网络作用域,即一个子网,主要用于指明地址池;
#静态ip主机定义
host client_name {
hardware ethernet client_mac; #client端的mac
fixed-address IP_ADDR; #指定的IP
}
其它指令:
filename:指明引导文件名称;
next-server IP:指明引导文件所在的服务器的主机IP;
filename “pxelinux.0″;
配置实例:(dhcpd仅有下列项即可,其他项为可选)
#注意: dhcp服务器,需要手动给定地址,
#dhcp服务器地址已经设置为192.168.1.1
option domain-name “test.org”; #搜索域定义
option domain-name-servers 192.168.1.1;
#全局DNS服务器
option routers 192.168.1.1;
#全局默认网关
option broadcast-address 255.255.255.0;
#全局子网掩码
#子网范围:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.200;
next-server 192.168.1.1;
filename “pxelinux.0”
}

原创文章,作者:ldt195175108,如若转载,请注明出处:http://www.178linux.com/59952

(3)
上一篇 2016-11-18 19:27
下一篇 2016-11-18 20:10

相关推荐

  • Linux系统安装

    概述:     上篇我们讨论了下关于Linux系统的启动流程和grub相关的内容,本篇将介绍一下Linux的系统安装相关的内容,具体分为:     1、系统安装程序anaconda的介绍     2、kickstart文件的介绍 &nbsp…

    学员作品 2016-09-15
  • 脚本例子

    1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。 #!/bin/bash #author:Zhu Chaoming #date:20160816 #version:0.1 # while   true…

    学员作品 2016-08-22
  • vim 作业

    4、如何设置tab缩进为4个字符?  vi/vim中,可以通过在~/.vimrc中添加set ts=4 执行source ~/.vimrc 重读配置文件 5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log; 拓展模式下: &…

    学员作品 2016-08-15
  • 关于shell变量计算中单中括号与双中括号、单引号与双引号的一些看法

      单中括号是比较基本的变量计算及数值比较的方法,一般情况下已经足够使用;双中括号是扩展的数值比较方法,里面的数值计算也相对来说复杂些。这里我推荐大家平常工作中使用单中括号即可,满足日常的工作,不做运维开发的话,双括号方面涉及不多。   这里我还得提下单括号与双括号,这里也是我经常混淆的地方,其实理解了也就轻松多了。单括号是对一段比较长的…

    学员作品 2016-08-15
  • Linux进程查看和管理及作业控制

    在linux系统中,内核的功用有:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等,在这众多的模块中,进程管理是相对重要的一环,即使不像文件系统和网络功能那么复杂。在进程管理中,内核对进程的创建、切换、撤销和调度都有很详细的定义。  1、进程类型     守护进程:在系统引导过程中启动的进程,跟终端无关的进…

    学员作品 2016-11-14
  • 马哥团队带你领略阿里风景

    马哥团队带你揭秘互联网巨头公司—阿里巴巴 继马哥团队腾讯一行之后,4月中旬我们又来到了坐落于杭州的另一个互联网巨头公司。 波涛万里长江水,带你入杭州。 真情伴你走,春色为你留。 西湖烟水茫茫,百顷风潭,十里荷香。 风景甚好,怎能不去杭州的阿里巴巴转转呢? 带着“淡妆”,走,跟着我们前行…… 马哥更是笑道:“我们这次来是和马云谈合作的!让我们培训出来的更多同学…

    学员作品 2015-04-29