运维服务器信息收集
運維服務器信息收集;
作為一個運維,我們新服務器上架時有很多頭疼的事。其中數據收集在我看來就是一個比較惡心的事。以下來討論一下數據收集方面我的一此想法和做法,歡迎板磚^_^
一.供貨商的“特殊服務”
供 貨商通常是選定不變的,而他們為了“討好”我們會使更種手段。送錢送物也很常見(不過本人還是強烈不建議您收=.=)。不過這是我們利用他們的一個比較重 要的方法。讓他們幫我們做一些事情。他們就算再頭疼,為了下次合作也會幫我們完成,不管他們心里如何問候我們的祖輩。我們簡化了操作,這點很重要。
(下以dell 服務器為例,我們用的80% 是dell.)
1.?????? 提供管理卡IP對應服務器。
我 們服務器選型的時候總會考慮機器應用,這里需要提前對遠程管理卡(下稱rac卡)的IP進行歸化。(當然就需要網絡環境完善的情況下,我的意思是需要已經 對IP資源有了完整的規劃)。之后,我們就把相應服務器和與之相對應的rac卡管理IP一一對應,生成一個電子文檔,然后打印出來交給他們。最好將相應服 務器的標簽也給他們。不管是打號機,還是口曲紙。讓他們幫忙貼上。最后給他們打印出來。格式示例如下
機器編號|外網IP|內網IP|管理卡IP|磁盤配置|機器型號配置|應用|服務編碼
其中 機器型號配置,磁盤配置,和管理卡IP是必須要有的
2.?????? 貼簽 + rac配置 + raid配置
讓供貨量出人配置rac 卡IP,配置raid ,幫你貼簽。
這里需要強調一點,如果是同群集的服務器,最好不要放在一個機架上。萬一某個機架出了問題你會哭的很慘。
等著他們把活干完,你去驗收就行了。
3.?????? 驗收
選擇一臺中控機。(需要所有機器的網線已插)能過這臺機器對其它機器進行管理。然后掃下22號吧。確認給他們的IP已經都打開了22端口。腳本如下(需要指定IP段)
#!/bin/bash
# Made by leary
IP=”192.168.10.50-150″
PORT=”22″
paste_line(){
nmap $IP -p $PORT -n |grep -Ev “Nmap finished|Starting Nmap”|\
while read line ;do
???????? if [ "$line" == "" ];then
?????????????????? printf “\n”
???????? else
?????????????????? printf “$-s”,”$line”
???????? fi
done
}
paste_line |awk ‘{print $4″ “$7}’|sed ‘s/:hBs,PORT//g’
二.MAC地址的收集
通過遠程管理卡ssh 命令行管理取出。需要使用expect。用于輸入密碼。如果想避開ssh yes/no的問題。可以修改/etc/ssh/ssh_config 將StrictHostKeyChecking ask 改成StrictHostKeyChecking no
Expexct 腳本示例
#!/usr/bin/expect -f
spawn ssh 192.168.31.69 “racadm getsysinfo -s”
expect “*password:”
send “calvin\r”
expect eof
通過循環取出NIC1的MAC地址。(比如將結果重定向到 /tmp/leary_mac ,然后使用grep過濾)列表格式就隨意了。主要為是了DHCP配置文件的添加。其它的信息也可以能過這種方法取得。只要rac卡里有。比如dell的快速服務器編碼等等
統計好的信息可以通過API錄入運維管理系統。總之就是日常的那個服務器記錄的位置。
現在我們已經把管理系統中的主機信息完全完成了。接下的來工作就簡單了。
三.Dhcp 配置文件生成。
為了快速的安裝系統,通常我們都會使用網絡安裝。有了收集回來了mac地址,這個工作就簡化了很多.網絡安裝不是本人重點,這里不再贅述。需要強調的是:所以的dhcp必須是基于mac地址的分發。比如
host host20 {
??????? hardware ethernet? xx:xx:xx:xx:xx:xx;
??????? fixed-address 192.168.30.20;
??????? filename “pxelinux.0″;
?? }
四.Bios 修改啟動順序
Dell的默認啟動順序是從網絡啟動。這樣雖然能安裝系統。但安裝系統如果重啟,并且未關閉自動安裝服務器的話,服務器會被重新安裝。解決方法:仍然是通過dell rac卡的命令行模式
Expect腳本如下
#!/usr/bin/expect -f
spawn ssh 192.168.31.249
expect “*password:”
send “calvin\r”
expect “*admin1->”
send “start /system1\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice \”HDD\”\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgServerBootOnce \”0\”\r”
expect “*admin1->”
send “reset /system1\r”
expect “*admin1->”
send “exit\r”
expect eof
說明:
racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice “HDD” 實現從硬盤啟動
racadm config -g cfgServerInfo -o cfgServerBootOnce “0″ 實現永久修改
reset /systerm1 為重啟服務器
五.網絡安裝
不管使用什么方案。Kickstart 、FAI 等等 配置好相應的配置文件。定制的話可以通過完成安裝是的自動執行腳本修改。比如配置IP等等。或者不使用pxe啟動的默認配置。將其改為相應mac。方法不再此詳述。
腳本示例
#!/usr/bin/expect -f
spawn ssh 192.168.31.238
expect “*password:”
send “calvin\r”
expect “*admin1->”
send “start /system1\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice \”PXE\”\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgServerBootOnce \”1\”\r”
expect “*admin1->”
send “reset /system1\r”
expect “*admin1->”
send “exit\r”
expect eof
腳本說明
racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice “HDD” 實現從網絡啟動
racadm config -g cfgServerInfo -o cfgServerBootOnce “0″ 實現臨時修改
start /system1 給服務器加電
注:通過測試,rac默認是臨時修改
六.Server端的流量
我測試過50臺機器并發通過FAI安裝debian,流量大概在120M 左右。按此值估計并發200臺機器肯定是沒問題的。
七.通用腳本
此腳本的主要功能要實現,通過dhcp獲得的IP,或者cfg里配置指定的IP,總之就是當前的內網IP修改本地ip配置文件,并配置外網IP。部署環境也可以在此腳本中實現。如果有運維管理系統的客戶端,也可以在此腳本中定義安裝。但前提是要基于IP判斷。
八.最后的掙扎
最后再檢查一次配置的內外網IP通不通,ssh端口,iptables規則,等等相應服務。
總會有網線插錯,磁盤損壞,raid配錯,等情況等著你,但應該是很小的一部分了。
一次大規模的服務器上線也就是這點事了。
轉載于:https://www.cnblogs.com/ruiy/p/collection.html
總結
- 上一篇: 解决写文档对于图片边框的强迫症
- 下一篇: 按键 使用WinHttp实现POST方式