はじめに

仮想環境やクラウド環境にVerticaを導入している場合、性能向上の目的やコスト削減の目的などで物理メモリサイズを拡張/縮小させたい場面があります。
本記事では、物理メモリサイズを変更する場合にVertica側で必要となる作業を紹介します。

※Verticaは、CPU1コアあたり8GB以上の物理メモリサイズを推奨しています。
 例)CPU8コア環境の場合、物理メモリは64GBを推奨

作業内容

概要

(1) リソースプールのmaxmemorysizeを変更
(2) Vertica停止
(3) Vertica管理ユーザのリソース制限の変更
(4) カーネルパラメータの変更
(5) OS停止
(6) 物理メモリサイズを変更
(7) OS起動
(8) Verticaの要件チェック用スクリプトの実行と、検出内容の解決
(9) Vertica起動

(1) リソースプールのmaxmemorysizeを変更

任意のリソースプールを作成してmaxmemorysizeを明示的に定義している場合は、必要に応じてmaxmemorysizeの値も調整します。
リソースプールの内容については、以下の記事をご参照ください。

http://vertica-tech.ashisuto.co.jp/resource_pool/

以下は、testpoolリソースプールのmaxmemorysizeを5GBから10GBへ拡張する場合の例です。


(2) Vertica停止

Verticaを停止します。
停止方法は以下の記事をご参照ください。

http://vertica-tech.ashisuto.co.jp/all-start-stop/

(3) Vertica管理ユーザのリソース制限の変更

Vertica管理ユーザ(インストールユーザ)のリソース制限「max user processes」を変更します。
viエディタ等で「/etc/security/limits.conf」を編集します。

 <要件>
 物理メモリサイズ(MB)

 <設定例>
 dbadmin – nproc 65536

上記例では、物理メモリが64GBの場合を想定して65536を指定しています。
(64*1024=65536)

(4) カーネルパラメータの変更

vm.max_map_countパラメータを物理メモリサイズに合わせて調整します。
viエディタ等で「/etc/sysctl.conf」を編集します。
※通常、本パラメータはVerticaインストール時に設定されています。
Verticaの要件として、本パラメータは以下の両方を満たす必要があります。

 <要件>
 ・65536以上
 ・システムメモリ(KB)/16以下

 <設定例>
 vm.max_map_count = 4194304

上記例では、物理メモリが64GBの場合を想定して4194304を指定しています。
(64*1024*1024/16=4194304)

(5) OS停止

OSを停止します。

(6) 物理メモリサイズを変更

物理メモリサイズを変更します。

(7) OS起動

OSを起動します。
Verticaが自動的に起動する設定の場合は、明示的に停止します。

(8) Verticaの要件チェック用スクリプトの実行と、検出内容の解決

Verticaの要件チェック用スクリプト「/opt/vertica/oss/python/bin/python -m vertica.local_verify」を実行します。


(9) Vertica起動

Verticaを起動します。
起動方法は以下の記事をご参照ください。

http://vertica-tech.ashisuto.co.jp/all-start-stop/

検証バージョンについて

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