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
ansible-galaxy install olemyk.ansible_role_db2