olemyk.ansible_role_db2

DB2

Rol simple para instalar IBM DB2

Requisitos

Necesitas una copia de DB2 comprimida. El rol puede descargar desde una URL remota o usar una copia local de DB2 que esté presente en tu host de Ansible.

ACCESO ROOT

Este rol solo se puede usar con acceso root. DB2 se puede instalar sin root, pero muchas funciones como la creación de instancias solo están disponibles como root. Asegúrate de que estás instalando con el usuario root o usando escalación de privilegios con sudo.

Variables del Rol

###DB2_BINARY

Este hash controla cómo enviar el binario de DB2 a los hosts remotos.

  • db2_binary.url: Una URL para descargar la licencia de db2 (no lo establezcas si deseas usar una copia local)
  • db2_binary.location: Una ruta para guardar el archivo remoto o para obtener el archivo si no se definió la URL
  • db2_binary.dest: Donde el rol debe descomprimir DB2 en el host remoto.
db2_binary:
    url: https://mycompany.com/downloads/db2_11_5.tar.gz
    location: /ansible/files/db2_11.5.tar.gz
    dest: /tmp

Consulta cómo descargar DB2 desde una URL remota aquí

Si tienes una copia local utiliza este ejemplo

###DB2_BINARY_LICENSE

Para el paquete de licencia de Spectrum Scale DB2:

  • db2_license_binary.url: Una URL para descargar db2 (no lo establezcas si deseas usar una copia local)
  • db2_license_binary.location: Una ruta para guardar el archivo remoto o para obtener el archivo si no se definió la URL
  • db2_license_binary.dest: Donde el rol debe descomprimir DB2 en el host remoto.
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

El archivo tar.gz de DB2 generalmente crea una carpeta llamada server, pero hay algunos binarios que crean carpetas diferentes. Por ejemplo, DB2 Express C crea una carpeta llamada expc. Si tu tar.gz crea una carpeta diferente, cambia esta variable. Por ejemplo:

db2_creates: 'expc'

###DB2_LICENSE_CREATES El archivo tar.gz de DB2 generalmente crea una carpeta llamada awse_x, pero hay algunos binarios que crean carpetas diferentes. Si tu tar.gz crea una carpeta diferente, cambia esta variable. Por ejemplo:

db2_license_creates: 'awse_o'

###DB2_PACKAGES

La lista de paquetes que el rol debe instalar antes de ejecutar el instalador. Déjalo por defecto a menos que sepas lo que estás haciendo.

DB2 requiere algunos paquetes para funcionar correctamente en Linux, puedes leer más sobre esto aquí

###RESP

Este hash se utiliza para personalizar la instalación de DB2.

  • prod: Qué producto se instalará
  • file: Dónde se debe instalar DB2
  • lic_agreement: Aceptar o rechazar la licencia (Si rechazas, DB2 no se instalará)
  • install_type: Personalizaciones de los productos que se instalarán
resp:
   prod: "DB2_SERVER_EDITION"
   file: "/opt/ibm/db2/V11.1"
   lic_agreement: "ACCEPT" # ACEPTAR o RECHAZAR
   install_type: "TYPICAL" # TÍPICO, COMPACTO, PERSONALIZADO
   install_tsamp: "NO"

Para DB2 Express-C (Consulta este archivo):

 resp:
   prod: "EXPRESS_C"
   file: "/opt/ibm/db2/V11.1"
   lic_agreement: "ACCEPT" # ACEPTAR o RECHAZAR
   install_type: "TYPICAL" # TÍPICO, COMPACTO, PERSONALIZADO

NOTA: Al usar este rol, aceptas la licencia de IBM.

Dependencias

Ninguna

Ejemplo de Playbook

Todas las opciones personalizadas se proporcionan a través de un archivo de ejemplo en la carpeta de ejemplos

Debes especificar al menos dónde obtener DB2. Descargando db2

- hosts: servers
  roles:
     - db2
  vars:
    db2_binary:
      location: /ansible/files/db2_11.1.tar.gz
       dest: /tmp

###Instalando DB2 sin instancias

En algunos casos, como en la implementación de conmutación por error de clúster, puede que desees instalar solo el software de DB2 y no crear instancias. Esto se puede lograr especificando la variable create_instances: false como se muestra a continuación.

vars:
  create_instances: false

El ejemplo completo aquí

###Creando una instancia personalizada

La instancia se creará utilizando todos los valores predeterminados de DB2, pero puedes personalizarla utilizando el hash db2_instances.

El ejemplo completo aquí

db2_instances:
  - instance: "DB2INST"
    name: "myinstan" 
    group_name: "myinadm"
    fenced_username: "myfenc1"
    fenced_group_name: "myfadm1"

db2_instances es una lista de instancias, puedes crear más de una. Un ejemplo de dos instancias se encuentra aquí

###Personalizando Parámetros

Tanto los parámetros globales como los de instancia pueden ser personalizados.

Define el hash dbm_params y establece cualquier parámetro de DB2 con clave: valor. La clave debe ser un parámetro válido de DB2.

db2_instances:
 - instance: "DB2INST"
   name: "myinstan" 
   group_name: "myinadm"
   fenced_username: "myfenc1"
   fenced_group_name: "myfadm1"
   dbm_params:
     intra_parallel: "YES"
     numdb: "20"

El ejemplo completo aquí

Parámetros globales

Los parámetros globales se proporcionan definiendo el hash global_params.

global_params:
    db2_antijoin: "YES"
    db2fcmcomm: "TCPIP4"

El ejemplo completo aquí

###Creando bases de datos

Por defecto, este rol no creará bases de datos. Si deseas hacerlo, define la lista hash databases.

El ejemplo completo se encuentra aquí

databases:
 - name: mydb
   instance: db2inst1
 - name: otherdb
   instance: db2inst2
   codeset: "UTF-8"
   territory: "en"
   pagesize: "16384"

Descargo de responsabilidad

Aún hay trabajo por hacer. No hay garantía de que el rol funcione para ti.

Desarrollo

Si estás interesado en ayudar, por favor abre un problema o simplemente envíame una solicitud de extracción.

Licencia

BSD

Información del autor

Originalmente Bernardo Vale

Acerca del proyecto

Simple role to install IBM DB2 database

Instalar
ansible-galaxy install olemyk.ansible_role_db2
Licencia
Unknown
Descargas
186
Propietario