はじめに

Verticaのバージョンアップをする場合の注意点および手順について、ご紹介します。今回は、Vertica 9.0 から 12.0 へのバージョンアップを例に詳細をご説明します。

バージョンアップによる影響

・Verticaは、各バージョン毎に廃止された機能があります。ご利用中の機能が廃止になっていないか、非互換の確認をご確認ください。

・TRUNCATE TABLE 実行後の統計情報は、保持のされ方がVertica9.2以前と9.3以降では異なります。詳細は、手動で統計情報を取得する方法をご確認ください。

・WOSの管理方法は、Vertica9.2以前と9.3以降では異なります。詳細は、WOSの使用について(Vertia 9.3以降)をご確認ください。

Verticaのバージョン

現在(2023年6月)リリースされているVerticaのバージョンです。
バージョンリリース日
7.22015/10/23
8.02016/9/6
8.12017/4/14
9.02017/10/13
9.12018/5/1
9.22018/11/30
9.32019/10/14
10.02020/5/11
10.12021/2/3
11.02021/8/11
11.12022/2/24
12.02022/6/17

注意点

(1) バージョンアップパス

各バージョン毎にバージョンアップ・パスは違います。現在、ご利用中のバージョンに応じて、複数回のバージョンアップが必要です。例えば、Vertica 9.0 から 12.0 のバージョンアップは、合計8回行います。
バージョンアップパス
Vertica 7.2 → 8.0
Vertica 8.0 → 8.1
Vertica 8.1 → 9.0
Vertica 9.0 → 9.1
Vertica 9.1 → 9.2
Vertica 9.2 → 9.3
Vertica 9.3 → 10.0
Vertica 10.0 → 10.1
Vertica 10.1 → 11.0
Vertica 11.0 → 11.1
Vertica 11.1 → 12.0

(2) 対象バージョンのインストール要件の確認

事前に目的とするバージョンの製品マニュアルにて、Verticaのインストール要件をご確認ください。バージョンによって、追加のOS設定やOSパッケージの追加が必要な場合があります。製品マニュアルにて確認すべき項目は以下の通りです。
<11.0まで>
・製品マニュアル > Installing Vertica > Installing Manually > Before You Install Vertica
<11.1>
・製品マニュアル > Installation > Installing Manually > Before You Install Vertica
<12.0>
・製品マニュアル > Setup > Set up Vertica on-premises > Before You Install Vertica

(3) メジャー/マイナー/パッチ/HotFixバージョンによる手順の違い

Verticaのバージョン番号は、「v:メジャー」「r:マイナー」「m:パッチ」「n:HotFix」の4種類で構成され、「v.r.m-n」で表されます。それぞれのバージョンアップの手順に違いはありません。以下のバージョンアップの例は、いずれも同一の手順でバージョンアップできます。
バージョンアップの種類バージョンアップ前バージョンアップ後バージョンアップの回数
メジャーバージョンアップ11.0.0-012.0.4-92回(11.0 ⇒ 11.1 ⇒ 12.0)
マイナーバージョン毎に、ひとつずつバージョンアップが必要です。
マイナーバージョンアップ9.1.0-09.3.1-32回(9.1 ⇒ 9.2 ⇒ 9.3)
マイナーバージョン毎に、ひとつずつバージョンアップが必要です。
パッチバージョンアップ12.0.0-012.0.2-101回(12.0.0-0 ⇒ 12.0.2-10)
パッチバージョン毎のバージョンアップは不要です。
HotFixバージョンアップ12.0.0-012.0.0-31回(12.0.0-0 ⇒ 12.0.0-3)
HotFixバージョン毎のバージョンアップは不要です。

(4) オンラインバックアップの互換性

Vertica のオンラインバックアップは、各バージョン間で互換性がありません。例えば、Vertica9.0.1-19 で取得したオンランバックアップは、Vertica12.0.4-10 にはリストアができません。「Vertica9.0.1-19 を再インストール」するか「Vertica9.0.1-19 がインストールされた状態のOSバックアップをリストア」した後に、オンラインバックアップをリストアします。

(5) バージョンアップ前のチェック項目

