軟體發行後, 或者增加新功能, 或者修正問題, 難免都需要進行更新, OpenNMS 當然也不例外囉. (其實像 OpenNMS 這種不只有更新, 還經常有更新的 Open Source 的 Project, 真是叫人感動的痛哭流涕, 君不見有的商用軟體, 時間到了就來個 EOL, 讓合法購買辛苦建置的使用者上下不得, 另一種痛哭流涕~)

OpenNMS 的小版本更新, 例如 1.8.5 更新到 1.8.9, 比較簡單, 以下分享一下以 RPM 的方式來進行 OpenNMS 的小版本更新. 請先以 SSH 連線到您 OpenNMS 的 Linux 之後在執行以下作業.

 

1. 停止服務

service opennms stop

1. 清除過期的資料 (Option)

如果擔心資料庫的資料量太大 ( Events 太多), 導致備份需要花上很長的時間與空間時, 才需要考慮這個步驟, 否則請直接跳到2. 備份!!. 
 

以下操作將會刪除 1. 超過6個禮拜以上, 且 2.已經沒有跟任何Outage有關連的 events. 

(1). 以 postgres 的身分執行 psql

sudo -u postgres psql -d opennms

(2). 刪除超過 6 週以上且沒有跟 Outage 有關連的 events

DELETE FROM events WHERE NOT EXISTS 
  (SELECT svclosteventid FROM outages WHERE svclosteventid = events.eventid  
UNION 
  SELECT svcregainedeventid FROM outages WHERE svcregainedeventid = events.eventid 
UNION 
  SELECT eventid FROM notifications WHERE eventid = events.eventid) 
AND eventtime < now() - interval '6 weeks';

(3). 離開

\q

 

Delete records from postgresql

 

2. 備份!!

更新的第一步當然就是備份了, 可別更新時因為網路忽然斷線, 停電, 幼稚園的女兒過來亂敲鍵盤, ... 等等不可預期的因素, 讓您趕不上情人節的約會. (讀者: 等等~, 有女兒了還有情人節的約會? ~"~)

OpenNMS 需要備份的有 (1). 資料庫, (2). 設定檔

(1). 資料庫

pg_dump -U postgres -Fc -C -f opennms-db-backup.pg opennms

(2). 設定檔

tar -C /opt/opennms -czf opennms-etc-backup.tar.gz etc

 

OpenNMS Backup DB/Config

 

3. 將 Yum Repository 的設定 Enable

cd /etc/yum.repos.d

sed -i 's/enabled=0/enabled=1/g' opennms-*

 

Enable Yum Repository

 

4. 更新

yum -y upgrade opennms mib2opennms

 

Upgrade using Yum

5. 將 Yum Repository 的設定 Disable

sed -i 's/enabled=1/enabled=0/g' opennms-*

6. 後續動作 (Post Installation)

先別急著啟動服務喔!! 先做完以下動作:

(1). 重新設定 JRE (以下指令是使用預設的 JRE)

/opt/opennms/bin/runjava -s

(2). 執行安裝程式

/opt/opennms/bin/install -l /usr/local/bin -dis

Post Installation

7. 啟動服務

service start opennms

 

Ok!! 更新完成!!

 

參考文件: OpenNMS Install Guide

創作者介紹

Egg Chang 的部落格

Egg Chang 發表在 痞客邦 PIXNET 留言(0) 人氣()