olemyk.ansible_role_db2
DB2
IBM DB2をインストールするためのシンプルな役割
要件
DB2の圧縮コピーが必要です。この役割は、リモートURLからダウンロードすることも、Ansibleホストに存在するローカルコピーを使用することもできます。
ROOTアクセス
この役割は、rootアクセスでのみ使用できます。DB2はrootなしでもインストールできますが、インスタンスの作成などの多くの機能はrootとしてのみ利用できます。rootユーザーでインストールするか、sudoを使用して特権の昇格を行っていることを確認してください。
役割の変数
###DB2_BINARY
このハッシュは、DB2バイナリをリモートホストに送信する方法を制御します。
- db2_binary.url: DB2ライセンスをダウンロードするためのURL(ローカルコピーを使用する場合は設定しないでください)
- db2_binary.location: リモートファイルを保存するパス、またはURLが未定義の場合にファイルを取得する場所
- db2_binary.dest: リモートホストでDB2を解凍する場所
db2_binary:
url: https://mycompany.com/downloads/db2_11_5.tar.gz
location: /ansible/files/db2_11.5.tar.gz
dest: /tmp
DB2をリモートURLからダウンロードする方法はこちらで確認できます。
ローカルコピーを使用する場合は、この例を参照してください。
###DB2_BINARY_LICENSE
Spectrum Scale DB2ライセンスパッケージ用:
- db2_license_binary.url: DB2をダウンロードするためのURL(ローカルコピーを使用する場合は設定しないでください)
- db2_license_binary.location: リモートファイルを保存するパス、またはURLが未定義の場合にファイルを取得する場所
- db2_license_binary.dest: リモートホストでDB2を解凍する場所。
db2_license_binary:
url: "https://mycompany.com/downloads/DB2_AWSE_Restricted_Activation_11.5.zip"
location: "/download/installer/db2_license.tar.gz"
dest: "/download/installer"
###DB2_CREATES
DB2のtar.gzは通常server
という名前のフォルダを作成しますが、異なるフォルダを作成するバイナリもあります。たとえば、DB2 Express Cはexpc
という名前のフォルダを作成します。tar.gzが異なるフォルダを作成する場合は、この変数を変更してください。例:
db2_creates: 'expc'
###DB2_LICENSE_CREATES
DB2のtar.gzは通常awse_x
という名前のフォルダを作成しますが、異なるフォルダを作成するバイナリもあります。tar.gzが異なるフォルダを作成する場合は、この変数を変更してください。例:
db2_license_creates: 'awse_o'
###DB2_PACKAGES
この役割がインストーラーを実行する前にインストールすべきパッケージのリスト。何をしているかわからない場合はデフォルトのままにしておいてください。
DB2はLinux上で正常に動作するためにいくつかのパッケージを必要とします。これについて詳しくはこちらをご覧ください。
###RESP
このハッシュはDB2インストールのカスタマイズに使用されます。
- prod: インストールする製品
- file: DB2をインストールする場所
- lic_agreement: ライセンスを受け入れるか拒否する(拒否するとDB2はインストールされません)
- install_type: インストールされる製品のカスタマイズ
resp:
prod: "DB2_SERVER_EDITION"
file: "/opt/ibm/db2/V11.1"
lic_agreement: "ACCEPT" # ACCEPTまたはDECLINE
install_type: "TYPICAL" # TYPICAL、COMPACT、CUSTOM
install_tsamp: "NO"
DB2 Express-Cの場合(このファイルを確認):
resp:
prod: "EXPRESS_C"
file: "/opt/ibm/db2/V11.1"
lic_agreement: "ACCEPT" # ACCEPTまたはDECLINE
install_type: "TYPICAL" # TYPICAL、COMPACT、CUSTOM
注意:この役割を使用することで、IBMライセンスに同意したことになります。
依存関係
なし
例のPlaybook
すべてのカスタムオプションは、examplesフォルダ内の例ファイルを通じて提供されます。
少なくともDB2の取得元を指定する必要があります。db2のダウンロード
- hosts: servers
roles:
- db2
vars:
db2_binary:
location: /ansible/files/db2_11.1.tar.gz
dest: /tmp
###インスタンスなしでDB2をインストールする
クラスターのフェイルオーバー展開などの特定のケースでは、DB2ソフトウェアのみをインストールし、インスタンスを作成しないことがあります。この場合、下記のようにcreate_instances: false
変数を指定します。
vars:
create_instances: false
完全な例はこちらです。
###カスタムインスタンスの作成
インスタンスはすべてのDB2デフォルトを使用して作成されますが、db2_instancesハッシュを使用してカスタマイズできます。
完全な例はこちらです。
db2_instances:
- instance: "DB2INST"
name: "myinstan"
group_name: "myinadm"
fenced_username: "myfenc1"
fenced_group_name: "myfadm1"
db2_instancesはインスタンスのリストで、複数作成できます。2つのインスタンスの例はこちらです。
###パラメータのカスタマイズ
グローバルとインスタンスの両方のパラメータをカスタマイズできます。
dbm_params
ハッシュを定義し、任意のkey: value
DB2パラメータを設定します。キーは有効なDB2パラメータである必要があります。
db2_instances:
- instance: "DB2INST"
name: "myinstan"
group_name: "myinadm"
fenced_username: "myfenc1"
fenced_group_name: "myfadm1"
dbm_params:
intra_parallel: "YES"
numdb: "20"
完全な例はこちらです。
###グローバルパラメータ
グローバルパラメータは、global_params
ハッシュを定義することで提供されます。
global_params:
db2_antijoin: "YES"
db2fcmcomm: "TCPIP4"
完全な例はこちらです。
###データベースの作成
デフォルトでは、この役割はデータベースを作成しません。作成したい場合は、ハッシュリストdatabases
を定義します。
完全な例はこちらです。
databases:
- name: mydb
instance: db2inst1
- name: otherdb
instance: db2inst2
codeset: "UTF-8"
territory: "en"
pagesize: "16384"
免責事項
まだ作業が必要です。この役割がうまく機能する保証はありません。
開発
支援に興味がある場合は、問題を報告するか、プルリクエストを送信してください。
ライセンス
BSD
著者情報
元著者:Bernardo Vale