名前
pgx_dbinstance --リソース制御を行うインスタンスの作成、削除
概要
pgx_dbinstance -a -i name --user=user --password=password -D directory -B directory [-p port] [-T directory] [-E encoding] [--cpu-shares=num] [--memory-limit-in-bytes=bytes] [--blkio-weight=num] [--cgroup-name=name] [--cluster-standbynode]
pgx_dbinstance -d -i name [--cluster-standbynode]
説明
pgx_dbinstanceは、リソース制御を行うSymfoware Serverのインスタンスを作成、削除します。本コマンドで作成したインスタンスはWebAdminで管理できます。このコマンドは、スーパーユーザー(root)のみが実行できます。
オプション
指定されたインスタンスを作成します。すでに作成済みのインスタンスと同じ名前が指定された場合は、異常復帰します。
データベースのバックアップを格納するディレクトリの絶対パスを指定します。
リソース制御を行うインスタンス間のI/Oアクセスの相対的比率を指定します。相対的比率は100から1000の範囲で指定します。デフォルトは1000です。たとえば、インスタンスAに100、インスタンスBに900を指定すると、インスタンスAが10%のI/O操作を使用し、インスタンスBが90%のI/O操作を使用します。なお、I/Oリソースの制御はIOスケジューラがCFQの場合のみ有効になります。IOスケジューラはCFQを使用してください。
リソース制御を行うcgroupのグループ名を指定します。アルファベットの大文字と小文字は区別します。グループ名の規約は、32バイト以内、かつ、先頭1バイトがASCIIアルファベット、かつ、先頭1バイト以外が、ASCIIアルファベット、ASCII数字または下線(“_”)です。デフォルトは“symfosvoi_インスタンス名”です。
リソース制御を行うcgroupのスライス名を指定します。アルファベットの大文字と小文字は区別します。グループ名の規約は、32バイト以内、かつ、先頭1バイトがASCIIアルファベット、かつ、先頭1バイト以外が、ASCIIアルファベット、ASCII数字または下線(“_”)です。スライス名は“system-symfosvoi-指定した名前”となります。デフォルトは“system-symfosvoi-インスタンス名”です。
クラスタ環境で待機系ノードに対してコマンドを実行する場合に指定します。
リソース制御を行うインスタンスが使用できるCPU時間の相対的配分を指定します。相対的配分は2以上の数値を指定します。デフォルトは1024です。たとえば、インスタンスAに250、インスタンスBに250、インスタンスCに500を指定すると、各インスタンスは1:1:2の割合でCPUを使用します。なお、CPUを使用する他のインスタンスが存在しない場合は、本オプションの指定に関わらず必要なだけCPUを使用します。
指定されたインスタンスを削除します。インスタンスは停止させておく必要があります。
データベースのデータを格納するディレクトリの絶対パスを指定します。
データベースの符号化方式を指定します。デフォルトはUTF8です。
インスタンス名を指定します。アルファベットの大文字と小文字は区別します。インスタンス名の規約は、16バイト以内、かつ、先頭1バイトがASCIIアルファベット、かつ、先頭1バイト以外が、ASCIIアルファベットまたはASCII数字です。
使用可能な物理メモリの最大値を指定します。最大値は1以上の数値を指定します。単位が指定されていない場合はバイト単位と解釈します。単位は、キロバイトはkまたはK、メガバイトはmまたはM、ギガバイトにはgまたはG、テラバイトにはtまたはTが指定できます。デフォルトは1Gです。
Symfoware Serverのインスタンス管理者のパスワードを指定します。ここで指定したパスワードは、ALTER ROLE文でインスタンス管理者のパスワードとして登録されます。
データベースサーバのポート番号を指定します。デフォルトは26500です。
トランザクションログを格納するディレクトリの絶対パスを指定します。デフォルトはデータベースのデータを格納するディレクトリ内に作成します。
Symfoware Serverのインスタンス管理者のユーザーを指定します。
診断
0: 正常終了
0以外: 異常終了
注釈
RHEL7の場合、unitファイル内には、pgx_dbinstanceで指定された値に基づいたリソース制御に必要な情報が設定されています。そのため、unitファイルの内容を編集しないでください。
誤ったインスタンス管理者のパスワードを指定すると、WebAdminのバックアップに失敗します。ALTER ROLE文で正しいパスワードを設定してください。インスタンス作成後にインスタンス管理者のパスワードを変更した場合も同様です。ALTER ROLE文の詳細は、“PostgreSQL文章”の“リファレンス”の“SQLコマンド”を参照してください。
クラスタ環境でインスタンスを作成する場合、運用系ノードで--cluster-standbynodeオプションを指定せずにインスタンスを作成した後に、待機系ノードで--cluster-standbynodeオプションを指定してインスタンスを作成してください。
クラスタ環境でインスタンスを削除する場合、待機系ノードで--cluster-standbynodeオプションを指定してインスタンスを削除した後に、運用系ノードで--cluster-standbynodeオプションを指定せずにインスタンスを削除してください。
例
リソース制御を行うインスタンスを作成する例です。
# pgx_dbinstance -a -i inst1 --user=symfo --password=symfopass -D /database/symfo/inst1/data -B /backup/symfo/inst1/backup -p 26500 --cpu-shares=1500 --memory-limit-in-bytes=15G --blkio-weight=500
リソース制御を行うインスタンスを削除する例です。
# pgx_dbinstance -d -i inst1
クラスタ環境の待機系ノードで、リソース制御を行うインスタンスを作成する例です。
# pgx_dbinstance -a -i inst1 --user=symfo --password=symfopass -D /database/symfo/inst1/data -B /backup/symfo/inst1/backup -p 26500 --cluster-standbynode
クラスタ環境の待機系ノードで、リソース制御を行うインスタンスを削除する例です。
# pgx_dbinstance -d -i inst1 --cluster-standbynode