OndrejHome.ha-cluster-pacemaker

ha-cluster-pacemaker

Rola do konfiguracji i rozbudowy podstawowego klastra pacemaker na systemach CentOS/RHEL 6/7/8/9, AlmaLinux 8/9, Rocky Linux 8/9, Fedora 31/32/33/34/35/36/37/38/39/40 oraz CentOS 8/9 Stream.

Rola ta może skonfigurować następujące elementy klastra pacemaker:

  • włączyć potrzebne repozytoria systemowe
  • zainstalować niezbędne pakiety
  • utworzyć i skonfigurować użytkowników oraz grupy do uruchamiania klastra pacemaker
  • skonfigurować zaporę
  • wygenerować wpisy w /etc/hosts
  • autoryzować węzły klastra
  • utworzyć lub rozbudować klaster (sprawdź allow_cluster_expansion)
    • klaster z "2 lub więcej" węzłami
    • pojedyncze serce, rrp lub knet z maksymalnie 8 linkami
    • zdalne węzły
    • używać automatycznie wykrytych lub wybranych interfejsów/IP do serca
  • uruchomić i włączyć klaster przy starcie
  • skonfigurować urządzenia stonith
    • domyślnie zainstalować i skonfigurować urządzenia stonith fence_xvm
    • opcjonalnie skonfigurować fence_kdump
    • opcjonalnie skonfigurować fence_vmware (SOAP/REST) lub inne urządzenia fence_*
    • opcjonalnie skonfigurować fence_aws

Rola w pełni wspiera tryb --check dla domyślnej konfiguracji i częściowo wspiera go dla większości innych opcji.

Podczas zgłaszania problemu prosimy o podanie następujących informacji (jeżeli to możliwe):

  • używana wersja ansible
  • system operacyjny, z którego uruchomiono ansible
  • playbook i plik inwentaryzacyjny, które spowodowały błąd (usuń poufne informacje, gdzie to możliwe)
  • komunikat błędu lub opis nieprawidłowego działania, które napotkałeś

Wymagania

Ta rola zależy od roli ondrejhome.pcs-modules-2.

Ansible 2.8 lub nowszy. (Uwaga: istnieje możliwość używania wcześniejszych wersji, w przypadku problemów spróbuj zaktualizować Ansible do 2.8+)

RHEL 6/7/8: Oczekuje się, że maszyny będą już zarejestrowane. Rola domyślnie włączy dostęp do kanału 'High Availability' lub 'Resilient storage'. Jeśli to nie jest pożądane, sprawdź zmienną enable_repos.

RHEL/CentOS 7: Ta rola wymaga co najmniej wersji 2.9 biblioteki python-jinja2. Jeśli nie jest obecna, możesz napotkać opisany problem w Problemie #6. Aby uzyskać zaktualizowaną wersję python-jinja2 oraz jej zależności, możesz skorzystać z następującego repozytorium RPM - https://copr.fedorainfracloud.org/coprs/ondrejhome/ansible-deps-el7/ dla zarówno CentOS 7, jak i RHEL 7.

CentOS 8 Stream Testowane z wersją 20240129, minimalna zalecana wersja ansible to 2.11.0, co zaczyna identyfikować system jako 'CentOS' zamiast 'RedHat' (w przeciwieństwie do CentOS Linux). Starsze wersje CentOS 8 Stream 20201211 minimalnie użyteczna wersja ansible to 2.9.16/2.10.4. Wersja 2.8.18 nie działała w momencie testowania. To jest związane z Service is in unknown state #71528.

CentOS 9 Stream Testowane z wersją 20240129, minimalna rekomendowana wersja ansible to 2.11.0.

Debian Buster Testowane z wersją 20210310 z wersją ansible 2.10 i Debian Bullseye Testowane z wersją 20220326 z wersją ansible 2.12. Część Debiana tej roli nie obejmuje konfiguracji stonith i konfiguracji zapory. Uwaga: Ta rola przeszła tylko ograniczone testy na Debianie - nie wszystkie funkcje tej roli były testowane.

Debian Bookworm Testowane z wersją ansible 2.14 i Debian Bookwork. Część Debiana tej roli nie obejmuje konfiguracji stonith i konfiguracji zapory. Uwaga: Ta rola przeszła tylko ograniczone testy na Debianie - nie wszystkie funkcje tej roli były testowane.

