當前位置:
首頁 > 科技 > 不認命,就是運維人員的命

不認命,就是運維人員的命

「若命運不公,就和它斗到底!」

你有沒有被近期大火的國漫之光——

《哪吒之魔童轉世》

這句硬核台詞打動?

逆境之下,

你是兩手一攤聽之任之?

還是主動尋找抗爭辦法,

逆轉乾坤?

不認命,就是運維人員的命

《運維工程師自述:別問我怎麼禿的,問就是「重複」!》

不認命,就是運維人員的命

作為企業運維人員,日常系統安裝及維護工作中,我們難免要跟「重複」這個敵人打照面,比如部署伺服器操作系統,一台、兩台尚可手動操作,但企業級伺服器動輒幾十、幾百甚至成千上萬的規模,若仍人工地一台台安裝,必定浪費大量時間,造成低效。

面對這種情況,運維人員就該認命般埋頭繼續嗎

當然不!

除了手動安裝,還有自動化、批量部署!

關於伺服器系統的批量部署,除了之前在《工程師筆記︱如何實現帶外批量部署》一文中講到的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安裝伺服器時,遇到引導過程停在引導界面且無任何錯誤日誌的情況,經分析發現可能是引導文件出了問題,最後通過更換版本解決了。但是實際操作過程中,由於伺服器屬於共享資源,不便於進行測試一旦出現問題勢必會影響其他設備的安裝

不認命,就是運維人員的命

案例二

某客戶在PowerEdge R740xd伺服器上搭建PXE安裝操作系統,過程中屏幕變紅,無法正常引導,嘗試了各種操作,包括升級系統BIOS固件、升級網卡固件、重新設置網路介面、系統初始化,甚至更換網線等,依然無法解決。

不認命,就是運維人員的命

經分析,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操作系統,具體的安裝方法可以從網上找到▼。

不認命,就是運維人員的命

從如下鏈接下載CentOS鏡像

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

從如下鏈接下載AIO Boot安裝文件:

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

不認命,就是運維人員的命

三.伺服器搭建3

執行之前下載的AIO Boot安裝程序,勾選Use Hard Disk Drive選項,將安裝程序解壓到本地硬碟上▼。

不認命,就是運維人員的命

解壓到C盤的文件主要包括AIO.EFI目錄及AIOCreator.exe、PartIMGMapper.exe等▼。

不認命,就是運維人員的命

將CentOS7的ISO格式鏡像,掛載到伺服器的D盤上▼。

對於戴爾易安信伺服器的掛載可以在kvm界面的Virtual Media中操作,在Map CD/DVD中進行設置。

不認命,就是運維人員的命

不認命,就是運維人員的命

進入C:AIOToolsPXE根目錄,創建名為iso的目錄,並在其下創建centos74子目錄,再將所有CentOS光碟的內容拷貝到C:AIOToolsPXEisocentos74目錄下——這些是安裝CentOS所需文件,用戶可根據部署的操作系統屬性決定是否更換其他版本的文件▼。

不認命,就是運維人員的命

從光碟D:imagespxeboot目錄中拷貝initrd.img和vmlinuz這兩個文件到C:AIOToolsPXEimages目錄下,images目錄需提前創建,此文件用於引導CentOS的安裝▼。

不認命,就是運維人員的命

不認命,就是運維人員的命

在C:AIOToolsPXE下新建一個名為pxelinux.cfg的目錄▼。

不認命,就是運維人員的命

用寫字板工具新建並編譯名為default的文件。下面是default文件的內容,可以看到kernel一行定義了vmlinux的路徑,append一行定義了initrd.img的路徑及centos7安裝文件的地址▼。

default linux

timeout 60

display boot.msg

menu background splash.png

menu title Welcome to CentOS 7.4 x86_64!

label linux

menu label ^Install CentOS Linux 7 x86_64

menu default

kernel images/vmlinuz

appendinitrd=images/initrd.img method=http://10.10.10.10/iso/centos74 devfs=nomount

同樣可以看到,default文件配置中的IP地址跟伺服器網卡的IP地址是對應的▼。

不認命,就是運維人員的命

進入目錄C:AIOToolssyslinux▼。

不認命,就是運維人員的命

這裡使用syslinux4.07版本,從syslinux4.07目錄複製pxelinux.0文件到C:AIOToolsPXE目錄下▼。

不認命,就是運維人員的命

不認命,就是運維人員的命

如果上一步沒有合適的版本,可以打開瀏覽器輸入https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/,進入syslinux頁面▼。

不認命,就是運維人員的命

尋找適合的syslinux版本▼:

不認命,就是運維人員的命

