2015年7月8日 星期三

BBU/SuperCAP進入充放電時,效能大不同。

先必須了解什麼是 Write-Back 與 Write-Through 模式。

LSI/Avago在手冊有其簡易定義。如果要了解更精闢或是更詳細說明,可以搜尋一下網路上很多文章討論。

今天所要探討的是:再搭配 BBU 設定 Write-Back 或 Write-Through,這兩個模式的效能是一樣的嗎
LSI/Avago並沒有說明這點。但說了,當在進入 Learn Cycle DRT模式時,控制器會被切換成 Write-Through cache 模式


有何影響?
我在硬碟壓力測試下,讓 LSI/Avago 控制器進行切換 Write-Back 與 Write-Through。發現差異頗大。


在切換至 Write-Through 模式後,系統的整體效能掉了下來。而切換回去 Write-Back模式,效能又回來了

當然,你也可以寫 script,每隔一段時間就去確認是否被改成Write-Through模式。但是一旦你改成 Write-Back 又沒有電池在保護,如果此時斷電,那很有可能就 Data Lost。
因此採用 MPIO 來分流,避免大量IO讀寫時,系統進入 Write-Through 導致過度負載,而降低整體應用效能。

2015年7月6日 星期一

關閉Skype佔用 80及445 埠

如果常常會需要安裝http、apache、ASP/PHP/JSP等網頁伺服器套件時,會發現有port 80被佔用了。

除了確認是否有大型軟體,例如 能透過網站方式管理的VMware、Supermicro SSM這類型軟體,也不要忘記大家常用的通訊軟體Skype,預設也會佔用 80/445 (http/https)。

關閉Skype使用80/445埠方式,至功能->設定選項->進階->連線,然後把 "使用 80 何 445 連接埠做為額外連入連線" 給取消。然後設定其他可對外使用的連接埠。

note: 如果公司有封閉連接埠,還需要與你的MIS確認哪個是可以使用的,不然Skype會無法使用!

2015年7月3日 星期五

monitorix圖形化監控軟體 - 修改圖像顯示從1天(1day)至1小時(1hour)

monitorix 是採用 rrdtool 圖像顯示模組來產生報表。
如果套用的模組是經過壓密後,或非文字模式顯示,那麼要修改其資料結構或是資料庫是有困難的。
但 monitorix 有一個很奇妙的地方。預設的顯示是1day, 1month, 1year,也就是
使用者能選擇要顯示的報表模式可以是 1天,1個月,1年為基準。但是往往我們在看 performance效能圖,都需要看到 每1秒、每1分鐘、每1小時,那要怎麼改?

monitorix 目前只支援到 1hour,而且需要為 v2.4.1 版本後才能支援。

接著,如果你有注意看monitorix網址的內容,你會發現已下內容
http://IP地址/monitorix-cgi/monitorix.cgi?mode=localhost&graph=all&when=1day&color=black

沒錯,如果要用hour的方式顯示,此時不是改成 when=1hour 喔,是改成 when=hour
http://IP地址/monitorix-cgi/monitorix.cgi?mode=localhost&graph=all&when=hour&color=black

那麼就會得到以下內容,看到沒?單位變成 hour 顯示了。
那可不可以修改首頁內容,方便直接選 hour 的選項?

答案是:可以,但是有限制
為何可以但是又有限制?因為當 monitorix 重啟後,或是系統重新開機,你會發現 index.html 被重新覆蓋掉了

那如何修改 index.html?
修改:
vi /var/lib/monitorix/www/index.html

找到 input type="radio" checked 這字串,複製 <td></td>內的整串內容。
把 value="xxx" 換成 value="hour"
如果要讓預設就直接選取到,請加入 checked 在 name="when"之前。checked請不要重複在1day, 1week, 1year的input內,切記!
示範圖,如下:
修改完成後,重新讀取網頁就會看到 Hourly 的選項了。
點擊OK就可以看到,監控變成每小時顯示模式。



再來,驗證 index.html 是否會因為重啟而回歸原始設定內容。(如果有修改,請先備份 index.html 吧!)

service monitorix restart

再次reload網頁,發現真的會被回歸設定。

其實,也有應對方法。可以透過 crontab 進行每日排程比對檔案大小 ( du )。
只要檔案大小不對,就 cp 之前修改的檔案至 /var/lib/monitorix/www/index.html 進行覆蓋。
如果之後有發現更好的方法,日後會再提供嚕。

2015年7月2日 星期四

monitorix圖形化監控軟體 - 設定監控項目

在安裝完畢後,有些預設的項目可能不是我們所需要的。 此時可以透過修改 monitorix設定檔,來達到我們所需要被監控的裝置或是系統狀態。例如我要顯示特定掛載磁碟的IO狀態。

1. 先查看掛載的磁碟

df
假設要監控 /dev/sda1 的硬碟,查詢 官方文件 的 Filesystem usage and I/O activity 說明,那麼我們需要更動一些設定。

這是預設監控硬碟的內容。


首先,至 monitorix 設定檔案: (預設在  /etc/monitorix/monitorix.conf )

找到 <fs> 設定區域。

<list></list> 之間,有沒有發現為  0 =/, swap, /boot
這就是預先設定監控的項目。此時我們可以加入所要監控的磁區。

加入完成後,重新啟動服務。

service monitorix restart

這時候再回去看看 Filesystem usage and I/O activity,就會出現你所設定的項目在監控中。如圖:

