NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

NDB で PostgreSQL DB をプロビジョニングしてみる。(OOB 編)

Nutanix Database Service(NDB)で、PostgreSQL の DB をプロビジョニングしてみます。NDB には、PostgreSQL のソフトウェアも同梱されているので、セットアップ直後の NDB Server ですぐに DB 作成を試せます。

今回の内容です。

構成のイメージです。

1. 今回の環境

NDB サーバは、あらかじめセットアップしてあります。

今回の DB への接続確認には、NDB とは関係しない Linux マシンを利用します。

[root@lab-linux-02 ~]# cat /etc/oracle-release
Oracle Linux Server release 8.7

Linux マシンでは、接続確認する OS ユーザで SSH 鍵ペアを作成しておきます。これで生成されるファイル($HOME/.ssh/id_rsa.pub)は、DB サーバのプロビジョニングで利用します。

[root@lab-linux-02 ~]# ssh-keygen -t rsa -P '' -f $HOME/.ssh/id_rsa

2. PostgreSQL DB サーバと DB のプロビジョニング

はじめましょう

NDB Server の Web UI で、初期セットアップ直後の「はじめましょう」画面から作業をすすめます。

「PostgreSQL」のロゴをクリックします。

DB のプロビジョニングに必要な手順が UI に記載されていますが、「1. プロファイルの作成」の手順にはすでにチェックがついており、デフォルトで完了状態です。

そこで、いきなり「2. インスタンスのプロビジョニング」をクリックします。

1) データベース サーバー VM

データベース サーバー VM のパラメータは、「新しいサーバーの作成」を選択した状態で次のように入力して、すこし画面を下にスクロールします。

  • データベース サーバー名: プロビジョニングする DB サーバーの仮想マシン名(とホスト名)
  • ソフトウェア プロファイル: インストールする PostgreSQL ソフトウェアを指定するもの。デフォルトで用意されている PostgreSQL 10.4 のものを選択。
  • コンピュート プロファイル: DB サーバー VM のスペックを指定するもの。vCPU とメモリを割り当ての指定となる。
  • ネットワーク プロファイル: DB サーバー VM の接続されるネットワークを指定する。これも NDB Server の初期セットアップのなかで自動的に作成されたものを選択。

NDB ドライブ ユーザー(NDB Server から接続する OS ユーザー)のパスワードと、SSH 公開鍵(冒頭で作成したもの)を入力して、「次へ」をクリックします。

2) インスタンス

DB(DB インスタンス)のパラメータを入力します。

  • PostgreSQL インスタンス名: NDB の登録で利用される名前です。
  • 初期データベースの名前: PostgreSQL に追加作成される、デフォルト以外の DB です。NDB が作成したことが判別しやすい名前にしておきます。
  • データベース パラメータのプロファイル: PostgreSQL DB のパラメータを指定するものです。これもデフォルトで作成されているものを利用します。
  • POSTGRES のパスワード: DB の postgres ユーザに設定するパスワードを入力します。

3) タイムマシン

タイムマシン(Time Machine)は、NDB ならではのスナップショット取得やバックアップ / リストア機能で利用されるもので、NDB に登録される DB ごとに作成されます。

パラメータはデフォルトのまま、「次へ」をクリックします。

4) 自動パッチ適用(オプション)

NDB には DB サーバーと DB のパッチ適用を管理する機能がありますが、これは準備ができていないのでデフォルトのまま「プロビジョン」をクリックします。

これで、DB サーバーと DB のプロビジョニングが開始されます。赤枠のあたりのリンクをクリックすると、処理の進捗が確認できます。

数分待つと処理が完了します。

3. プロビジョニングされた DB サーバと DB の確認

3-1. Prism Element から見た様子

Nutanix Prism Element(Nutanix HCI の管理 Web UI)から確認すると、DB サーバーの仮想マシンが作成されてパワーオン状態になっています。

DB サーバーの「Update」をクリックして仮想マシンの構成を確認すると、仮想マシン用の仮想ディスク(scsi.0 ~ 1)とは別に、Nutanix Volumes Storage による Volume Group が 3つ(scsi.2 ~ 4)接続されています。

さり気なく追加された scsi.1 は、PostgreSQL のソフトウェアが配置されています。

Volume Group は、Prism の「ストレージ」→「テーブル」→「Volume Group」から確認できます。これらの仮想ディスク群は、データベース ファイルとトランザクションログの配置と、NDB からの管理で利用されます。

3-2. NDB から見た様子

NDB Server の Web UI で「データベース」画面を開くと、PostgreSQL データベースの「ソース インスタンス」が 1つ実行されていることがわかります。

「ソース インスタンス」のあたりをクリックしてみます。

DB インスタンスの名前をクリックします。

DB インスタンスや、DB サーバーの情報が確認できます。

そして、さりげなく用意されている「説明をご覧ください」リンクをクリックすると、DB への接続情報が表示されます。

4. 接続確認(psql)

NDB とは関係しないマシンから、プロビジョニングした DB に接続してみます。

まず、PostgreSQL のクライアント ツールである「psql」を利用したいので、postgresql をインストールしておきます。

[root@lab-linux-02 ~]# dnf install -y postgresql

今回の psql のバージョンです。

[root@lab-linux-02 ~]# rpm -q postgresql
postgresql-10.21-2.module+el8.6.0+20673+e7bc7ac8.x86_64
[root@lab-linux-02 ~]# psql --version
psql (PostgreSQL) 10.21

プロビジョニング中に入力した名前のデータベース(pgsql01)に接続してみます。

[root@lab-linux-02 ~]# psql --host=192.168.11.148 --port=5432 --username=postgres --password --dbname=pgsql01
ユーザー postgres のパスワード:
psql (10.21、サーバー 10.4)
"help" でヘルプを表示します。

pgsql01=#

 

これで、NDB における DB プロビジョニングの、もっともシンプルな体験ができたはずです。

以上。

©2023 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。