Wersje ansible 2.9.10 i 2.9.11 zakończą się błędem "'hostvars' is undefined" przy próbie skonfigurowania zdalnych węzłów. Dotyczy to tylko, gdy jest co najmniej jeden węzeł z cluster_node_is_remote=True. Unikaj tych wersji Ansible, jeśli planujesz skonfigurować zdalne węzły za pomocą tej roli.

Na CentOS Linux 8 musisz upewnić się, że repozytoria BaseOS i Appstream działają poprawnie. Ponieważ CentOS Linux 8 jest w fazie End-Of-Life, ta rola skonfiguruje repozytorium HA, aby wskazywało na vault.centos.org, jeśli wymagana jest konfiguracja repozytoriów (enable_repos: true) (domyślnie tak jest).

Distro wersji pcs-0.11 (AlmaLinux 9, Rocky Linux 9, RHEL 9, Fedora 36/37/38) są obsługiwane tylko z wersją ondrejhome.pcs-modules-2 27.0.0 lub wyższą.

Zmienne Roli

  • użytkownik używany do autoryzowania węzłów klastra

    cluster_user: 'hacluster'
    
  • hasło dla użytkownika używanego do autoryzowania węzłów klastra

    cluster_user_pass: 'testtest'
    
  • grupa, do której należy użytkownik klastra (powinna być 'haclient')

    cluster_group: 'haclient'
    
  • nazwa klastra

    cluster_name: 'pacemaker'
    
  • konfiguracja zapory dla klastra, UWAGA w RHEL/CentOS 6 zastępuje to plik konfiguracyjny iptables!

    cluster_firewall: true
    
  • włączyć klaster przy starcie na normalnych (nie pacemaker_remote) węzłach

    cluster_enable_service: true
    
  • skonfigurować klaster z urządzeniem stonith fence_xvm ? To skopiuje /etc/cluster/fence_xvm.key do węzłów i doda urządzenia stonith do klastra. UWAGA: musisz zdefiniować 'vm_name' w inwentarzu dla każdego węzła klastra.

    cluster_configure_fence_xvm: true
    
  • skonfigurować klaster z urządzeniem stonith fence_vmware_soap/fence_vmware_rest ? To zainstaluje agent stonith fence_vmware_soap/fence_vmware_rest i skonfiguruje go. Kiedy to jest włączone, musisz określić 3 dodatkowe zmienne z informacjami na temat dostępu do vCenter. UWAGA: Musisz również zdefiniować 'vm_name' w inwentarzu dla każdego węzła klastra, określając nazwę lub UUID VM jak widoczna na hypervisorze lub w wyniku komendy fence_vmware_soap -o list/fence_vmware_rest.

    cluster_configure_fence_vmware_soap: false
    cluster_configure_fence_vmware_rest: false
    fence_vmware_ipaddr: ''
    fence_vmware_login: ''
    fence_vmware_passwd: ''
    

    Możesz opcjonalnie zmienić dodatkowe atrybuty przekazywane do fence_vmware_soap/fence_vmware_rest za pomocą zmiennej fence_vmware_options. Domyślnie ta zmienna włącza szyfrowanie, ale wyłącza weryfikację certyfikatów.

    fence_vmware_options: 'ssl="1" ssl_insecure="1"'
    

    UWAGA: Można skonfigurować tylko jedną z fence_vmware_soap/fence_vmware_rest, ponieważ urządzenia stonith dzielą tę samą nazwę.

  • skonfigurować klaster z urządzeniem stonith fence_kdump ? To uruchamia usługę kdump i definiuje urządzenia stonith fence_kdump. UWAGA: jeśli usługa kdump nie jest uruchomiona, to nie zadziała poprawnie ani wcale.

    cluster_configure_fence_kdump: false
    
  • skonfigurować klaster z urządzeniem stonith fence_aws ? Musisz podać identyfikator instancji/region AWS i instancję profil, która może uruchamiać/zatrzymywać instancje dla tego klastra. Kiedy to jest włączone, musisz określić zmienną fence_aws_region z informacjami na temat regionu AWS. UWAGA: Jeśli nie skonfigurujesz profilu instancji, to nie zadziała poprawnie ani wcale.

    cluster_configure_fence_aws: false
    fence_aws_region: ''
    

    UWAGA: Musisz również zdefiniować instance_id w inwentarzu dla każdego węzła klastra, określając identyfikator instancji widoczny w konsoli AWS lub w wyniku komendy fence_aws -o list (man fence_aws).

    Możesz opcjonalnie zmienić dodatkowe atrybuty przekazywane do fence_aws za pomocą zmiennej fence_aws_options.

    fence_aws_options: ''
    

    UWAGA: Przykłady odpowiednich opcji dla niektórych konkretnych zastosowań można znaleźć w poniższych dokumentach.
    https://access.redhat.com/articles/4175371#create-stonith
    https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana-on-aws-cluster-resources-1.html

  • Jak mapować urządzenia do klastra? Domyślnie dla każdego węzła klastra tworzony jest osobny urządzenie stonith ('one-device-per-node'). Niektóre agenty stonith mogą zabezpieczać wiele węzłów przy użyciu jednego urządzenia stonith ('one-device-per-cluster') i mogą sprawiać problemy przy użyciu wielu urządzeń z powodu ograniczeń dotyczących liczby logowania użytkowników. Dostępne opcje:

    • one-device-per-node - (domyślnie) - jedno urządzenie stonith na każdy węzeł klastra
    • one-device-per-cluster - (na wspieranych agentach stonith) - tylko jedno urządzenie stonith dla całego klastra, wspierane agenty stonith: fence_vmware_rest, fence_vmware_soap, fence_xvm, fence_kdump
    cluster_configure_stonith_style: 'one-device-per-node'
    
  • (RHEL/CentOS/AlmaLinux/Rocky) włączyć repozytoria zawierające potrzebne pakiety

    enable_repos: true
    
  • (tylko RHEL) włączyć rozszerzone repozytoria aktualizacji (EUS) zawierające potrzebne pakiety

    enable_eus_repos: false
    
  • (tylko RHEL) włączyć repozytoria aktualizacji SAP Solutions (E4S) zawierające potrzebne pakiety

    enable_e4s_repos: false
    
  • (tylko RHEL) włączyć repozytoria Beta zawierające potrzebne pakiety

    enable_beta_repos: false
    
  • (tylko RHEL) typ włączonych repozytoriów, pamiętaj, że repozytoria E4S mają dostępny tylko typ 'ha'

    • ha - Wysoka Dostępność
    • rs - Odporne Przechowywanie
    repos_type: 'ha'
    
  • (tylko RHEL) custom_repository umożliwia włączenie repozytorium o dowolnej nazwie. Nazwy repozytoriów RHEL8 można znaleźć na http://downloads.redhat.com/redhat/rhel/rhel-8-beta/rhel-8-beta.repo

    custom_repository: ''
    
  • (tylko CentOS) zainstalować potrzebne pakiety z nośnika CD-ROM dostępnego pod /dev/cdrom

    use_local_media: false
    
  • Włącz lub wyłącz interfejs użytkownika PCSD. Domyślnie rola utrzymuje domyślną wartość instalacji, co oznacza, że interfejs użytkownika PCSD jest wyłączony w CentOS/RHEL 6.X, a włączony w CentOS/RHEL 7.X. true lub false można przekazać do tej zmiennej, aby upewnić się, że interfejs użytkownika PCSD jest włączony lub wyłączony.

    enable_pcsd_gui: 'nochange'
    
  • Protokół transportu klastra. Domyślnie ta rola będzie używać tego, co jest domyślne dla danego systemu operacyjnego. Dla CentOS/RHEL 6.X oznacza to 'udp' (UDP multicast), a dla CentOS/RHEL 7.X oznacza to 'udpu' (UDP unicast). Ta zmienna akceptuje następujące opcje: default, udp i udpu.

    cluster_transport: 'default'
    
  • Zezwól na dodawanie węzłów do istniejącego klastra podczas używania wersji ondrejhome.pcs-modules-2 v16 lub nowszej.

    allow_cluster_expansion: false
    
  • Interfejs sieciowy klastra. Jeśli określony, rola przypisze hosty do podstawowego adresu IPv4 z tego interfejsu. Domyślnie używany jest adres IPv4 z ansible_default_ipv4 lub pierwszy IPv4 z ansible_all_ipv4_addresses. Na przykład, aby użyć podstawowego adresu IPv4 z interfejsu ens8, użyj cluster_net_iface: 'ens8'. Interfejs musi istnieć na wszystkich węzłach klastra.

    cluster_net_iface: ''
    
  • Interfejs sieciowy redundantny. Jeśli określony, rola skonfiguruje korosycynowy redundantny pierścień z użyciem domyślnego IPv4 z tego interfejsu. Interfejs musi istnieć na wszystkich węzłach klastra.

      rrp_interface: ''
    

    UWAGA: możesz zdefiniować tę zmienną albo w defaults/main.yml, w takim przypadku ta sama nazwa rrp_interface jest używana dla wszystkich hostów w pliku hosts. Możesz również określić interfejs dla każdego hosta obecnego w pliku hosts: to pozwala na użycie konkretnej nazwy interfejsu dla każdego hosta (jeśli nie mają tej samej nazwy interfejsu). Zamiast definiować rrp_interface dla hosta, można zdefiniować rrp_ip: w tym przypadku ten alternatywny ip jest używane do konfiguracji RRP korosycyn (ten IP musi być inny niż domyślny adres IPv4 hosta). Umożliwia to użycie alternatywnego IP należącego do tego samego podstawowego interfejsu.

  • Czy dodać hosty do /etc/hosts. Domyślnie wpis dla nazwy hosta podanej przez cluster_hostname_fact jest dodawany dla każdego hosta do /etc/hosts. Można to wyłączyć, ustawiając cluster_etc_hosts na false.

    cluster_etc_hosts: true
    
  • Który fakt ansible użyć jako nazwę hosta węzłów klastra. Domyślnie ta rola korzysta z faktu ansible_hostname jako nazwy hosta dla każdego hosta. W niektórych środowiskach może być przydatne użycie pełnej kwalifikowanej nazwy domenowej (FQDN) ansible_fqdn lub nazwy węzła ansible_nodename.

    cluster_hostname_fact: "ansible_hostname"
    
  • Czy węzeł powinien być skonfigurowany jako zdalny węzeł pacemaker. Domyślnie jest to false, a węzeł będzie pełnoprawnym członkiem klastra Pacemaker. Węzły zdalne nie są pełnoprawnymi członkami klastra i pozwalają na przekroczenie maksymalnych rozmiarów klastra wynoszącego 32 pełnoprawnych członków. Należy zauważyć, że węzły zdalne są wspierane przez tę rolę tylko na EL7 i EL8.

    cluster_node_is_remote: false
    
  • Uporządkowana lista zmiennych do wykrywania podstawowego adresu IP klastra (ring0). Pierwsza pasująca IPv4 jest używana, a pozostałe wykryte IPv4 są pomijane. W większości przypadków nie będzie to wymagało zmian, w niektórych specjalnych przypadkach takich jak gdy nie ma domyślnego GW lub trzeba użyć nie podstawowego IPv4 z tego interfejsu, można to dostosować.

    ring0_ip_ordered_detection_list:
      - "{{ hostvars[inventory_hostname]['ansible_'+cluster_net_iface].ipv4.address|default('') }}"
      - "{{ ansible_default_ipv4.address|default('') }}"
      - "{{ ansible_all_ipv4_addresses[0]|default('') }}"
    
    
  • Konfiguracja właściwości klastra (Nieobowiązkowe)

    cluster_property:
      - name: required
        node: optional
        value: optional
    
  • Konfiguracja domyślnych zasobów klastra (Nieobowiązkowe)

    cluster_resource_defaults:
      - name: required
        defaults_type: optional
        value: optional
    
  • Konfiguracja zasobów klastra (Nieobowiązkowe)

    cluster_resource:
      - name: required
        resource_class: optional
        resource_type: optional
        options: optional
        force_resource_update: optional
        ignored_meta_attributes: optional
        child_name: optional
    
  • Konfiguracja ograniczeń porządkowych klastra (Nieobowiązkowe)

    cluster_constraint_order:
      - resource1: required
        resource1_action: optional
        resource2: required
        resource2_action: optional
        kind: optional
        symmetrical: optional
    
  • Konfiguracja ograniczeń kolokacji klastra (Nieobowiązkowe)

    cluster_constraint_colocation:
      - resource1: required
        resource1_role: optional
        resource2: required
        resource2_role: optional
        score: optional
        influence: optional
    
  • Konfiguracja ograniczeń lokalizacji klastra (Nieobowiązkowe)

    na podstawie węzła

    cluster_constraint_location:
      - resource: required
        node_name: required
        score: optional
    

    na podstawie reguły (wymaga wersji ondrejhome.pcs-modules-2 30.0.0 lub nowszej)

    cluster_constraint_location:
      - resource: required
        constraint_id: required
        rule: required
        score: optional
    

