Dzisiaj próbowałem dodać nowy węzeł do istniejącego klastra Oracle RAC. Grid Infrastructure to wersja 12.1.0.2 działająca na Oracle Linux 5.11.
Przeprowadziłem zwykłe testy narzędzia Cluster Verification Utility (CVU) i wszystkie testy przeszły pomyślnie. Aby dodać węzeł, wydałem następującą komendę z katalogu $GRID_HOME/addnode.
./addnode.sh -silent "CLUSTER_NEW_NODES={newnode}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={newnode-vip}"
Operacja się nie powiedzie. Plik dziennika zawierał następujący błąd:
INFO: ********************************************* INFO: Task resolv.conf Integrity: This task checks consistency of file /etc/resolv.conf file across nodes INFO: Severity:CRITICAL INFO: OverallStatus:OPERATION_FAILED
Wiem na pewno, że z resolv.conf nie ma problemów. Działa dobrze na dwóch istniejących węzłach. Wszystko się sprawdza. To nie był mój pierwszy problem z resolv.conf na przestrzeni lat. Zwykle wiem, że OUI źle sprawdza, więc ignoruję warunek i kontynuuję.
Znalazłem pomoc za pośrednictwem Google, aby ustawić następującą zmienną środowiskową przed uruchomieniem addnode.sh:
export IGNORE_PREADDNODE_CHECKS=Y
Brzmiało to obiecująco. Nie zrobiło to jednak różnicy i otrzymałem ten sam błąd. Ponieważ addnode.sh wywołuje OUI w trybie cichym, pomyślałem, że spróbuję zignorować wymagania wstępne.
./addnode.sh -silent "CLUSTER_NEW_NODES={drorp05}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={drorp05-vip}" -ignoreSysPrereqs
Nadal otrzymuję ten sam błąd. Jak więc uzyskać addnode.sh, aby przejść przez nieudaną kontrolę? Rozwiązanie było zbyt oczywiste, aby było początkowo widoczne.
Skrypt addnode.sh po prostu wywołuje OUI. Więc odpowiedzią jest uruchomienie tylko tego, co następuje:
./addnode.sh
Uruchom skrypt bez parametrów. To uruchamia wersję GUI OUI. Następny ekran prosi o podanie nowej nazwy hosta i jego VIP, które wcześniej były parametrami skryptu. Przeprowadzono kontrole i oczywiście zauważono awarię. Ale tym razem mogłem zaznaczyć pole, aby zignorować błędy i kontynuować instalację.