軟體發行後, 或者增加新功能, 或者修正問題, 難免都需要進行更新, 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
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
3. 將 Yum Repository 的設定 Enable
cd /etc/yum.repos.d
sed -i 's/enabled=0/enabled=1/g' opennms-*
4. 更新
yum -y upgrade opennms mib2opennms
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
7. 啟動服務
service start opennms
Ok!! 更新完成!!
參考文件: OpenNMS Install Guide
留言列表