事前に目的とするバージョンの製品マニュアルにて、Verticaのバージョンアップ要件をご確認ください。バージョンによって、後述「詳細手順」の他に、追加のチェックが必要な場合があります。製品マニュアルにて確認すべき項目は以下の通りです。
<11.0まで>
・製品マニュアル > Installing Vertica > Upgrading Vertica > Before You Upgrade
<11.1 以降>
・製品マニュアル > Installation > Upgrading Vertica > Before You Upgrade
<12.0 以降>
・製品マニュアル > Setup > Upgrading Vertica > Before You Upgrade

バージョンアップ手順

概要

Vertica 9.0 から 12.0 へのバージョンアップする場合は、後述の「詳細手順」を8回繰り返します。
1回目9.0 → 9.1
2回目9.1 → 9.2
3回目9.2 → 9.3
4回目9.3 → 10.0
5回目10.0 → 10.1
6回目10.1 → 11.0
7回目11.0 → 11.1
8回目11.1 → 12.0

「詳細手順」の各項目は、以下のタイミングで実行してください。
項目実行タイミング
1. 要件チェックスクリプトの実行1回目(最初)のみ実行
2. バックアップの取得任意(※)のタイミングで実行
3. 修正スクリプトの実行9.0 → 9.1のバージョンアップ時のみ実行
4. データベース停止1~8回目(毎回)で実行
5. 追加パッケージの削除1回目(最初)のみ実行
6. バージョンアップ用のRPMインストール1~8回目(毎回)で実行
7. アップグレード・コマンド実行1~8回目(毎回)で実行
8. データベース起動1~8回目(毎回)で実行
9. 追加パッケージの再インストール8回目(最後)のみ実行

(※)バックアップは、切り戻しをしたいバージョン毎に取得してください。
【バックアップ取得例】
バージョンアップ回数切り戻しの判断バックアップの取得要否
1回目Vertica9.0 への切り戻しを想定するVertica9.0 の状態のオンラインバックアップと
OSバックアップの取得が必要
2回目Vertica9.1 への切り戻しを想定しない不要
3回目Vertica9.2 への切り戻しを想定しない不要
4回目Vertica9.3 への切り戻しを想定しない不要
5回目Vertica10.0 への切り戻しを想定しない不要
6回目Vertica10.1 への切り戻しを想定しない不要
7回目Vertica11.0 への切り戻しを想定しない不要
8回目Vertica11.1 への切り戻しを想定するVertica11.1 の状態のオンラインバックアップと
OSバックアップの取得が必要

詳細手順

1.要件チェックスクリプトの実行

まずは、バージョンアップ予定の環境のハードウェア構成が、Verticaの要件を満たしているかをチェックします。要件チェックスクリプトを実行して、【WARN()】および【FAIL()】が発生した場合は、サポートセンターまでお問い合わせください。

※複数ノード構成の場合は、全てのノードで実行してください。

Firewall を「無効」にした場合でも環境 によっては、要件チェックスクリプトの実行時に以下の WARN文が出力されることがあります。この場合は「–- failure threshold NONE」を指定し、バージョンアップしてください。詳細は、「7. 」でご説明します。

# CheckNodeNetwork.check_iptables_disabled (0.010s)
WARN (N0010): WARN(eN0010): Linux iptables (firewall) has some non-trivial rules in tables: mangle, filter
https://www.vertica.com/docs/11.1.x/HTML/index.htm#cshid=N0010

2. バックアップの取得

万が一、バージョンアップが失敗した際のリカバリ用に、既存データベースのオンラインバックアップとOSバックアップを取得します。

3. 修正スクリプトの実行

※この手順は9.0から9.1および9.1から9.2にバージョンアップする際に実施ください。
Vertica9.1と9.2は、以下の変更がありました。Vertica9.1もしくは9.2へのバージョンアップ前に、スクリプトの実行をおこない、非サポートのプロジェクションを特定する必要があります。

■変更内容
①Vertica9.1:バディプロジェクションのSELECT句とORDER BY句の中で指定しているカラムは、同じ並び順で指定する必要があります。Vertica9.1のバージョンアップ前に、同じ並び順となるように改修するか、使っていないプロジェクションの場合は削除してください。
②Vertica9.2:プリジョインプロジェクションとレンジセグメンテーションプロジェクションが廃止されています。Vertica9.2のバージョンアップ前に、プリジョインプロジェクションとレンジセグメンテーションプロジェクションを使われないように改修するか、使っていないプロジェクションの場合は削除してください。

