控制中心版本升級
2.34
介紹
本文檔涉及 Paragon Active Assurance Control Center 從版本 2.34 升級到更高版本。
此次升級需要特殊程序,因為它涉及將 Ubuntu 作業系統從 16.04 升級到 18.04。該文件涵蓋了兩種場景:
- 將 Ubuntu 16.04(安裝了控制中心)升級到 Ubuntu 18.04。
- 全新安裝 Ubuntu 18.04,然後安裝控制中心並將備份資料從舊控制中心實例傳輸到新執行個體。
其他升級請參閱升級指南。
場景A:Ubuntu 16.04升級到Ubuntu 18.04
- 首先停用 apache2 和 netrounds-callexecuter 服務: sudo systemctl disable apache2 netrounds-callexecuter
- 停止所有 Paragon Active Assurance 服務: sudo systemctl stop “netrounds-*” apache2 openvpn@netrounds
- 備份 Paragon Active Assurance 產品資料。
筆記: 這是《操作指南》備份產品資料章節所述的備份過程,只是措詞更為簡短。
運行這些命令:
# 備份 PostgreSQL 資料庫 pg_dump –help pg_dump -h localhost -U netrounds netrounds > ncc_postgres.sql
# (或者,以二進位格式儲存:)
# pg_dump -h localhost -U netrounds -Fc netrounds > ncc_postgres.binary
# 備份 OpenVPN 金鑰 sudo tar -czf ncc_openvpn.tar.gz /var/lib/netrounds/openvpn
# 注意:請務必將它們存放在安全的地方。
# 備份RRD files(指標數據)
# 檢查 file 壓縮 RRD 之前的大小。使用 tar 命令不是
# 如果 RRD 大於 50 GB,則建議;請參閱下面的註釋。杜 -hs /var/lib/netrounds/rrd
sudo tar -czf ncc_rrd.tar.gz /var/lib/netrounds/rrd
筆記: pg_dump 指令將要求輸入密碼,該密碼可以在 /etc/netrounds/netrounds.com 資助者「postgres 資料庫」中找到。預設密碼是“netrounds”。
筆記: 對於大型設定(> 50 GB),製作 RRD 的 tarball file可能會花費太長時間,拍攝卷快照可能是一個更好的主意。執行此操作的可能解決方案包括:使用 file 支援快照的系統,或者如果伺服器在虛擬環境中運行,則拍攝虛擬磁碟區的快照。 - 使用提供的腳本 netrounds_2.35_validate_db.sh 檢查資料庫的完整性。
警告: 如果此腳本輸出警告,請勿嘗試第 5 頁「下面」所述的資料庫遷移過程。透過在下列位址提交票證聯絡瞻博網路支援: https://support.juniper.net/support/requesting-support (提供腳本的輸出)以在繼續升級之前解決資料庫問題。
- 備份控制中心配置 files:
- /etc/apache2/sites-available/netrounds-ssl.conf
- /etc/apache2/sites-available/netrounds.conf
- /etc/netrounds/netrounds.conf
- /etc/netrounds/probe-connect.conf
- /etc/netrounds/restol.conf
- /etc/netrounds/secret_key
- /etc/netrounds/test-agent-gateway.yaml
- /etc/openvpn/netrounds.conf
對於前amp樂:
須藤cp /etc/apache2/sites-available/netrounds-ssl.conf /etc/apache2/sites-available/netrounds-ssl.conf.old
- 將 Ubuntu 升級到版本 18.04。典型的升級流程如下(改編自 https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes):
• 在伺服器系統上升級:
• 如果尚未安裝,請安裝update-manager-core。
• 確保 /etc/update-manager/release-upgrades 中的提示行設定為「lts」(以確保
作業系統升級到 18.04,即 16.04 之後的下一個 LTS 版本)。
• 使用指令sudo do-release-upgrade 啟動升級工具。
• 請依照螢幕上的指示操作。就 Paragon Active Assurance 而言,您可以始終保留預設值。 (當然,您可能會因為與 Paragon Active Assurance 無關的原因而需要做出不同的選擇。) - Ubuntu 升級後,重新啟動系統。然後執行以下步驟:
- 升級 PostgreSQL。
- 更新 PostgreSQL 資料庫 file從版本 9.5 到版本 10: sudo pg_dropcluster 10 main –stop # 關閉伺服器並完全刪除叢集#「main」版本 10(這為下一個命令中的升級#做準備) sudo pg_upgradecluster 9.5 main # 升級「main」版本9.5至最新#
available version (10) sudo pg_dropcluster 9.5 main # 完全刪除叢集「main」版本9.5 - 刪除過時的 PostgreSQL 版本:
sudo apt purge postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5 - 更新 Paragon Active Assurance 套件。
• 計算包含新控制中心版本的 tarball 的校驗和,並驗證其是否等於下載頁面上提供的 SHA256 校驗和:sha256sum paa-control-center_${CC_VERSION}.tar.gz
• 解壓縮控制中心 tarball:export CC_VERSION= tar -xzf netrounds-control-center_${CC_VERSION}.tar.gz
• 安裝新的控制中心軟體包: sudo apt update sudo apt install ./netrounds-control-center_${CC_VERSION}/*.deb
• 移除過時的軟體包:
筆記: 刪除這些軟體包至關重要。
# 測試代理精簡版支持
sudo apt purge netrounds-agent-login
# 不支援的 jsonfield 包
sudo apt 刪除 python-django-jsonfield - 在進行資料庫遷移之前,您需要執行一些額外的步驟。前往此知識庫文章,向下捲動至「操作」部分(如果已安裝該版本),然後執行這些說明中的步驟 1 到 4。
筆記: 此時請勿執行步驟 5。
• 執行資料庫遷移:
筆記: 在進行遷移之前,您必須確保第 2 頁「上述」所述的資料庫完整性檢查完成且沒有錯誤。
sudo ncc 遷移
ncc migrate 指令需要相當長的時間才能執行(許多分鐘)。它應該會列印以下內容(下面省略詳細資訊):
正在遷移資料庫...
要執行的操作:
<...>
無需遷移即可同步應用程式:
<...>
運行遷移:
<...>
建立快取表...
<...>
正在同步測試腳本...
- (可選)如果需要 ConfD,請更新 ConfD 套件: tar -xzf netrounds-confd_${NCC_VERSION}.tar.gz sudo apt install ./netrounds-confd_${NCC_VERSION}\_all.deb
- 比較之前備份的配置 files 與新安裝的,並手動合併兩組內容 files(它們應該保留在相同的位置)。
- 啟用 apache2、kafka 和 netrounds-callexecuter 服務: sudo systemctl enable apache2 kafka netrounds-callexecuter
- 啟動 Paragon Active Assurance 服務:
sudo systemctl start –all “netrounds-*” apache2 kafka openvpn@netrounds - 要啟動新配置,您還需要執行: sudo systemctl reload apache2
- 安裝新的測試代理程式儲存庫:
TA_APPLIANCE_VERSION=
TA_APPLICATION_VERSION=
# 對於3.0之前的版本:
# 驗證儲存庫的完整性(回應應該是「OK」)
shasum -c netrounds-test-agent_${TA_APPLIANCE_VERSION}_all.sha256
shasum -c netrounds-test-agent-application_${TA_APPLICATION_VERSION}.sha256.sum
# 對於 3.0 及更高版本:
# 計算存儲庫的校驗和並驗證它們是否匹配
# 下載頁面提供的 SHA256 校驗和 sha256sum paa-test-agent_${TA_APPLIANCE_VERSION}_all.deb sha256sum paa-test-agent-application_${TA_APPLICATION_VERSION}.tar.gz
# 開始安裝 sudo apt-get install \ ./netrounds-test-agent-application_APPLIANCE_VERSION}_all.deb sudo cp netrounds-test-agent-application_${TA_APPLICATION_VERSION}.tar.gz \ / 是dist-packages/netrounds/static/test_agent/ - 由於在版本 2.35 中刪除了對 Test Agent Lite 的支持,因此如果安裝了舊的 Test Agent Lite 軟體包,則應刪除它們:
sudo rm -rf /usr/lib/python2.7/dist-packages/netrounds/static/test_agent/netrounds-test-agentlite*
筆記: 當您稍後升級到 3.x 時,必須先執行以下命令: sudo apt-mark unhold python-django python-django-common
場景 B:全新安裝 Ubuntu 18.04
- 在 Ubuntu 16.04 實例上,備份 Paragon Active Assurance 產品資料。
筆記: 這是《操作指南》「備份產品資料」一章中所描述的備份過程,只是措詞更為簡短。
運行這些命令:
# 備份PostgreSQL資料庫
pg_dump –help pg_dump -h localhost -U netrounds netrounds > ncc_postgres.sql
# (或者,以二進位格式儲存:)
# pg_dump -h localhost -U netrounds -Fc netrounds > ncc_postgres.binary
# 備份 OpenVPN 金鑰 sudo tar -czf ncc_openvpn.tar.gz /var/lib/netrounds/openvpn
# 筆記: 請務必將它們存放在安全的地方。
# 備份RRD files(指標數據)
# 檢查 file 壓縮 RRD 之前的大小。使用 tar 命令不是
# 如果 RRD 大於 50 GB,則建議;請參閱下面的註釋。du -hs /var/lib/netrounds/rrd sudo tar -czf ncc_rrd.tar.gz /var/lib/netrounds/rrd
筆記: pg_dump 指令將要求輸入密碼,該密碼可以在「postgres 資料庫」下的 /etc/netrounds/netrounds.conf 中找到。預設密碼是“netrounds”。
筆記: 對於大型設定(> 50 GB),製作 RRD 的 tarball file可能會花費太長時間,拍攝卷快照可能是一個更好的主意。執行此操作的可能解決方案包括:使用 file 支援快照的系統,或者如果伺服器在虛擬環境中運行,則拍攝虛擬磁碟區的快照。 - 在 Ubuntu 16.04 實例上,備份控制中心配置 files:
• /etc/apache2/sites-available/netrounds-ssl.conf
• /etc/apache2/sites-available/netrounds.conf
• /etc/netrounds/netrounds.conf
• /etc/netrounds/probe-connect.conf
• /etc/openvpn/netrounds.conf
對於前amp樂:
須藤cp /etc/apache2/sites-available/netrounds-ssl.conf /etc/apache2/sites-available/netrounds-ssl.conf.old
• 在 Ubuntu 16.04 實例上,備份許可證 file.
• 新實例至少需要滿足與舊實例相同的硬體需求。
• 在新實例上,安裝Ubuntu 18.04。我們推薦以下教學:
• https://ubuntu.com/tutorials/install-ubuntu-server
就 Paragon Active Assurance 而言,您可以始終保留預設值。 (當然,您可能會因為與 Paragon Active Assurance 無關的原因而需要做出不同的選擇。)
- 安裝 Ubuntu 18.04 後,重新啟動系統。
- 建議使用以下磁碟分割區,特別是對於快照備份(但由您作為使用者決定):
• 建議的實驗室設置分區:
• /:整個磁碟,ext4。
• 建議的生產設置分區:
• /:10% 的磁碟空間,ext4。
• /var:10% 的磁碟空間,ext4。
• /var/lib/netrounds/rrd:80% 的磁碟空間,ext4。
• 無加密 - 將時區設定為 UTC,例如amp文件如下: sudo timedatectl set-timezone Etc/UTC
• 將所有區域設定設為en_US.UTF-8。
• 一種方法是手動編輯 file /etc/default/locale.conf前任amp樂:
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LANGUAGE=en_US.UTF-8
• 確保 /etc/locale.gen 中未註解掉以下行: en_US.UTF-8 UTF-8
• 重新產生區域設定 file確保所選語言可用: sudo apt-get install locales sudo locale-gen - 確保以下連接埠上的流量允許進出控制中心:
• 入境:
• TCP 連接埠 443 (HTTPS): Web 介面
• TCP 連接埠 80 (HTTP): Web 介面(由 Speedtest 使用,重定向其他 URL到 HTTPS)
• TCP 連接埠 830:ConfD(可選)
• TCP 連接埠 6000:Test Agent 裝置的加密 OpenVPN 連接
• TCP 連接埠 6800:加密 Web測試代理應用程式的套接字連接 - 出境:
• TCP 連接埠 25 (SMTP):郵件傳送
• UDP 連接埠 162 (SNMP):發送警報的 SNMP 陷阱
• UDP 連接埠 123 (NTP):時間同步 - 安裝NTP:
• 首先停用timedatectl: sudo timedatectl set-ntp no
• 執行此指令:timedatectl 並驗證 systemd-timesyncd.service 是否處於活動狀態:否
• 現在您可以執行 NTP 安裝: sudo apt-get install ntp
• 確保已設定的 NTP 伺服器可存取:ntpq -np
輸出通常應該是用八進位表示的“全1”。 1 377 在輸出中,NTP 伺服器的「到達」值是一個八進位值,指示最後八個 NTP 事務的結果。如果所有八個都成功,則該值將為八進制 XNUMX(= 二進制 - 安裝 PostgreSQL 並為控制中心設定使用者: sudo apt-get update sudo apt-get install postgresql sudo -u postgres psql -c “使用加密密碼‘netrounds’超級使用者登入建立角色 netrounds;” sudo -u postgres psql -c“建立資料庫netrounds所有者netrounds編碼'UTF8'模板'template0';”
不建議使用外部 PostgreSQL 伺服器。
• 安裝並設定電子郵件伺服器。
• 控制中心將向使用者發送電子郵件:
• 當他們被邀請加入帳號時,
• 發送電子郵件警報時(即,如果為此目的使用電子郵件而不是 SNMP),以及
• 發送定期報告時。
• 執行指令 sudo apt-get install postfix
• 對於postfix 可以直接傳送到目標電子郵件伺服器的簡單設置,您可以將郵件配置的常規類型設定為“Internet 網站”,並且系統郵件名稱通常可以保留不變。
否則需要根據環境配置postfix。如需指導,請參閱 Ubuntu 官方文件: https://help.ubuntu.com/lts/serverguide/postfix.html.
• 在Ubuntu 18.04 實例上安裝控制中心。
此程序也會安裝 Paragon Active Assurance REST API。
匯出CC_VERSION= # 計算 tar 的校驗和 file 並驗證它是否等於 SHA256 0b11111111)。但是,當您剛安裝 NTP 時,很可能少於 XNUMX 個 NTP
如果所有交易都已發生,則該值將較小:1、3、7、17、37、77 或 177 之一。
# 下載頁面提供的校驗和 sha256sum paa-control-center_${CC_VERSION}.tar.gz
# 解壓縮 tarball tar -xzf netrounds-control-center_${CC_VERSION}.tar.gz
# 確保軟體包是最新的 sudo apt-get update
# 開始安裝 sudo apt-get install ./netrounds-control-center_${CC_VERSION}/*.deb - 停止所有 Paragon Active Assurance 服務: sudo systemctl stop “netrounds-*” apache2 openvpn@netrounds
- 恢復資料庫備份: sudo -u postgres psql –set ON_ERROR_STOP=on netrounds < ncc_postgres.sql
- 在進行資料庫遷移之前,您需要執行一些額外的步驟。前往此知識庫文章,向下捲動至「操作」部分(如果已安裝該版本),然後執行這些說明中的步驟 1 到 4。
筆記: 此時請勿執行步驟 5。
• 執行資料庫遷移:
筆記: 這是一個敏感命令,在遠端電腦上執行它時應小心。在這種情況下,強烈建議您使用 screen 或 tmux 等程序,以便即使 ssh 會話中斷,遷移命令也將繼續運行。 sudo ncc 遷移
ncc migrate 指令需要相當長的時間才能執行(許多分鐘)。它應該會列印以下內容(下面省略詳細資訊):
正在遷移資料庫...
要執行的操作:
<...>
無需遷移即可同步應用程式:
<...>
運行遷移:
<...>
建立快取表...
<...>
正在同步測試腳本...
• 使用scp 或其他工具將備份資料傳輸到18.04 實例。
• 恢復 OpenVPN 金鑰:
# 刪除任何現有的 OpenVPN 金鑰
sudo rm -rf /var/lib/netrounds/openvpn
# 解壓縮備份金鑰 sudo tar -xzf ncc_openvpn.tar.gz -C /
• 恢復RRD 資料:
# 刪除任何現有的 RRD sudo rm -rf /var/lib/netrounds/rrd
# 解壓縮備份的 RRD sudo tar -xzf ncc_rrd.tar.gz -C /
• 比較備份的配置 files 與新安裝的,並手動合併兩組內容 files(它們應該保留在相同的位置)。
• 使用許可證啟動產品許可證 file 取自舊實例:ncc license activate ncc_license.txt
• 啟動 Paragon Active Assurance 服務: sudo systemctl start –all “netrounds-*” apache2 kafka openvpn@netrounds
• 若要啟動新配置,您還需要執行:
sudo systemctl 重新載入 apache2
• 安裝新的測試代理程式儲存庫:
TA_APPLIANCE_VERSION=
TA_APPLICATION_VERSION=
# 對於3.0之前的版本:
# 驗證儲存庫的完整性(回應應為「OK」) shasum -c netrounds-test-agent_${TA_APPLIANCE_VERSION}_all.sha256 shasum -c netrounds-test-agent-application_${TA_APPLICATION_VERSIONsum}.sha256.sumsum}.
# 對於 3.0 及更高版本:
# 計算存儲庫的校驗和並驗證它們是否匹配
# 下載頁面提供的 SHA256 校驗和 sha256sum paa-test-agent_${TA_APPLIANCE_VERSION}_all.deb sha256sum paa-test-agent-application_${TA_APPLICATION_VERSION}.tar.gz
# 開始安裝 sudo apt-get install \ ./netrounds-test-agent_${TA_APPLIANCE_VERSION}_all.deb sudo cp netrounds-test-agent-application_${TA_APPLICATION_VERSION}.tar.gz \
/usr/lib/python2.7/dist-packages/netrounds/static/test_agent/
•(可選)如果需要,請依照NETCONF 和YANG API 編排指南安裝和設定ConfD。
筆記: 當您稍後升級到 3.x 時,必須先執行以下命令: sudo apt-mark unhold python-django python-django-common
故障排除
啟動 ConfD 時出現問題
如果升級後啟動 ConfD 時遇到問題,請聯絡您的瞻博網路合作夥伴或當地的瞻博網路客戶經理或銷售代表以獲得新的訂閱。
啟動 callexecuter 時出現問題
使用指令檢查 callexecuter 日誌
sudo Journalctl -xeu netrounds-callexecuter
您可能會看到以下錯誤:
Jun 03 09:53:27 myhost django-admin[6290]:錯誤 netrounds.manager.callexecuter 未處理
CallExecuter.run 中的例外 [name=netrounds.manager.callexecuter, thread=140364632504128,
進程=8238,funcName=句柄,le
Jun 03 09:53:27 myhost django-admin[6290]:回溯(最近一次呼叫):
六月 03 09:53:27 myhost django-admin[6290]: File “debian/tmp/usr/lib/python2.7/dist-packages/
netrounds/manager/management/commands/runcallexecuter.py”,第 65 行,句柄中
六月 03 09:53:27 myhost django-admin[6290]: File “debian/tmp/usr/lib/python2.7/dist-packages/
netrounds/manager/calldispatcher.py”,第 164 行,運行中
六月 03 09:53:27 myhost django-admin[6290]: File “debian/tmp/usr/lib/python2.7/dist-packages/
netrounds/manager/models.py”,第 204 行,等待
六月 03 09:53:27 myhost django-admin[6290]: File “debian/tmp/usr/lib/python2.7/dist-packages/netrounds/manager/models.py”,第 42 行,在 __unicode__ 中
Jun 03 09:53:27 myhost django-admin[6290]:AttributeError:'unicode'物件沒有屬性'iteritems'
發生的情況是,在未確保 netrounds-callexecuter systemd 服務已停止並停用的情況下升級了 netrounds-callexecuter*.deb 軟體套件。資料庫處於錯誤狀態;需要從備份中恢復,並且需要重複升級。執行下列操作來停用並停止 netrounds-callexecuter 服務: sudo systemctl disable netrounds-callexecuter sudo systemctl stop netrounds-callexecuter
Web 伺服器沒有回應
使用指令 tail -n 50 /var/log/apache2/netrounds_error.log 檢查 apache 日誌
如果看到以下錯誤,則表示 Control Center 版本 2.34 在 Ubuntu 18.04 上執行,即 Control Center 尚未成功升級。解決方案是將控制中心升級到更高版本,如本文檔中所述。
# 時間amps、pids 等在下面被剝離
目標 WSGI 腳本“/usr/lib/python2.7/dist-packages/netrounds/wsgi.py”無法作為 Python 模組載入。
處理 WSGI 腳本「/usr/lib/python2.7/dist-packages/netrounds/wsgi.py」時發生異常。
回溯(最近一次呼叫最後一次):
File “/usr/lib/python2.7/dist-packages/netrounds/wsgi.py”,第 6 行,位於應用程式 = get_wsgi_application()
File “/usr/lib/python2.7/dist-packages/django/core/wsgi.py”,第 13 行,在 get_wsgi_application django.setup(set_prefix=False) 中
File “/usr/lib/python2.7/dist-packages/django/__init__.py”,第 27 行,在安裝 apps.populate(settings.INSTALLED_APPS) 中
File “/usr/lib/python2.7/dist-packages/django/apps/registry.py”,第 85 行,填入 app_config = AppConfig.create(entry)
File “/usr/lib/python2.7/dist-packages/django/apps/config.py”,第 94 行,在 create module = import_module(entry) 中
File “/usr/lib/python2.7/importlib/__init__.py”,第 37 行,在 import_module __import__(name) 中
File “/usr/lib/python2.7/dist-packages/grappelli/dashboard/__init__.py”,第 1 行,位於從 grappelli.dashboard.dashboards 導入 *
File “/usr/lib/python2.7/dist-packages/grappelli/dashboard/dashboards.py”,第 14 行,在來自格拉佩利。儀表板導入模組
File “/usr/lib/python2.7/dist-packages/grappelli/dashboard/modules.py”,第 9 行,從 django.contrib.contenttypes.models 導入 ContentType File “/usr/lib/python2.7/dist-packages/django/contrib/contenttypes/models.py”,第 139 行,位於類別 ContentType(models.Model):
File “/usr/lib/python2.7/dist-packages/django/db/models/base.py”,第 110 行,在 __new__ app_config = apps.get_ contains_ app_config(module) File “/usr/lib/python2.7/dist-packages/django/apps/registry.py”,第 247 行,在 get_contained_app_config self.check_apps_ready() 中 File “/usr/lib/python2.7/dist-packages/django/apps/registry.py”,第 125 行,在 check_apps_ready 中引發應用程式註冊表未就緒(“應用程式尚未載入。”)
AppRegistryNotReady:應用程式尚未載入。
Paragon Active Assurance 服務重新啟動失敗
使用 sudo systemctl start –all “netrounds-*” apache2 openvpn@netrounds 重新啟動 netrounds-* 服務會產生以下訊息:
無法啟動 netrounds-agent-ws-server.service:單元 netrounds-agent-ws-server.service 被屏蔽。
無法啟動 netrounds-agent-daemon.service:單元 netrounds-agent-daemon.service 被屏蔽。
這意味著提到的服務在軟體包刪除過程中已被屏蔽,需要手動清理。清理流程如下圖所示:
sudo apt-get purge netrounds-agent-login sudo find /etc/systemd/system -name “netrounds-agent-*.service” -delete sudo systemctl daemon-reload
Juniper Networks、Juniper Networks 標誌、Juniper 和 Junos 是 Juniper Networks, Inc. 在美國和其他國家的註冊商標。所有其他商標、服務標記、註冊標記或註冊服務標記均為其各自所有者的財產。瞻博網路對本文檔中的任何不準確之處不承擔任何責任。瞻博網路保留更改、修改、轉讓或以其他方式修訂本出版物的權利,恕不另行通知。版權所有 © 2022 瞻博網路公司。
文件/資源
![]() |
JUNIPER NETWORKS 升級控制中心版本 [pdf] 使用者指南 從版本升級控制中心、從版本升級控制中心、從版本升級中心、從版本升級 |