olemyk.ansible_role_db2
DB2
Prosta rola do instalacji IBM DB2
Wymagania
Potrzebujesz skompresowanej kopii DB2. Rola może pobrać ją z zdalnego adresu URL lub użyć lokalnej kopii DB2 na swoim hoście ansible.
DOSTĘP ROOT
Ta rola może być używana tylko z dostępem root. DB2 można zainstalować bez roota, ale wiele funkcji, takich jak tworzenie instancji, jest dostępnych tylko jako root. Upewnij się, że instalujesz jako użytkownik root lub używasz podwyższenia uprawnień z sudo.
Zmienne roli
###DB2_BINARY
Ten słownik kontroluje sposób przesyłania binarki DB2 do zdalnych hostów.
- db2_binary.url: Adres URL do pobrania licencji db2 (nie ustawiaj tego, jeśli chcesz użyć lokalnej kopii)
- db2_binary.location: Ścieżka do zapisania zdalnego pliku lub pobrania pliku, jeśli adres URL nie został określony
- db2_binary.dest: Gdzie rola powinna rozpakować DB2 na zdalnym hoście.
db2_binary:
url: https://mojafirma.com/pobrania/db2_11_5.tar.gz
location: /ansible/files/db2_11.5.tar.gz
dest: /tmp
Sprawdź, jak pobrać DB2 z zdalnego URL tutaj
Jeśli masz lokalną kopię, użyj tego przykładu
###DB2_BINARY_LICENSE
Dla pakietu licencji DB2 Spectrum Scale:
- db2_license_binary.url: Adres URL do pobrania db2 (nie ustawiaj tego, jeśli chcesz użyć lokalnej kopii)
- db2_license_binary.location: Ścieżka do zapisania zdalnego pliku lub pobrania pliku, jeśli adres URL nie został określony
- db2_license_binary.dest: Gdzie rola powinna rozpakować DB2 na zdalnym hoście.
db2_license_binary:
url: "https://mojafirma.com/pobrania/DB2_AWSE_Restricted_Activation_11.5.zip"
location: "/download/installer/db2_license.tar.gz"
dest: "/download/installer"
###DB2_CREATES
Zazwyczaj archiwum DB2 tar.gz tworzy folder o nazwie server
, ale niektóre binarki tworzą różne foldery, na przykład DB2 Express C tworzy folder o nazwie expc
. Jeśli twoje tar.gz tworzy inny folder, zmień tę zmienną. Na przykład:
db2_creates: 'expc'
###DB2_LICENSE_CREATES
Zazwyczaj archiwum DB2 tar.gz tworzy folder o nazwie awse_x
, ale niektóre binarki tworzą różne foldery. Jeśli twoje tar.gz tworzy inny folder, zmień tę zmienną. Na przykład:
db2_license_creates: 'awse_o'
###DB2_PACKAGES
Lista pakietów, które rola powinna zainstalować przed uruchomieniem instalatora. Pozostaw domyślnie, chyba że wiesz, co robisz.
DB2 wymaga pewnych pakietów do prawidłowego działania na Linuksie. Więcej informacji znajdziesz tutaj
###RESP
Ten słownik służy do dostosowania instalacji DB2.
- prod: Który produkt będzie instalowany
- file: Gdzie powinien być zainstalowany DB2
- lic_agreement: Akceptacja lub odrzucenie licencji (jeśli odrzucisz, DB2 nie zostanie zainstalowany)
- install_type: Dostosowania produktów, które będą instalowane
resp:
prod: "DB2_SERVER_EDITION"
file: "/opt/ibm/db2/V11.1"
lic_agreement: "ACCEPT" # ACCEPT lub DECLINE
install_type: "TYPICAL" # TYPICAL, COMPACT, CUSTOM
install_tsamp: "NO"
Dla DB2 Express-C (sprawdź ten plik ):
resp:
prod: "EXPRESS_C"
file: "/opt/ibm/db2/V11.1"
lic_agreement: "ACCEPT" # ACCEPT lub DECLINE
install_type: "TYPICAL" # TYPICAL, COMPACT, CUSTOM
Uwaga: Korzystając z tej roli, akceptujesz licencję IBM.
Zależności
Brak
Przykładowy playbook
Wszystkie opcje dostosowujące są podane w przykładowym pliku w katalogu przykładów
Musisz przynajmniej określić, skąd pobrać DB2. Pobieranie db2
- hosts: serwery
roles:
- db2
vars:
db2_binary:
location: /ansible/files/db2_11.1.tar.gz
dest: /tmp
###Instalacja DB2 bez instancji
W niektórych przypadkach, takich jak instalacja klastrów z przełączaniem awaryjnym, możesz chcieć zainstalować tylko oprogramowanie DB2 i nie tworzyć żadnych instancji. Można to osiągnąć, określając zmienną create_instances: false
, jak pokazano poniżej.
vars:
create_instances: false
Pełny przykład tutaj
###Tworzenie niestandardowej instancji
Instancja zostanie utworzona z użyciem wszystkich domyślnych ustawień DB2, ale możesz ją dostosować, używając słownika db2_instances.
Pełny przykład tutaj
db2_instances:
- instance: "DB2INST"
name: "myinstan"
group_name: "myinadm"
fenced_username: "myfenc1"
fenced_group_name: "myfadm1"
db2_instances to lista instancji, możesz utworzyć więcej niż jedną. Przykład dwóch instancji znajdziesz tutaj
###Dostosowywanie parametrów
Można dostosować zarówno parametry globalne, jak i instancji.
Zdefiniuj słownik dbm_params
i ustaw dowolny parametr DB2 w formacie klucz: wartość
. Klucz musi być prawidłowym parametrem DB2.
db2_instances:
- instance: "DB2INST"
name: "myinstan"
group_name: "myinadm"
fenced_username: "myfenc1"
fenced_group_name: "myfadm1"
dbm_params:
intra_parallel: "YES"
numdb: "20"
Pełny przykład tutaj
Parametry globalne
Parametry globalne są podawane przez zdefiniowanie słownika global_params
.
global_params:
db2_antijoin: "YES"
db2fcmcomm: "TCPIP4"
Pełny przykład tutaj
###Tworzenie baz danych
Domyślnie ta rola nie tworzy baz danych. Jeśli chcesz to zrobić, zdefiniuj listę słowników databases
.
Pełny przykład znajduje się tutaj
databases:
- name: mydb
instance: db2inst1
- name: otherdb
instance: db2inst2
codeset: "UTF-8"
territory: "en"
pagesize: "16384"
Zrzeczenie się odpowiedzialności
Wciąż jest nad czym pracować. Nie ma gwarancji, że rola będzie działać w twoim przypadku.
Rozwój
Jeśli jesteś zainteresowany pomocą, proszę zgłosić problem lub po prostu wysłać mi pull request.
Licencja
BSD
Informacje o autorze
Początkowo Bernardo Vale
ansible-galaxy install olemyk.ansible_role_db2