下載並解壓後,可在core目錄中找到pxelinux.0文件▼

不認命,就是運維人員的命

進入C盤根目錄,找到AIOCreator.exe這個文件,點擊執行此程序▼。

不認命,就是運維人員的命

隨後彈出一個AIO Boot界面,點擊Run PXE▼。

不認命,就是運維人員的命

彈出一個對話框,需要選擇引導模式,這裡選擇Legacy▼

不認命,就是運維人員的命

出現了Tiny PXE Server的界面,點擊右上角的Offline按鈕,停止程序運行▼。

不認命,就是運維人員的命

在BootFile這裡更換之前準備好的pxelinux.0引導文件▼

不認命,就是運維人員的命

指定pxelinux.0文件路徑▼:

不認命,就是運維人員的命

選定了pxelinux.0的文件▼:

不認命,就是運維人員的命

? 點擊Online按鈕再次啟動。這裡要勾選HTTPd,用於安裝過程中iso目錄里Centos安裝包的下載,IP地址要與伺服器的地址保持一致,將需要安裝系統的設備連接到此伺服器上,要求在同一個網路裡面,並關閉防火牆▼

不認命,就是運維人員的命

?若測試伺服器為UEFI的引導模式需要指定Boot File為grubx64.efi▼

不認命,就是運維人員的命

在C:AIOToolsPXE下添加grub.cfg文件▼:

set default="0"

default=0

timeout5

hiddenmenu

menuentry"CentOS 7.4 Installation" --class fedora --class gnu-linux --class gnu --class os {

linuxefi/images/vmlinuz method=http://10.10.10.10/iso/centos74 devfs=nomountip=dhcp initrdefi/images/initrd.img}

四.測試安裝4

被測試機與PXE伺服器直連:將伺服器的RJ45網口連接到被測機的網口上,設置被測機配置為PXE網路引導。下圖是R740xd上的實際引導界面▼:

不認命,就是運維人員的命

也可以查看日誌▼:

不認命,就是運維人員的命

配置正確,開始安裝,隨後進入CentOS7的安裝界面,後面的步驟與本地安裝CentOS的方式相同▼。

不認命,就是運維人員的命

注意:這裡可能會遇到一個配置問題,即從CentOS光碟中複製的repodata目錄中的文件缺少擴展名,會導致安裝失敗▼。

不認命,就是運維人員的命

因此,需要將複製到iso目錄中相應文件的擴展名添加上▼。

不認命,就是運維人員的命

戴爾易安信PowerEdge

伺服器的客戶端配置

戴爾易安信PowerEdge伺服器的PXE引導設置比較簡單,首先在系統引導中按下F2鍵,進入BIOS配置界面▼。

不認命,就是運維人員的命

在Device Settings界面中根據實際情況,配置需要用於PXE引導的網口,這裡選擇了Port3▼

不認命,就是運維人員的命

點擊Port3口,在配置頁面選擇NIC Configuration▼。

不認命,就是運維人員的命

在Legacy Boot Protocl中,選擇PXE▼。

不認命,就是運維人員的命

返回最上層界面,進入System BIOS▼。

不認命,就是運維人員的命

在Boot Settings的BIOS Boot Settings設置中,編輯Hard-Disk Drive Sequence選項▼。

不認命,就是運維人員的命

將Port3口的順序移到最上面,即可實現首先引導PXE▼

不認命,就是運維人員的命

如果想實現每次啟動系統都優先引導至PXE的效果,最好在PXE伺服器的引導菜單中添加默認本地啟動

此外,也可以使用One-time的方式執行PXE安裝——在界面調用PXE使用ipmitool工具,這種方式下,用戶可以只在需要時進行PXE安裝,從而避免每次都引導至PXE的麻煩:

? 通過idrac的kvm控制台,選擇PXE,下一次引導系統時將會優先執行PXE引導(如下圖▼)。

不認命,就是運維人員的命

? 使用ipmitool工具,從遠程執行命令來進行設置▼。

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

使用ipmitool工具設置完成pxe引導後,重啟系統時會高亮顯示PXE Boot▼。

不認命,就是運維人員的命

在一台伺服器上搭建完成PXE測試環境後,相關目錄及文件可以複製到U盤帶走,需要時再複製到其他伺服器上,即可立刻使用。有了自備的PXE測試環境,用戶就可以針對操作系統版本及配置文件進行修改、做相應測試,以及驗證伺服器端的問題,助力伺服器自動化部署更加順暢。

不認命,就是運維人員的命

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 至頂網 的精彩文章:

生態為王 浪潮商用機器與合作夥伴讓Power更強大
電力大數據:一張電費繳費單可以告訴你很多事

TAG:至頂網 |