不认命,就是运维人员的命!

企业动态
作为企业运维人员,日常系统安装及维护工作中,我们难免要跟“重复”这个敌人打照面,比如部署服务器操作系统,一台、两台尚可手动操作,但企业级服务器动辄几十、几百甚至成千上万的规模,若仍人工地一台台安装,必定浪费大量时间,造成低效。

“若命运不公,就和它斗到底!”

你有没有被近期大火的国漫之光——

《哪咤之魔童转世》

这句硬核台词打动?

逆境之下,

你是两手一摊听之任之?

还是主动寻找抗争办法,

逆转乾坤?

[[272386]]

《运维工程师自述:别问我怎么秃的,问就是“重复”!》

作为企业运维人员,日常系统安装及维护工作中,我们难免要跟“重复”这个敌人打照面,比如部署服务器操作系统,一台、两台尚可手动操作,但企业级服务器动辄几十、几百甚至成千上万的规模,若仍人工地一台台安装,必定浪费大量时间,造成低效。

面对这种情况,运维人员就该认命般埋头继续吗

当然不!

除了手动安装,还有自动化、批量部署!

关于服务器系统的批量部署,除了之前在《工程师笔记︱如何实现带外批量部署》一文中讲到的OME软件,今天我们再介绍另外一种方法——搭建PXE服务器

 

PXE服务器

PXE(Preboot Execute Environment,预启动执行环境)是由Intel公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统。

PXE可以引导多种操作系统,如:Windows95/Windows98/Windows2000/Windows2003/Windows2008/winXP/win7/win8/linux系列等。当计算机引导时,BIOS把PXE Client 调入内存中执行,然后由PXE Client 将放置在远端的文件通过网络下载到本地运行,实现操作系统的批量部署节省时间提高效率

不过,实际操作中配置PXE时,可能会出现引导不成功的情况,下面两个案例是笔者曾在客户现场遇到的情形:

案例一

在某客户现场测试PXE安装服务器时,遇到引导过程停在引导界面且无任何错误日志的情况,经分析发现可能是引导文件出了问题,最后通过更换版本解决了。但是实际操作过程中,由于服务器属于共享资源,不便于进行测试一旦出现问题势必会影响其他设备的安装

2.jpg

案例二

某客户在PowerEdge R740xd服务器上搭建PXE安装操作系统,过程中屏幕变红,无法正常引导,尝试了各种操作,包括升级系统BIOS固件、升级网卡固件、重新设置网络接口、系统初始化,甚至更换网线等,依然无法解决。

3.jpg

经分析,PXE服务器端出现的问题的可能性较大,不过客户的PXE服务器环境涉及上百台用于开发测试的设备,无法直接进行调试,幸好现场有多台服务器可以使用,情急之下,我们决定自行搭建PXE环境用于调试,搭建完成之后,才发现屏幕变红无法正确引导的原因是引导文件版本较低,更换了对应文件后,才能够正常引导R740xd进行安装。

以上两个案例,都存在类似问题,就是用户服务器端版本出现问题导致PXE引导不成功,因此,在解决问题时除了排查问题的方法,还要有解决问题的资源,这就有必要自备一个可以立即使用、能够查看详细日志,并且根据需要进行各种测试的PXE环境了

一般企业内部会选择Linux作为PXE服务器,但在Linux服务器搭建PXE环境还是需要一定基础的,对于测试及简单安装的环境而言,基于Windows环境的软件,图形界面友好,只需要一些简单步骤即可快速搭建完成,无疑是更好的选择。

环境搭建一.需要的环境1

① 一台服务器,PowerEdge R740xd;

 一台被测服务器 PowerEdge R740xd(用于PXE安装测试);

 Windows 2012 R2安装镜像;

 AIO Boot软件;

 CentOS 7.4安装镜像。

二.环境准备2

① 在服务器上安装Windows 2012 R2操作系统,具体的安装方法可以从网上找到▼。

4.png

 从如下链接下载CentOS镜像

https://www.centos.org/download/

 从如下链接下载AIO Boot安装文件:

https://sourceforge.net/projects/aioboot/

5.png

三.服务器搭建3