Zagadnienia bezpieczeństwa

Proszę rozważyć zaktualizowanie domyślnej wartości dla cluster_user_pass.

Aby chronić wrażliwe wartości w zmiennych przekazywanych do tej roli, można użyć ansible-vault do ich szyfrowania. Rekomendowane podejście to utworzenie oddzielnego pliku z pożądanymi zmiennymi i ich wartościami, zaszyfrowanie całego pliku za pomocą ansible-vault encrypt a następnie dołączenie tego pliku w sekcji pre_tasks:, aby został załadowany przed wykonaniem roli. Poniższy przykład ilustruje ten cały proces.

Tworzenie pliku encrypted_vars.yaml

    1. Utwórz zwykły plik tekstowy encrypted_vars.yaml z pożądanymi wartościami sekretów
    # cat encrypted_vars.yaml
    ---
    cluster_user_pass: 'cluster-user-pass'
    fence_vmware_login: 'vcenter-user'
    fence_vmware_passwd: 'vcenter-pass'
    
    1. Zaszyfruj plik używając ansible-vault
    # ansible-vault encrypt encrypted_vars.yaml
    
    1. Sprawdź nową zawartość pliku encrypted_vars.yaml
    # cat encrypted_vars.yaml
    $ANSIBLE_VAULT;1.1;AES256
    31306461386430...
    

