PXE环境搭建

预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。 [1]

PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。在Linux中有多种的安装方式:HD、USB、CDROM、PXE及远程管理卡等。在我们的系统运维的生涯中,经常要安装操作系统,然而我们维护的机器不是一两台而已,一般的企业服务器数量都在几十、几百、几千、甚至上万台。这么多的机器,如果人工的一台一台去安装,那我们这些运维人员,可能要把大部分时间都花费在了安装系统上,所以,我们一般都会建立一个PXE服务器,通过网络来批量部署系统。

二、无人值守部署系统安装系统流程

1.部署 PXE 需要的环境:

首先在pxe服务器端需要有一个DHCP服务器,需要有tftp服务器和一个文件服务器,其中文件服务器可以是ftp,http,nfs等文件服务器,如果服务器性能好或者流量不是太大,这些服务器完全可以放在一台服务器上面。当然pxe启动需要网卡支持这样的功能,好在现在的绝大部分的网卡已经支持这样的功能了!
2. PXE 部署系统自动化安装流程

(1) 设置拥有pex功能的客户端主机开机启动项为网络启动,一般默认都此选项,如果没有可自行设置bios启动项

(2) 客户端开机之后进入网络启动,此时客户端没有IP地址需要发送广播报文(pxe网卡内置dhcp客户端程序),dhcp服务器相应客户端请求,分配给客户端相应的IP地址与掩码等信息

(3) 客户端得到IP地址之后,与tftp通信,下载pxelinux.0,default文件,根据default指定的vmlinuz,initrd.img启动系统内核,并下载指定的ks.cfg文件

(4) 根据ks.cfg文件去文件共享服务器(http/ftp/nfs)上面下载RPM包开始安装系统,注意此时的文件服务器是提供yum服务器的功能的。

复制相关需要的内核或其它文件:

(1)其中和菜单启动引导文件等由syslinux包提供,所以安装此包即可。

[root@centos7 ~]
# yum -y install syslinux

(2) 复制文件:

[root@centos7 pxeboot]
# cd /mnt/cdrom/p_w_picpaths/pxeboot
[root@centos7 pxeboot]
# ls
initrd.img TRANS.TBL upgrade.img vmlinuz
[root@centos7 pxeboot]
# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@centos7 pxeboot]
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[root@centos7 pxeboot]
# cp /usr/share/syslinux/{chain.c32,memdisk,menu.c32,mboot.c32} /var/lib/tftpboot

(3) 编辑default文件:

[root@centos7 pxeboot]
# cd /var/lib/tftpboot
[root@centos7 tftpboot]
# mkdir pxelinux.cfg
[root@centos7 tftpboot]
# cd pxelinux.cfg/
[root@centos7 pxelinux.cfg]
# vim default
default menu.c32
    prompt 5
    timeout 30
    MENU TITLE Centos7 PXE
       
    LABEL linux_auto
    MENU LABEL Install Centos7 x86_64 AUTO 
    install
   KERNEL vmlinuz
   APPEND initrd=initrd.img ks=ftp://192.168.20.77/pub/ks.cfg
    
   LABEL linux
  MENU LABEL Install Centos7 x86_64
  KERNEL vmlinuz
  APPEND initrd=initrd.img inst.repo=ftp://192.168.20.77/pub/centos7
[root@centos7 ~]
# cd
[root@centos7 ~]
# cp ks.cfg /var/ftp/pub/
[root@centos7 ~]
# chmod +r /var/ftp/pub/ks.cfg

(1) initrd.img该文件可以在内存当中模拟文件系统

(2) vmlinuz则是一个缩减版的内核文件拥有一些基本的网络功能,可以控制客户端进行下一步的从文件共享系统中下载真正的内核文件和驱动文件,最后真正的内核文件解压进行接管上一个内核,开始进行软件包的真正安装等任务。

(3) Pxelinux.0文件它可以解释default文件中的每个配置项,并根据配置项做出不同的反应。如等待的时间、启动器背景、启动菜单、内核引导等等。

(4) Vesamenu.c32和menu.c32是syslinux所拥有众多模块中的两个,它们的功能是制定启动器使用什么模式的背景。Vesamenu.c32图形模式,menu.c32文本模式。使用时可以选择一个,这里我选择的是文本模式。

(5) pxelinux.cfg目录,pxelinux被执行后,它会扫描该目录下是否存在指定的配置文件,如果存在,则引用被制定的配置文件。

(6) Default文件存放于pxelinux.cfg目录中,pxelinux程序最后扫描的配置文件名就是default,所以,我们经常把启动器配置项都写入该文件中,default文件中第一行指定使用哪种形式的图形化,menu.c32为字符图形化,也可以使用图形化的菜单vesamenu.c32。prompt和timeout指定超时时间,可以有多段,使用MENU TITLE 指定主标题,不同的安装方式可以有不同LABEL,我这里有两种,手动和自动,第一种为使用ks.cfg文件自动安装,第二种使用手动方式安装,记得ks.cfg文件的权限问题,对他人要有读权限!

(7) 如果是多网卡的主机要在default文件的append传递启动网卡是哪一个,不然会在开机启动让你选择使用哪个网卡启动,并且没有默认,如:使用eth0启动则向内核传递ksdevice=eth0参数。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容