このページの目次
アップグレード手順
以下は、コントロールセンターをアップグレードする手順です。これは通常従うべき手順です。別の手順については、次の章で説明します。
最新の Paragon Active Assuranceインストールガイドを必ず参照してください。
-
「PostgreSQLデータベースのバックアップ」セクションから始まる、操作ガイドの製品データのバックアップの章に従ってバックアップを作成してください。
さらに、ファイルを
/etc/netrounds/secret_key
バックアップし、バックアップアーカイブと一緒に保管します。cp /etc/netrounds/secret_key /etc/netrounds/secret_key-backup
メモ:証明書と秘密キー ファイルのバックアップの作成は、リリース 4.1 以前のリリースからアップグレードする場合にのみ必要です。
-
コントロールセンターが使用するディスクまたはディスクパーティションのバックアップを作成します(またはVMスナップショットを作成します)。
-
および
netrounds-callexecuter
サービスを完全に無効にしますapache2
。sudo systemctl disable apache2 sudo systemctl disable netrounds-callexecuter
-
Paragon Active Assuranceサービスをすべて停止:
sudo systemctl stop "netrounds-*" apache2 openvpn@netrounds
-
すべてのサービスが停止していることを確認します。
sudo systemctl status "netrounds-*" apache2 openvpn@netrounds
一部のサービスが停止状態でない場合は、次のコマンドをもう一度実行します。
sudo systemctl stop "netrounds-*" apache2 openvpn@netrounds
問題が解決しない場合は、ジュニパーテクニカルサポートにお問い合わせください。
-
Ubuntu をバージョン18.04からバージョン22.04にアップグレードします。これは、以下にリンクされているページで説明されているように、2つのステップで実行できます。
- 18.04 から 20.04 にアップグレード します (「メッセージのクリア」リンクをクリックすると、手順が記載されたページが表示されます)。
- 20.04から22.04にアップグレード します(ここでは、バージョン21.10が開始点と見なされますが、20.04から開始することも同様に可能です。
-
新しいコントロールセンターバージョンを含むtarballの整合性を検証します。
# Compute the checksum for the tar file and verify that it is equal to the SHA256 # checksum provided on the download page export CC_VERSION=4.4.0.12 sha256sum paa-control-center_${CC_VERSION}.tar.gz
-
コントロールセンターのtarボールを解凍します。
tar -xzf paa-control-center_${CC_VERSION}.tar.gz
-
新しいコントロール・センター・パッケージをインストールします。
次の点に注意してください。
- ファイル
/etc/netrounds/netrounds.conf
内で、設定をPASSWORD_RESET_TIMEOUT_DAYS
PASSWORD_RESET_TIMEOUT
.前者はタイムアウトを日数で示し、後者は秒を単位として指定します。 - このファイル
/etc/netrounds/netrounds.conf
では、SPEEDTEST_ADDRESS
オプションで設定を構成することもできます(Speedtestを使用する場合)。これは、解決されるのと同じIPアドレスSITE_URL
を指すことも、独自のホスト名を持つこともできます。
警告:既存の構成ファイルを上書きするかどうかを確認するメッセージが表示されます。続行する前に、以下の設定に関するすべての情報をお読みください。
メモ:- 最初に「D」を選択して、古い設定と新しい設定の違いを調べることを強くお勧めします。ほとんどの場合、「N」を押して古い設定を保持する必要があります(上書きしないでください)。
- 新しいオプション設定および更新された設定は、パッケージで提供されるサンプル構成ファイルで使用できる場合があります。これらを確認し、インストールに応じて新しいオプションを追加することをお勧めします。
警告:Apacheの設定ファイルについては、
/etc/apache2/sites-available/
「パッケージメンテナのバージョン」である「Y」を押す必要があります。
デフォルトのsnakeoil証明書の代わりに適切なSSL証明書(推奨)をインストールしている場合は、Debianパッケージのインストールが完了した後、and
SSLCertificateKeyFile
設定のSSLCertificateFile
正しいパスを指すようにファイルを再度変更する必要があります。インストールガイドのサービス設定の章の「SSL証明書の設定」セクションを参照してください。sudo apt-get update sudo apt-get install ./paa-control-center_${CC_VERSION}/*.deb
- ファイル
-
データベースの移行を実行します。
警告:データベースのパスワードをデフォルトから変更した場合は、 を実行する前に
ncc migrate
、ファイルの設定/etc/netrounds/plugin.yaml
でもdb-password
変更してください。それ以外の場合、コマンドは失敗します。メモ:- これは機密性の高いコマンドであり、リモートマシンで実行する場合は注意が必要です。このようなシナリオでは、(通常、一般的なLinuxディストリビューションにデフォルトでインストールされます)または
tmux
(インストールするために実行sudo apt-get install tmux
)などのscreen
プログラムを使用して、sshセッションが中断された場合でも移行コマンドの実行を継続することを強くお勧めします。 - このコマンドの実行にはかなりの時間がかかります。
sudo ncc migrate
- これは機密性の高いコマンドであり、リモートマシンで実行する場合は注意が必要です。このようなシナリオでは、(通常、一般的なLinuxディストリビューションにデフォルトでインストールされます)または
-
所有者を
/var/lib/netrounds/openvpn
次のように変更します。netrounds
sudo chown -R netrounds: /var/lib/netrounds/openvpn
-
すべてのParagon Active Assuranceサービスを再起動します。
sudo ncc services restart
-
新しいテストエージェントリポジトリとプラグインをインストールします。
プラグインは、テストエージェントアプリケーションによって使用されます。
TA_APPLIANCE_BUILD=4.4.0.12 TA_APPLICATION_BUILD=4.4.0.12 PLUGIN_BUILD=4.4.0.24 # Compute checksums for the repositories and verify that they match the # SHA256 checksums provided on the download page sha256sum paa-test-agent_${TA_APPLIANCE_BUILD}_all.deb sha256sum paa-test-agent-application_${TA_APPLICATION_BUILD}_all.deb sha256sum paa-test-agent-plugins_${PLUGIN_BUILD}_all.deb # Start the installation sudo apt-get install ./paa-test-agent_${TA_APPLIANCE_BUILD}_all.deb sudo apt-get install ./paa-test-agent-application_${TA_APPLICATION_BUILD}_all.deb sudo apt-get install ./paa-test-agent-plugins_${PLUGIN_BUILD}_all.deb
-
次のようにサービスを有効にします。
sudo ncc services enable apache2 sudo ncc services enable kafka sudo ncc services enable callexecuter
メモ:アップグレード後に TimescaleDB サービスと Metrics サービスが実行されることが予想される場合は、既定では有効になっていないため、これらも有効にする必要があります。
sudo ncc services enable timescaledb sudo ncc services enable metrics
-
すべてのParagon Active Assuranceサービスを再起動します。
メモ:アップグレード後にサービスを再度稼働させるには、これを行う必要があります。
sudo ncc services restart
-
新しい構成を有効にするには、以下も実行する必要があります。
sudo systemctl reload apache2
-
コマンドを使用して、システムが稼働していることを確認します
ncc status sudo systemctl status "netrounds-*"
-
次のスクリプトを実行して、すべてのアカウントですべてのプラグインの最新バージョンを有効にします。
export PORT=49900 # Replace with your desired port number while true; do if netstat -lnt | grep ":$PORT " > /dev/null; then echo "$(date): Plugin service is listening on port $PORT" echo "Enabling latest plugins for all accounts" sudo ncc plugins edit enabled-version --all-plugins --latest-version --all-accounts --exit-on-failure=false --verbose break fi echo "Waiting for plugin service listening on $PORT" sleep 3 done
スクリプトの実行後に次のエラーが発生した場合は、エラーのトラブルシューティングを行うために、スクリプト出力を添付してサポートケースを作成します。
2023-11-17T09:22:46Z ERR ../../app/api/handlers/update_plugin.go:246 > Failed to change enabled plugin version error="unknown account shortname account_name" host=ip-10-0-0-11 service=plugin-service short_name=account_name src=core
コントロールセンターのCLIを使用してプラグインを管理する方法の詳細については、「プラグイン」のアプリ内ヘルプを参照してください。
- コントロールセンターのGUIにログインし、「 テストエージェント」 ビューに移動します。アップグレードが可能な各テストエージェントの横に、上矢印アイコンが表示されます。そのアイコンをクリックして、アップグレードを続行します。
Postgres のアップグレード
このセクションでは、Postgres 10 の代わりに Postgres 14 を使用するように および paa-plugins
データベースをアップグレードnetrounds
します。
次の手順を実行します。
-
Postgres 10 が現在使用されていることを確認します。
sudo -u postgres psql netrounds -c "SELECT version();"
期待される出力は次のとおりです。
version -------------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 10.23 (Ubuntu 10.23-0ubuntu0.18.04.2) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit (1 row)
上記のコマンドで Postgres 14 が報告された場合は、それ以上のアクションを実行しないでください。
-
コントロールセンターのサービスを停止します。
sudo ncc services stop
-
両方の Postgres クラスターを停止します。
sudo -u postgres /usr/lib/postgresql/10/bin/pg_ctl -D /var/lib/postgresql/10/main stop sudo -u postgres /usr/lib/postgresql/14/bin/pg_ctl -D /var/lib/postgresql/14/main stop sudo systemctl stop postgresql
-
実際のアップグレードを行う前に、次のチェックを実行してください。
cd /tmp sudo -u postgres \ /usr/lib/postgresql/14/bin/pg_upgrade \ -b /usr/lib/postgresql/10/bin \ -B /usr/lib/postgresql/14/bin \ -d /etc/postgresql/10/main \ -D /etc/postgresql/14/main \ -p 5432 \ -P 5434 \ --check
このチェックで
pg_upgrade
簡単に修正できないエラーが報告された場合は、ジュニパーテクニカルサポートにお問い合わせください。エラー
pg_upgrade
がなく、クラスターに互換性があることが報告された場合は、アップグレードを続行できます。 -
Postgresのアップグレード:
sudo -u postgres \ /usr/lib/postgresql/14/bin/pg_upgrade \ -b /usr/lib/postgresql/10/bin \ -B /usr/lib/postgresql/14/bin \ -d /etc/postgresql/10/main \ -D /etc/postgresql/14/main \ -p 5432 \ -P 5434
-
Postgres 10 がポート 5434 を使用し、Postgres 14 がポート 5432 を使用するようにポート割り当てを変更します。
port in
/etc/postgresql/14/main/postgresql.conf
の値を 5432 に更新します。sudo vim /etc/postgresql/14/main/postgresql.conf
port in
/etc/postgresql/10/main/postgresql.conf
の値を 5434 に更新します。sudo vim /etc/postgresql/10/main/postgresql.conf
-
postgresql
サービスを開始します。sudo systemctl start postgresql
-
ユーザーのパスワード
netrounds
を変更します。sudo -u postgres psql -c "alter user netrounds with encrypted password 'netrounds';"
-
統計オプティマイザーを実行します。
sudo -u postgres /usr/lib/postgresql/14/bin/vacuumdb --all --analyze-in-stages
-
コントロールセンターサービスを開始します。
sudo ncc services start
-
Postgres 14 が現在データベースで使用されている
netrounds
ことを確認します。sudo -u postgres psql netrounds -c "SELECT version();"
期待される出力:
version ---------------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 14.8 (Ubuntu 14.8-0ubuntu0.22.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, 64-bit (1 row)
sudo DJANGO_SETTINGS_MODULE=netrounds.settings.local django-admin shell -c "from django.db import connection; print(connection.cursor().connection.server_version)"
期待される出力:
140008
-
コントロールセンターが機能していることを確認し、古いクラスタデータを削除します。
sudo -u postgres sh delete_old_cluster.sh
-
必要に応じて、postgresql-10 および postgresql-12 クライアント/サーバー パッケージを削除します。
sudo apt purge postgresql-client-10 postgresql-10 postgresql-client-12 postgresql-12
ConfDのアップグレード
ConfD サービスがコントロールセンターにインストールされている場合は、次の手順を実行します。
-
次のコマンドを実行して、 の
paa-netconf-yang
既存のバージョンを削除します。sudo apt-get remove paa-netconf-yang python3-pycryptodomex python3-pysnmp
- バージョン 4.2 のインストール ガイドの「ConfD のインストール」セクションの手順に従ってください(コントロールセンターと関連タスクのインストールの章)
トラブルシューティング
- ユーザーのパスワード認証に失敗しました
- ターゲットWSGIスクリプトが見つかりません
- 同一生成元ポリシーでリモートリソースの読み取りが禁止されている
- openvpn@netroundsサービスがdh.pemファイルを見つけられません
- openvpn@netrounds サービスが脆弱な CA キーを報告
- コンテナ共通パッケージとの競合によりコントロールセンターのインストールが失敗する
ユーザーのパスワード認証に失敗しました
コマンドが失敗し、 ncc migrate
エラーメッセージが表示された場合
Failed to connect to database error="pq: password authentication failed for user \"netrounds\"" db-host=localhost db-name=paa-plugins db-port=5432 ...
上記の警告で説明されているように、/etc/netrounds/plugin.yaml
ファイル内の変数db-password
を更新する必要があります。このファイルを編集してから、 を再実行しますncc migrate
。
ターゲットWSGIスクリプトが見つかりません
Apache構成ファイルに誤って「N」を選択し( 上記のこの手順を参照)、次のようなエラーメッセージが表示された場合
[wsgi:error] [pid 29401:tid 140567451211520] [client 127.0.0.1:37172] Target WSGI script not found or unable to stat: /usr/lib/python2.7/dist-packages/netrounds/wsgi.py
次のコマンドを実行して、軌道に戻ります。
export CC_VERSION=4.4.0.12
dpkg-deb --fsys-tarfile paa-webapp_${CC_VERSION}_all.deb | tar -x --wildcards ./etc/apache2/sites-available/*.conf --strip-components 4
sudo mv netrounds*.conf /etc/apache2/sites-available/
sudo chown -R root:root /etc/apache2/sites-available/
sudo systemctl reload apache2
これにより、古い設定が、更新されたパッケージ内の新しい設定で上書きされます。
繰り返しになりますが、デフォルトのsnakeoil証明書の代わりに適切なSSL証明書(推奨)をインストールしている場合は、Debianパッケージのインストールが完了した後、andSSLCertificateKeyFile
設定のSSLCertificateFile
正しいパスを指すようにファイルを再度変更する必要があります。インストールガイドのサービス設定の章の「SSL証明書の設定」セクションを参照してください。
同一生成元ポリシーでリモートリソースの読み取りが禁止されている
このエラーまたは同様のエラーは、 で /etc/netrounds/netrounds.conf
と SPEEDTEST_ADDRESS
を異なる値に設定SITE_URL
した場合に発生する可能性があります。次に、ファイル内でrestol.conf
これらの値の両方を許可するように変更ALLOWED_ORIGINS
/etc/netrounds/restol.conf
する必要があります。これを実現する最も簡単な方法は、以前に ALLOWED_ORIGINS
に割り当てられた値を削除することです。この設定は、 で見つかった/etc/netrounds/netrounds.conf
ように および SPEEDTEST_ADDRESS
を許可するSITE_URL
デフォルト値を取得します。
openvpn@netroundsサービスがdh.pemファイルを見つけられません
これが発生した場合、以下のような出力が表示されます。
Sep 04 09:56:47 ip-10-0-0-11 systemd[1]: Stopped OpenVPN connection to netrounds. Sep 04 09:56:47 ip-10-0-0-11 systemd[1]: Starting OpenVPN connection to netrounds... Sep 04 09:56:47 ip-10-0-0-11 ovpn-netrounds[1741772]: --cipher is not set. Previous OpenVPN version defaulted to BF-CBC as fallback when cipher negotiation failed in this case. If you need this fallback please add '--data-ciphers-fallback BF-CBC' to your configuration and/or add BF-CBC to --data-ciphers. Sep 04 09:56:47 ip-10-0-0-11 ovpn-netrounds[1741772]: Options error: --dh fails with '/var/lib/netrounds/openvpn/dh.pem': No such file or directory (errno=2) Sep 04 09:56:47 ip-10-0-0-11 ovpn-netrounds[1741772]: Options error: Please correct these errors. Sep 04 09:56:47 ip-10-0-0-11 ovpn-netrounds[1741772]: Use --help for more information. Sep 04 09:56:47 ip-10-0-0-11 systemd[1]: openvpn@netrounds.service: Main process exited, code=exited, status=1/FAILURE Sep 04 09:56:47 ip-10-0-0-11 systemd[1]: openvpn@netrounds.service: Failed with result 'exit-code'. Sep 04 09:56:47 ip-10-0-0-11 systemd[1]: Failed to start OpenVPN connection to netrounds. Sep 04 09:56:52 ip-10-0-0-11 systemd[1]: openvpn@netrounds.service: Scheduled restart job, restart counter is at 9. Sep 04 09:56:52 ip-10-0-0-11 systemd[1]: Stopped OpenVPN connection to netrounds.
解決するには、次のコマンドを実行します。
sudo mv /var/lib/netrounds/openvpn/certs_by_serial/dh1024.pem /var/lib/netrounds/openvpn/ sudo chown -R netrounds: /var/lib/netrounds/openvpn sudo ncc services restart openvpn
openvpn@netrounds サービスが脆弱な CA キーを報告
この場合、出力は次のようになります。
Aug 30 12:49:34 ip-10-0-0-11 systemd[1]: Starting OpenVPN connection to netrounds... Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: --cipher is not set. Previous OpenVPN version defaulted to BF-CBC as fallback when cipher negotiation failed in this case. If you need this fallback please add '--data-ciphers-fallback BF-CBC' to your configuration and/or add BF-CBC to --data-ciphers. Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: WARNING: file '/var/lib/netrounds/openvpn/private/server.key' is group or others accessible Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: OpenVPN 2.5.5 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 14 2022 Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: library versions: OpenSSL 3.0.2 15 Mar 2022, LZO 2.10 Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts Aug 30 12:49:34 ip-10-0-0-11 systemd[1]: Started OpenVPN connection to netrounds. Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: OpenSSL: error:0A00018E:SSL routines::ca md too weak Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: Cannot load certificate file /var/lib/netrounds/openvpn/issued/server.crt Aug 30 12:49:34 ip-10-0-0-11 ovpn-netrounds[1848602]: Exiting due to fatal error Aug 30 12:49:34 ip-10-0-0-11 systemd[1]: openvpn@netrounds.service: Main process exited, code=exited, status=1/FAILURE Aug 30 12:49:34 ip-10-0-0-11 systemd[1]: openvpn@netrounds.service: Failed with result 'exit-code'. Aug 30 12:49:39 ip-10-0-0-11 systemd[1]: openvpn@netrounds.service: Scheduled restart job, restart counter is at 14918. Aug 30 12:49:39 ip-10-0-0-11 systemd[1]: Stopped OpenVPN connection to netrounds.
あなたがする必要があるのは、 /etc/openvpn/netrounds.conf
ファイルの最後に以下の行を追加してファイルを変更することです:
tls-cipher "DEFAULT:@SECLEVEL=0"
次に、openpvnサービスを再起動します。
sudo ncc services restart openvpn
コンテナ共通パッケージとの競合によりコントロールセンターのインストールが失敗する
Ubuntuシステムのアップグレード中に、非推奨のパッケージがすべて削除されるとは限らないため、コントロールセンターのインストールが失敗し、次のエラーメッセージが表示されることがあります。
... Selecting previously unselected package conmon. Preparing to unpack .../04-conmon_2.0.25+ds1-1.1_amd64.deb ... Unpacking conmon (2.0.25+ds1-1.1) ... Selecting previously unselected package golang-github-containers-image. Preparing to unpack .../05-golang-github-containers-image_5.16.0-3_all.deb ... Unpacking golang-github-containers-image (5.16.0-3) ... dpkg: error processing archive /tmp/apt-dpkg-install-KnNDVu/05-golang-github-containers-image_5.16.0-3_all.deb (--unpack): trying to overwrite '/etc/containers/registries.conf', which is also in package containers-common 100:1-14 Selecting previously unselected package golang-github-containers-common. Preparing to unpack .../06-golang-github-containers-common_0.44.4+ds1-1_all.deb ... Unpacking golang-github-containers-common (0.44.4+ds1-1) ... dpkg: error processing archive /tmp/apt-dpkg-install-KnNDVu/06-golang-github-containers-common_0.44.4+ds1-1_all.deb (--unpack): trying to overwrite '/etc/containers/policy.json', which is also in package containers-common 100:1-14 ... Errors were encountered while processing: /tmp/apt-dpkg-install-KnNDVu/05-golang-github-containers-image_5.16.0-3_all.deb /tmp/apt-dpkg-install-KnNDVu/06-golang-github-containers-common_0.44.4+ds1-1_all.deb needrestart is being skipped since dpkg has failed E: Sub-process /usr/bin/dpkg returned an error code (1)
この場合、コマンドを実行して、 apt-cache rdepends --installed containers-common
どのパッケージがコンテナ共通パッケージを保持しているかを確認します。このコマンドが次の出力を返す場合は、パッケージを削除して containers-common
、コントロールセンターを再インストールできます。
apt-cache rdepends —-installed containers-common containers-common Reverse Depends:
パッケージを削除するには containers-common
、次のコマンドを実行します。
sudo apt-get purge containers-common