Przykładowy playbook, który używa wartości z encrypted_vars.yaml

- hosts: cluster
   pre_tasks:
     - include_vars: encrypted_vars.yaml
   roles:
     - { role: 'ondrejhome.ha-cluster-pacemaker', cluster_name: 'test-cluster' }

Uwaga: Szyfrowanie tylko wartości zmiennej i umieszczanie jej w vars: jest odradzane, ponieważ może prowadzić do błędów takich jak argument 1 must be str, not AnsibleVaultEncryptedUnicode. Podejście polegające na zaszyfrowaniu całego pliku wydaje się nie być dotknięte tym problemem.

Domyślne ustawienia modułu Ansible

Choć ta rola nie udostępnia wszystkich opcji konfiguracyjnych przez zmienne, można używać module_defaults aby zmienić domyślne wartości parametrów, które ta rola nie używa. Poniżej znajduje się niepełna lista przykładów, gdzie może to być przydatne.

Przykład module_default A dla ustawienia tokena totemowego na 15 sekund

- hosts: cluster
  modules_defaults:
    pcs_cluster:
      token: 15000               # domyślnie 'null' - zależne od domyślnej wartości systemu operacyjnego

Przykład module_default B dla wyłączenia instalacji słabych zależności w systemach EL8+/Fedora

