-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)
ldt195175108ldt195175108
上一篇 2016-11-18
下一篇 2016-11-18

相关推荐

  • linux磁盘管理及其磁盘分区工具的使用

    一、 几种分区工具: 1.图形化工具gnome-disks使用简单,在此不在赘述。 2.fdisk使用: fdisk支持MBR,也支持GPT分区,对于一块硬盘最多只能理解15个分区,一般使用fdisk做MBR分区,gdisk做GPT分区。下面为fdisk分区示例: [root@centos7 ~]# fdisk /dev/sde…

    Linux干货 2016-08-29
  • Linux文本处理工具sed

    sed工作原理:sed从文件中读取出来一行,并不会直接进行编辑处理而是会放在自己的模式空间内进行处理,处理的结果将会送到标准输出,默认情况下sed可以对每行文本进行处理,也可以让sed处理符合条件的行,我们可以利用正则表达式做文本过滤,模式空间有两种输出结果,一种是可以匹配到的,会根据编辑要求进行处理,例如删除,过滤字符串。另外一种则是匹配失败的,会直接进行…

    学员作品 2016-08-10
  • linux操作系统rpm软件包管理

    软件包管理 软件包运行环境: API:Application Programming Interface     使用标准:POSIX:     源代码运行步骤:预处理(如处理注释)—>编译成汇编代码—>链接其他库文件 ABI:applicatio…

    2016-08-22
  • 磁盘及文件系统管理

    I/O Ports: I/O设备地址文件的处理方式:open,read,write,close设备类型:    块设备:block,存取单位“块”,磁盘    字符设备:char,存取单位“字符”,键盘设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信设备号码: &nbs…

    学员作品 2016-08-30
  • 【马哥linux运维】–马帮高薪就业系列文章之一线资深运维

    时光荏苒,马哥linux运维在北京开校已经有一些时日了,随着大家对马哥linux的密切关注,来跟随小编走进我们马哥linux运维的北京校区 关于学员就业这点事 很多小伙伴在马哥学习一段时间后,获得了快速的成长,不少学员已经进入著名互联网公司拿到了高薪,有的在成长性公司成为技术骨干,有的已经出国等,我们回顾下最近几个月很多学员的成长,收获,自己的心得感受吧 当…

    2015-11-06
  • 马哥团队带你领略阿里风景

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

    学员作品 2015-04-29