スクリプトは1回の実行で、①②の両内容をCHECKするので、Vertica9.0からバージョンアップをする場合は、Vertica9.0と9.1の時に2回実行する必要はありません。スクリプトのダウンロードおよび実施方法については、ドキュメントをご参照ください。

4. データベース停止

Verticaデータベースを停止します。

5. 追加パッケージの削除

R言語等の追加パッケージを別途インストールしている場合は、アンインストールします。追加パッケージをインストールしていない場合は、この手順はスキップできます。追加パッケージをアンインストールしないと、次の「6.」でVerticaパッケージのインストールが失敗します。

6. バージョンアップ用のRPMインストール

Verticaクラスタのいずれかのノードで、rootユーザにてRPMパッケージのインストールを実施します。

7. アップグレード・コマンド実行

rootユーザにて、update_verticaを実施しバージョンアップを行います。
アップグレード・コマンドのオプションは、インストール時のオプションと同じものを指定する必要があります。
インストール時のオプションは/opt/vertica/config/admintools.confファイルの「install_opts」より、確認ができます。

<注意事項>
■要件チェックスクリプトの実行時に(N0010)のWARN文が出力された場合は、「–-failure-threshold NONE」オプションを付与します。
■「–-hosts(-s)」オプションや「–-accept-eula」、OSユーザのパスワードが出力されている場合は、除外してから、アップグレードコマンドを実行してください。


[install_optsの出力例]

[アップグレードコマンドの実行例]

■仮想環境もしくはクラウド環境でアップグレードを実行する場合は、「-–point-to-point(-T)」オプションの付与が必要です。

[install_optsの出力例]

[アップグレードコマンドの実行例]

■ノード追加や削除をおこなったことがある場合、「–-add-hosts(-A)」および「–-remove-hosts(-R)」オプションが出力されているので、アップグレードコマンドを実行する時は、このオプションを指定しないでください。ノード追加や削除を実行するたびに、設定内容は admintools.conf.bak.XXX にバックアップされます。そのため、インストール時のオプションは、admintools.conf.bak.XXX から確認してください。

[install_optsの出力例]
▽ノード追加

▽ノード削除

以下は、オンプレミス環境の実行例です。

8. データベース起動

Verticaデータベースを起動します。データベースを起動するタイミングで、パッケージがインストールされます。

<注意事項>
■パッケージのインストールに失敗した場合は、こちらの手順に従ってパッケージを再インストールしてください。

9.追加パッケージの再インストール

「5.」でアンイストールしたパッケージがあれば、再度インストールをします。バージョンアップ後のVerticaバージョンと同じバージョンのパッケージを再インストールしてください。アンイストールしたパッケージが無ければ、この手順はスキップできます。パッケージの入手方法は、サポートセンターにお問い合わせください。

参考情報

・Upgrading Vertica
https://docs.vertica.com/12.0.x/en/setup/upgrading/

・Management Consoleのバージョンアップ方法について
http://vertica-tech.ashisuto.co.jp/verup_mc/

・Verticaのバージョンアップ方式について
http://vertica-tech.ashisuto.co.jp/version_upgrade_method/

検証バージョンについて

この記事の内容はVertica 12.0で確認しています。

更新履歴

2023/08/31 12.0用の項目および手順を更新、
全体的に体裁を更新
2022/07/05 11.1用に手順を更新、
全体的に体裁を更新、
大項目「バージョンアップによる影響」,「Verticaのバージョン」を新規追加、
「注意点」に中項目「(4) オンラインバックアップの互換性」,
「(5) バージョンアップ前のチェック項目」を新規追加、
「バージョンアップ手順」を中項目「概要」,「詳細手順」を新規追加
2020/08/04 「注意点」に(2)(3)を追加
2019/09/26 スクリプト名を修正
2019/08/14 「データベース起動」の手順に<注意事項>を追加
2019/05/29 手順を修正、および<注意事項>を追加
2018/08/13 本記事を公開