- hosts: cluster
  modules_defaults:
    yum:
      install_weak_deps: false   # domyślnie jest 'true'

Przykład module_default C dla wyłączenia instalacji rekomendacji pakietów w systemach Debian

- hosts: cluster
  modules_defaults:
    apt:
      install_recommends: false  # domyślnie 'null' - zależy od konfiguracji systemu

Uwaga: module_defaults działa tylko dla opcji, które nie są określone w zadaniu - nie można nadpisać wartości ustawionej przez zadanie w tej roli, można tylko zmienić wartość opcji, które nie są używane.

Przykładowy Playbook

Przykładowy playbook A do utworzenia klastra o nazwie 'test-cluster' włączonego przy starcie, z ustawieniami fence_xvm i zapory. UWAGA: cluster_name jest opcjonalne, a domyślnie to pacemaker.

- hosts: cluster
  roles:
     - { role: 'ondrejhome.ha-cluster-pacemaker', cluster_name: 'test-cluster' }

Przykładowy playbook B do utworzenia klastra o nazwie 'test-cluster' bez konfigurowania zapory i bez fence_xvm. Aby klaster został prawidłowo autoryzowany, oczekuje się, że zapora jest już skonfigurowana lub wyłączona.

- hosts: cluster
  roles:
     - { role: 'ondrejhome.ha-cluster-pacemaker', cluster_name: 'test-cluster', cluster_firewall: false, cluster_configure_fence_xvm: false }

Przykładowy playbook C do utworzenia klastra o nazwie vmware-cluster z urządzeniem stonith fence_vmware_soap.

- hosts: cluster
  vars:
    fence_vmware_ipaddr: 'vcenter-hostname-or-ip'
    fence_vmware_login: 'vcenter-username'
    fence_vmware_passwd: 'vcenter-password-for-username'
  roles:
     - { role: 'ondrejhome.ha-cluster-pacemaker', cluster_name: 'vmware-cluster', cluster_configure_fence_xvm: false, cluster_configure_fence_vmware_soap: true }

