因爲博主所在公司最近業務量上升,各個項目進度加快,使得原有飽和的服務器資源變得緊張起來。博主非常着急啊,因而就作了一系列的資源使用統計和分析,而後向上遞交了採購計劃。linux
如題《記一次服務器上架的總結和反思》,服務器採購計劃最終是批了。博主心情愉悅地等待着這批服務器的到達,並設計了相關的上架流程和自動化方案,最終進行了具體的實施操做。雖然在實施過程當中遇到了一些問題,不過都是些不影響主流程的小問題,其中不乏在流程中忽略的點和未設計到的點,這些都是很值得過後思考和反思了。畢竟,這只是一次擴容,之後這種狀況還會發生不少次。爲了將來更美好,爲了祖國更加繁榮昌盛,爲了。。。就寫一篇博文記錄下本次服務器上架的事情吧!安全
阿西吧,不扯了,下面進入文章正題。服務器
準備工做架構
在服務器到達以前,博主在忙現有服務器資源的使用狀況統計和分析,寫服務器採購計劃,採購事宜以及機房新機櫃的合同簽定。運維
服務器資源的使用狀況統計和分析方面ssh
因爲公司這方面卡的不是很嚴,所以就採集了目前服務器的CPU、內存和磁盤的相關數據指標,來反應當前服務器資源有多緊張。。。已經緊的不能行了。。。ide
服務器採購計劃方面工具
首先針對當前架構要調整的地方和預期資源使用增加的估值來算出本次採購所須要的資源數量,而後根據資源數量換算成相關的服務器配置,最終得出服務器硬件的缺口。測試
採購方面spa
因爲公司規模也不是很大,又是家互聯網公司,也就沒有走公開招標的路線。主要針對公司的幾個經常使用供貨商進行了相關的詢價,而後針對架構進行對比,最終固然是選擇了一家性價比最高的(必須是最便宜的)一家。
機房方面
提早通知了機房的聯繫人進行了新機櫃需求的商榷。因爲是老客戶了,在價格方面也都沒啥好再談的。走走流程,合同簽下,機房那邊就提早把新機櫃準備好了。老機櫃到新機櫃之間的網線也提早交代機房爲咱們鋪設完畢。
在服務器到達以後,因爲本次線上和線下環境資源都出現不足。所以,服務器分兩個批次,一批到線上機房,一批到線下公司內部機房。到線上機房的這批,要提早和機房交代進行簽收和上架操做。機房會協助咱們記錄號服務器的SN(Serial Number)號和mac地址,這些信息正常狀況下會貼在服務器背板上。
因爲此次想把服務器的上架流程打通,使整個流程儘量的自動化,因此我和一同事就去了機房在現場協助上架。蛋疼的去早了,去了服務器才送達都還沒拆了。。。協助機房人員把服務器拆出來,拿到機房裏面進行人肉放服務器,人肉登記SN和mac進行CMDB入庫操做。
開始實施
下面就要開始自動化裝機操做了!
我先在一臺服務器上部署了一套kickstart(使用cobbler也能夠,cobbler只不過是把kickstart包了一層)。因爲本次上架的服務器是一批虛擬化服務器和一批存儲服務器,所以我針對這兩種狀況編寫了2個ks文件。
新服務器要想到PXE裝機這一步,首先作以下幾個步驟:
一、開機按F2進入System Setup
二、選擇Device Setting下的Integrated RAID Controller xxxx Configuration Utility選項卡下,根據本身的服務器類型作適合級別的RAID陣列
三、在IDRAC Setting下(即DELL遠程控制設置)下,設置遠程控制的IP和關聯的網卡接口等
四、在System BIOS下默認服務器的開機啓動順序。服務器的默認啓動順序很是重要,必定要設置爲從硬盤啓動,防止PXE裝完系統重啓以後由從PXE重複安裝。
以上的步驟設置完畢以後,咱們就能夠經過DELL的遠控頁面(即IDRAC WEB)設置服務器爲僅在下一次重啓時進入PXE啓動。
在自動裝機這個流程中,我將服務器裝機、系統初始化,應用初始化,虛擬化部署等拆封成了兩大步驟。
第一大步驟:服務器裝機
在這一步驟中,主要經過ks文件的設定來自動應答服務器安裝過程當中的各類設置,好比root密碼、時區、分區狀況等等。
這一步中,有一個重點就是如何肯定你裝的這臺服務器的主機名和 IP 是你預設好的?
我是這樣子來實現的,經過將服務器的SN號和預設主機名與IP地址作對應,而後錄入到CMDB中。在 ks 的安裝後腳本中,我經過放入命令經過獲取系統的SN號(使用dmidecode -t 1命令),而後經過SN號去查CMDB服務器獲取當前SN號對應的是哪一個主機名和 IP 地址,而後進行進一步的設置操做。
第二大步驟:系統初始化,應用初始化和虛擬化部署
在這一步驟中,主要靠編寫獨立的初始化工具來完成整個步驟的流程操做。因爲該步驟發生在服務器系統安裝操做以後,所以咱們會在系統裝機的安裝後腳本中設定自動獲取該初始化工具。在服務器重啓完畢以後執行,進而完成整個步驟操做。
該腳本主要包含:
系統層面的初始化(防火牆、selinux、內核參數、帳戶權限、服務器互信和相關安全設置等)
相關應用的初始化(自動加入到zabbix監控、puppet和ldap中)
虛擬化的初始化(自動部署虛擬化,按照CMDB中的設定自動由模板機產生虛擬機)
在整個自動化過程當中,目前考慮到的就是以上的方面。經過機房提供的SN和mac地址,將信息錄入CMDB而後服務器安裝以後經過CMDB獲取相關的元數據,完成指定操做,完全釋放企業運維。不過,我認爲只是把苦逼的部分轉嫁到了機房運維的頭上,像將服務器放到機櫃裏、抄寫SN和mac、設置raid和idrac這些仍是須要有人來搞得。不過誰讓咱們付錢了呢強調,我這裏可沒有黑機房運維的意思。
問題總結
按照我上面聊得,好像沒有啥問題似得。下面就到總結問題的時刻了。
問題以下:
一、在提採購計劃時,忘了採購網線,致使取機房前一天匆忙聯繫採購
二、去機房的時候,幹活工具沒有帶齊(我的充電線忘記帶了)
三、服務器信息在錄入CMDB的時候,我的緣由少錄入了2個字段的信息,致使2臺服務器安裝完畢以後沒有主機名和IP
四、沒有將須要安裝的軟件包作本地yum源致使安裝過程緩慢,以zabbix和puppet爲主。。。
五、因爲疏漏。。系統盤大小爲102400MB,誤寫成1024000MB,致使2臺服務器進行了重裝。。。
六、在系統初始化時,忘記添加ssh端口的更改,致使服務器安裝完畢以後,另寫腳本批量從跑該做業。
七、ks文件編寫時,沒有使用服務器作測試,致使在dell服務器上跑時,報了一個網卡選擇的問題,最後谷歌之,添加了相關參數解決了該問題
阿西吧,好憂傷了。。。整個過程當中,碰到的問題仍是蠻多的。總結下來,沒有技術性的難點和屏障,主要問題仍是處在預案不夠全面,實施的時候不夠認真仔細緻使。唉,是時候反思一波了。。。
目前,以上的問題已經被我修正。線下的這批服務器還沒搞,下週去再搞就會很輕鬆了。
OK,本文就到這裏,相關的實施文檔,我會在這兩天抽空寫下分享給你們。