① 执行之前下载的AIO Boot安装程序,勾选Use Hard Disk Drive选项,将安装程序解压到本地硬盘上▼。

6.png

解压到C盘的文件主要包括AIO.EFI目录及AIOCreator.exe、PartIMGMapper.exe等▼。

7.png

 将CentOS7的ISO格式镜像,挂载到服务器的D盘上▼。

对于戴尔易安信服务器的挂载可以在kvm界面的Virtual Media中操作,在Map CD/DVD中进行设置。

8.png

9.png

 进入C:\AIO\Tools\PXE\根目录,创建名为iso的目录,并在其下创建centos74子目录,再将所有CentOS光盘的内容拷贝到C:\AIO\Tools\PXE\iso\centos74目录下——这些是安装CentOS所需文件,用户可根据部署的操作系统属性决定是否更换其他版本的文件▼。

10.png

 从光盘D:\images\pxeboot目录中拷贝initrd.img和vmlinuz这两个文件到C:\AIO\Tools\PXE\images目录下,images目录需提前创建,此文件用于引导CentOS的安装▼。

11.png

12.png

 在C:\AIO\Tools\PXE\下新建一个名为pxelinux.cfg的目录▼。

13.png

用写字板工具新建并编译名为default的文件。下面是default文件的内容,可以看到kernel一行定义了vmlinux的路径,append一行定义了initrd.img的路径及centos7安装文件的地址▼。

  1. default linux 
  2.  
  3. timeout 60 
  4.  
  5. display boot.msg 
  6.  
  7. menu background splash.png 
  8.  
  9. menu title Welcome to CentOS 7.4 x86_64! 
  10.  
  11. label linux 
  12.  
  13. menu label ^Install CentOS Linux 7 x86_64 
  14.  
  15. menu default 
  16.  
  17. kernel images/vmlinuz 
  18.  
  19. appendinitrd=images/initrd.img method=http://10.10.10.10/iso/centos74 devfs=nomount 

同样可以看到,default文件配置中的IP地址跟服务器网卡的IP地址是对应的▼。

14.png

⑦ 进入目录C:\AIO\Tools\syslinux▼。

15.png

这里使用syslinux4.07版本,从syslinux4.07目录复制pxelinux.0文件到C:\AIO\Tools\PXE目录下▼。

16.png

17.png

如果上一步没有合适的版本,可以打开浏览器输入https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/,进入syslinux页面▼。

18.png

寻找适合的syslinux版本▼:

19.png

下载并解压后,可在core目录中找到pxelinux.0文件▼

20.png

⑨ 进入C盘根目录,找到AIOCreator.exe这个文件,点击执行此程序▼。

21.png

随后弹出一个AIO Boot界面,点击Run PXE▼。

22.png

弹出一个对话框,需要选择引导模式,这里选择Legacy▼

23.png

⑩ 出现了Tiny PXE Server的界面,点击右上角的Offline按钮,停止程序运行▼。

24.png

在BootFile这里更换之前准备好的pxelinux.0引导文件▼

25.png

指定pxelinux.0文件路径▼:

26.png

选定了pxelinux.0的文件▼:

27.png

 点击Online按钮再次启动。这里要勾选HTTPd,用于安装过程中iso目录里Centos安装包的下载,IP地址要与服务器的地址保持一致,将需要安装系统的设备连接到此服务器上,要求在同一个网络里面,并关闭防火墙▼

28.png

若测试服务器为UEFI的引导模式需要指定Boot File为grubx64.efi▼

29.png