其他設定及修改都大同小異。當然如果覺得圖片格式太小,也可以修改pixel尺寸,但是修改的內容要對應RRDtool設定,避免修改後會出現圖像錯亂的問題。有關rrdtool,可以參考 這裡

(備註: monitorix的預設顯示單位是 1 day,如果要讓它計量單位為 每小時, 每x小時,那麼就要自行修改)。如何修改,請參考這篇,monitorix圖形化監控軟體 - 修改圖像顯示從1天(1day)至1小時(1hour)

2015年7月1日 星期三

monitorix圖形化監控軟體 - 安裝篇

測試人員在撰寫測試報告時候,通常會提供一連串數據資料。
但是如果能用圖片說明,再把data當成reference,那麼就會使報告看起來簡單許多,而不會太多繁瑣文字敘述。

Linux有許多圖形化監控軟體,如 Monitorix、OpenNMP、Observium、Zabbix、Cacti、Collectd、MRTG等。市面上大多免費軟體都是透過 SNMP 方式去監控、也有部分是使用 client agent 然後需要安裝一套 centralize / consolidation 軟體套件去做管理。

首先,先把所需套件安裝起來。
yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI perl-DBI perl-XML-Simple perl-Config-General perl-HTTP-Server-Simple perl-IO-Socket-SSL
這是從官網上的截圖,所需要的套件如下:
說明: 這裡注意一下,有些套件是在DVD2裡。如果出現這個錯誤,可能是你沒有把套件丟去PXE server或是你只有把DVD1的檔案copy到系統,而在做yum install時候找不到。



↓ 下載並且直接進行安裝。
rpm -ivh http://www.monitorix.org/monitorix-3.7.0-1.noarch.rpm

↓ 編輯 httpd 並新增virtualhost。

vim /etc/httpd/conf/httpd.conf
↓ 加入

重新啟動 httpd 與 monitorix 服務
service httpd restart 

service monitorix restart
使用 IE、Firefox、Chrome等,網路閱覽器進行登入。
IP: http://IP_ADDR:8080/monitorix


2015年6月29日 星期一

64位元PXE模式開啟

如果要讓主機板能支援 64位元的 PXE Boot,請至BIOS內設定 network stack -> Enabled.

圖示如下:

2015年6月28日 星期日

使用Linux,並啟動SOL(Serial Over LAN)管理伺服器

管理者因為要一次多台管理,因此在管理server多半都採用command line (CLI)的方式做操作。
如果使用GUI,那麼畫面通常沒辦法把完整訊息傳至terminal。而當管理者要登入,只能透過iKVM或是至機房實機操作。但這不但耗費時間,且如果要對數百台做韌體、軟體更新,那一台一台操作會曠日廢時。

因此很多網管在針對伺服器管理都會透過IPMI方式,把畫面redirect到putty或是secureCRT這類軟體上進行操作。 要如何實現? 


  • 首先,IPMI在v2.0的spec有定義SOL的支援。因此,要使用SOL,必須為IPMI 2.0支援的伺服器(現在伺服器只要有IPMI的,理論都有v2.0的支援才是!) 
  • 再者,BIOS及IPMI韌體需支援。 
  • 其次,配備基礎網路設備,能讓管理者access被管理伺服器的IPMI (這個有點廢話,但是不說怕有人誤會是在機器前操作......)
操作:
  1. 先至BIOS啟動SOL設定。
  2. 接著,確定Console redirection設定
  3. 如果使用Microsoft console,請把Outband Management的功能打開。

  4. 到這步驟,已經完成BIOS設定。接著要去Linux內設定讓OS能redirect terminal至IPMI。

  5. /boot/grub/grub.conf 尋找 "splashimage=(hd0,0)/grub/splash.xpm.gz",並把它用 "#" 符號給屏蔽掉。
  6. 在splahimage下方,輸入這2行。
  7. serial --unit=1 --speed=115200 --word=8 --parity=no --stop=1
    
    terminal --timeout=10 serial console
  8. 同時,在相同檔案內grub.conf找到kernel,並且在其字串最後面輸入COM port設定。

  9. 完成圖如下:
  10. 最後,在 /etc/inittab 內,輸入:
  11. s0:2345:respawn:/sbin/agetty ttyS1 115200

    說明: ttyS1 會根據你設定的COM port# 而有所不同。如果是COM1,那麼就是ttyS0。請注意這點有所不同。
    到這裡,Linux的設定就結束了。現在要啟動SOL服務。

  12. 請先下載 ipmitool 或是 SMCIPMITool。執行指令進入 shell 模式
  13. SMCIPMITool IP_ADDR USERNAME PASSWORD shell
    IP_ADDR: IPMI的IP地址
    USERNAME: IPMI的登入使用者帳號
    PASSWORD: IPMI的登入使用者密碼

  14. 輸入指令,啟動SOL Windows
  15. sol window

    系統重啟後,就可以看到BIOS畫面。當進入Linux後,terminal也會打在sol window上。這樣就能透過指令方式,輕鬆管理伺服器了。





2018/6/22更新:
如果採用RHEL/CentOS 7版本,那麼可以按照以下方式做。

  1. Fedora有講到這個項目設定,參閱 這裡
  2. 修改 /etc/default/grub
    #vim /etc/default/grub
    Add
    GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"
    GRUB_TERMINAL="serial"
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
  3. 更新開機grub
    #grub2-mkconfig -o /boot/grub2/grub.cfg