olemyk.ansible_role_db2
DB2
简单的角色来安装IBM DB2
要求
您需要一份压缩的DB2副本。该角色可以从远程网址下载,也可以使用您Ansible主机上已有的本地DB2副本。
ROOT权限
此角色只能在具有root权限的情况下使用。虽然可以在没有root权限的情况下安装DB2,但许多功能(如创建实例)仅在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 这里
如果您有本地副本,请使用此 示例
###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许可证。
依赖
无
示例剧本
所有自定义选项通过 示例文件 提供。
您需要至少指定获取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 是实例的列表,您可以创建多个实例,双实例的例子可在 这里 找到。
###自定义参数
全局参数和实例参数都可以定制。
定义哈希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"
免责声明
仍有一些工作要做。不能保证此角色对您有效。
开发
如果您有兴趣帮助,请提交问题或直接给我发送pull请求。
许可证
BSD
作者信息
最初由 Bernardo Vale 开发。