Przykładowy playbook D do utworzenia klastra o nazwie test-cluster, gdzie /etc/hosts nie jest modyfikowane:

- hosts: cluster
  roles:
     - { role: 'ondrejhome.ha-cluster-pacemaker', cluster_name: 'test-cluster', cluster_etc_hosts: false }

Przykładowy playbook E do utworzenia klastra o nazwie vmware-cluster z pojedynczym urządzeniem fence_vmware_rest dla wszystkich węzłów klastra.

- hosts: cluster
  vars:
    fence_vmware_ipaddr: 'vcenter-hostname-or-ip'
    fence_vmware_login: 'vcenter-username'
    fence_vmware_passwd: 'vcenter-password-for-username'
  roles:
     - { role: 'ondrejhome.ha-cluster-pacemaker', cluster_name: 'vmware-cluster', cluster_configure_fence_xvm: false, cluster_configure_fence_vmware_rest: true, cluster_configure_stonith_style: 'one-device-per-cluster' }

Przykładowy playbook do konfiguracji zasobów.

- hosts: cluster
  vars:
    cluster_property:
      - name: 'maintenance-mode'
        value: 'true'
    cluster_resource:
      - name: 'apache2'
        resource_type: 'systemd:apache2'
        options: 'meta migration-threshold=2 op monitor interval=20s timeout=10s'
      - name: 'cluster_vip'
        resource_type: 'ocf:heartbeat:IPaddr2'
        options: 'ip=192.168.1.150 cidr_netmask=24 meta migration-threshold=2 op monitor interval=20'
    cluster_constraint_colocation:
      - resource1: 'cluster_vip'
        resource2: 'apache2'
        score: 'INFINITY'
    cluster_resource_defaults:
      - name: 'failure-timeout'
        value: '30'
  roles:
     - { role: 'ondrejhome.ha-cluster-pacemaker', cluster_name: 'apache-cluster'}

Przykład pliku inwentaryzacyjnego dla systemów CentOS/RHEL/Fedora tworzących podstawowe klastry.

[cluster-centos7]
192.168.22.21 vm_name=fastvm-centos-7.8-21
192.168.22.22 vm_name=fastvm-centos-7.8-22
[cluster-fedora32]
192.168.22.23 vm_name=fastvm-fedora32-23
192.168.22.24 vm_name=fastvm-fedora32-24
[cluster-rhel8]
192.168.22.25 vm_name=fastvm-rhel-8.0-25
192.168.22.26 vm_name=fastvm-rhel-8.0-26

Przykład pliku inwentaryzacyjnego dla klastra używającego połączeń RRP na niestandardowym interfejsie i/lub używającego niestandardowego IP dla RRP

[cluster-centos7-rrp]
192.168.22.27 vm_name=fastvm-centos-7.6-21 rrp_interface=ens6
192.168.22.28 vm_name=fastvm-centos-7.6-22 rrp_ip=192.168.22.29

Przykład pliku inwentaryzacyjnego z dwoma pełnoprawnymi członkami i dwoma węzłami zdalnymi:

[cluster]
192.168.22.21 vm_name=fastvm-centos-7.6-21
192.168.22.22 vm_name=fastvm-centos-7.6-22
192.168.22.23 vm_name=fastvm-centos-7.6-23 cluster_node_is_remote=True
192.168.22.24 vm_name=fastvm-centos-7.6-24 cluster_node_is_remote=True

Przykład pliku inwentaryzacyjnego z fence_aws:

[cluster]
172.31.0.1	instance_id="i-acbdefg1234567890"
172.31.0.2	instance_id="i-acbdefg0987654321"

Stare filmy przedstawiające uruchamianie roli z domyślnymi ustawieniami dla:

Licencja

GPLv3

Informacje o autorze

Aby skontaktować się z autorem, możesz użyć e-maila ondrej-xa2iel8u@famera.cz lub utworzyć problem na githubie, gdy potrzebujesz jakiejś funkcji.

O projekcie

pacemaker basic cluster role with fencing configuration (xvm, kdump, custom)

Zainstaluj
ansible-galaxy install OndrejHome.ha-cluster-pacemaker
Licencja
gpl-3.0
Pobrania
2.5k
Właściciel