在C:\AIO\Tools\PXE下添加grub.cfg文件▼:

  1. set default="0" 
  2.  
  3. default=0 
  4.  
  5. timeout5 
  6.  
  7. hiddenmenu 
  8.  
  9. menuentry'CentOS 7.4 Installation' --class fedora --class gnu-linux --class gnu --class os { 
  10.  
  11. linuxefi/images/vmlinuz method=http://10.10.10.10/iso/centos74 devfs=nomountip=dhcp initrdefi/images/initrd.img} 

四.测试安装

被测试机与PXE服务器直连:将服务器的RJ45网口连接到被测机的网口上,设置被测机配置为PXE网络引导。下图是R740xd上的实际引导界面▼:

30.png

也可以查看日志▼:

31.png

配置正确,开始安装,随后进入CentOS7的安装界面,后面的步骤与本地安装CentOS的方式相同▼。

32.png

注意:这里可能会遇到一个配置问题,即从CentOS光盘中复制的repodata目录中的文件缺少扩展名,会导致安装失败▼。

33.png

因此,需要将复制到iso目录中相应文件的扩展名添加上▼。

34.png

戴尔易安信PowerEdge

服务器的客户端配置

① 戴尔易安信PowerEdge服务器的PXE引导设置比较简单,首先在系统引导中按下F2键,进入BIOS配置界面▼。

35.jpg

 在Device Settings界面中根据实际情况,配置需要用于PXE引导的网口,这里选择了Port3▼

36.jpg

③ 点击Port3口,在配置页面选择NIC Configuration▼。

37.jpg

④ 在Legacy Boot Protocl中,选择PXE▼。

38.jpg

⑤ 返回最上层界面,进入System BIOS▼。

50.jpg

在Boot Settings的BIOS Boot Settings设置中,编辑Hard-Disk Drive Sequence选项▼。

39.jpg

⑦ 将Port3口的顺序移到最上面,即可实现首先引导PXE▼

40.jpg

如果想实现每次启动系统都优先引导至PXE的效果,尽可能在PXE服务器的引导菜单中添加默认本地启动

此外,也可以使用One-time的方式执行PXE安装——在界面调用PXE使用ipmitool工具,这种方式下,用户可以只在需要时进行PXE安装,从而避免每次都引导至PXE的麻烦:

❶ 通过idrac的kvm控制台,选择PXE,下一次引导系统时将会优先执行PXE引导(如下图▼)。

41.jpg

❷ 使用ipmitool工具,从远程执行命令来进行设置▼。

ipmitool-I lanplus -H bmc_ip -U root -P passwd chassis bootdev pxe

使用ipmitool工具设置完成pxe引导后,重启系统时会高亮显示PXE Boot▼。

42.jpg

在一台服务器上搭建完成PXE测试环境后,相关目录及文件可以复制到U盘带走,需要时再复制到其他服务器上,即可立刻使用。有了自备的PXE测试环境,用户就可以针对操作系统版本及配置文件进行修改、做相应测试,以及验证服务器端的问题,助力服务器自动化部署更加顺畅。

[[272389]]

戴尔易安信服务器存储火热大促!

多品类服务器钜惠出击

低至二六折!

硬盘换闪存1:1促销,

买普通存储,免费升级全闪,不加价!

18.jpg

优惠多多,赶快行动吧!

19.jpg

长按二维码获取您的服务器专属底价!

获取您的服务器专属底价!

20.jpg

长按二维码立享存储优惠!

相关阅读推荐:北京师范大学百倍加速系统科学研究,戴尔科技鼎力相助

 

责任编辑:张燕妮 来源: 戴尔易安信解决方案
相关推荐

2018-03-27 16:23:53

运维AI智能

2016-01-27 15:04:31

自动化运维/IT运维

2013-03-29 09:15:08

IT运维运维人员运维工程师

2015-08-10 13:32:43

运维公有云自动化运维

2010-01-28 10:09:27

IT运维人员

2021-02-10 16:15:26

运维IT互联网

2017-11-02 10:43:30

DevOps开发运维

2017-05-16 14:25:35

运维云服务DevOps

2020-09-14 10:32:39

Linux命令文件

2014-09-12 14:50:07

运维Docker

2015-01-13 15:20:13

运维开发自动化运维

2014-04-15 10:13:01

2014-01-21 09:55:21

运维人员日志实践

2010-07-02 09:17:29

技能运维人员

2020-03-19 09:32:10

数据库运维技术

2013-03-21 17:17:34

2018-04-10 09:49:17

IT运维人员京东运维体系

2014-04-23 17:11:57

运维人员访问出错

2016-08-02 15:54:42

运维人员技术素质培训要求
点赞
收藏

51CTO技术栈公众号