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

Информация о авторе

Изначально Бернардо Вале

О проекте

Simple role to install IBM DB2 database

Установить
ansible-galaxy install olemyk/ansible-role-db2
Лицензия
Unknown
Загрузки
165
Владелец