ansible_role_db2
DB2
Простая роль для установки IBM DB2
Требования
Вам нужна сжатая копия DB2. Роль может загрузить её с удалённого URL или использовать локальную копию DB2, которая есть на вашем хосте Ansible.
ДОСТУП РУТ
Эта роль может использоваться только с правами root. DB2 можно установить без root, но многие функции, такие как создание экземпляров, доступны только при использовании root. Убедитесь, что вы устанавливаете с пользователем root или используете повышение привилегий с помощью sudo.
Переменные роли
###DB2_BINARY
Этот хеш контролирует, как передать бинарный файл DB2 на удалённые хосты.
- db2_binary.url: URL для загрузки лицензии DB2 (не указывайте, если хотите использовать локальную копию)
- 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
Для пакета лицензии DB2 Spectrum Scale:
- db2_license_binary.url: URL для загрузки лицензии DB2 (не указывайте, если хотите использовать локальную копию)
- 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 обычно создаёт папку с именем server
, но некоторые бинарные файлы могут создавать другие папки, например DB2 Express C создаёт папку с именем expc
. Если ваш архив создает другую папку, измените эту переменную. Например:
db2_creates: 'expc'
###DB2_LICENSE_CREATES
Архив DB2 обычно создаёт папку с именем awse_x
, но некоторые бинарные файлы могут создавать другие папки. Если ваш архив создаёт другую папку, измените эту переменную. Например:
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
Все пользовательские опции предоставляются через пример файла в папке с примерами
Вам нужно хотя бы указать, откуда получить 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 — это список экземпляров, вы можете создать более одного экземпляра, пример с двумя экземплярами можно найти здесь
###Настройка параметров
Параметры как для глобальной настройки, так и для настройki экземпляра можно настроить.
Определите хеш dbm_params
и установите любые параметры 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 request.
Лицензия
BSD
Информация о авторе
Изначально Бернардо Вале
ansible-galaxy install olemyk/ansible-role-db2