Dnes jsem se snažil přidat nový uzel do existujícího clusteru Oracle RAC. Grid Infrastructure je verze 12.1.0.2 běžící na Oracle Linux 5.11.
Prošel jsem obvyklými kontrolami nástroje Cluster Verification Utility (CVU) a všechny kontroly prošly. Pro přidání uzlu jsem vydal následující příkaz z adresáře $GRID_HOME/addnode.
./addnode.sh -silent "CLUSTER_NEW_NODES={newnode}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={newnode-vip}"
Operace by se nezdařila. Soubor protokolu ukázal následující chybu:
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
Vím jistě, že s resolv.conf nejsou žádné problémy. Na dvou existujících uzlech to fungovalo dobře. Všechno se kontroluje. Toto nebyl můj první problém s resolv.conf za ta léta. Normálně vím, že OUI dostane kontrolu špatně a já podmínku ignoruji a pokračuji.
Přes Google jsem našel pomoc s nastavením následující proměnné prostředí před spuštěním addnode.sh:
export IGNORE_PREADDNODE_CHECKS=Y
To znělo slibně. To však neznamenalo žádný rozdíl a dostal jsem stejnou chybu. Protože addnode.sh volá OUI v tichém režimu, napadlo mě, že zkusím direktivu ignorovat předpoklady.
./addnode.sh -silent "CLUSTER_NEW_NODES={drorp05}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={drorp05-vip}" -ignoreSysPrereqs
Stále jsem obdržel stejnou chybu. Jak tedy získám addnode.sh, aby se dostal přes neúspěšnou kontrolu? Řešení bylo příliš zřejmé, než aby bylo zpočátku vidět.
Skript addnode.sh pouze volá OUI. Takže odpověď je spustit pouze následující:
./addnode.sh
Spusťte skript bez parametrů. Tím se spustí GUI verze OUI. Další obrazovka se zeptá na název nového hostitele a jeho VIP, což byly dříve parametry skriptu. Proběhly kontroly a samozřejmě došlo k selhání. Ale tentokrát jsem mohl zaškrtnout políčko Ignorovat selhání a pokračovat v instalaci.