Oracle RAC VIP и SCAN IP

Я пару раз читал документацию по Oracle RAC, но SCAN и VIP все еще сбивают меня с толку. Может кто-нибудь помочь мне понять, как это нужно технически настроить, чтобы я мог объяснить это моему сетевому администратору.

  1. VIP в Oracle RAC, должен ли каждый VIP связываться с узлом или просто требовать запись DNS A, не выделяя ее для узла 1 или узла 2 и записи в файле хоста? Я знаю, что при выполнении установки Grid-кластера Oracle автоматически связывает VIP, но должен ли он быть частью DNS, назначенной одному из узлов, или он должен быть свободным и неназначенным?

  2. IP-адреса Oracle SCAN должны быть созданы в записи DNS; это запись A на 3 IP с обратным поиском или циклическим перебором, и это не должно быть частью файла hosts?

Мне нужно объяснить это сетевому администратору, чтобы добавить его на DNS-сервер.

2 ответа

Решение

Хорошо, во-первых, VIP-персон:

VIP - это виртуальный IP-адрес, который должен быть определен в DNS и не назначен ни одному хосту или интерфейсу. Когда вы устанавливаете GRID/ASM home, вы указываете VIP-имена, которые были назначены в DNS. Когда Oracle Clusterware запускается, он назначает VIP каждому узлу в кластере. Идея состоит в том, что, если узел выходит из строя (падает), кластерная программа может немедленно переназначить этот VIP новому (выжившему) узлу. Таким образом вы избежите проблем с тайм-аутом TCP.

Далее, СКАН:

SCAN (Имя доступа для одного клиента) является частным случаем VIP. SCAN также должен быть определен в DNS, а не назначен какому-либо узлу или интерфейсу. Должно быть три IP-адреса, связанных с именем SCAN в DNS, и запись DNS должна быть определена таким образом, чтобы один из трех IP-адресов возвращался при каждом запросе DNS в циклическом порядке.

Во время запуска кластерного программного обеспечения каждый из трех VIP, составляющих SCAN, будет назначен другому узлу в кластере. (За исключением особого случая кластера из двух узлов, одному из узлов будет назначено 2 VIP-объекта SCAN.) Смысл SCAN в том, что независимо от того, сколько узлов добавлено или удалено из кластера, все определения Net Service Name в вашем tnsnames.ora (или эквивалент LDAP) не нужно будет когда-либо менять, потому что все они ссылаются на SCAN, который не меняется, независимо от того, сколько узлов добавлено или удалено в кластере.

Например, в кластере из трех узлов вы можете иметь:

Физические и виртуальные имена хостов /IP назначаются следующим образом:

Hostname    Physical IP    Virtual hostnmae   Virtual IP
rac1        10.1.1.1       rac1-vip           10.1.1.4
rac2        10.1.1.2       rac2-vip           10.1.1.5
rac3        10.1.1.3       rac3-vip           10.1.1.6

Кроме того, вы можете определить SCAN как:rac-scan с тремя IP-адресами, 10.1.1.7, 10.1.1.8, 10.1.1.9, Опять же, определение DNS будет определено таким образом, чтобы эти IP-адреса обслуживались в циклическом порядке.

Обратите внимание, что VIP-запросы SCAN, VIP-хосты и физические IP-адреса находятся в одной подсети.

Наконец, хотя вы и не спрашивали об этом, для завершения картины вам также понадобится один частный, не маршрутизируемый IP-адрес, назначенный каждому хосту, и этот IP-адрес будет связан с частным межсоединением. Итак, у вас есть что-то вроде:

rac1-priv  172.16.1.1
rac2-priv  172.16.1.2
rac3-priv  171.16.1.3

Обратите внимание, что адреса '-priv' не должны быть в DNS, а только в файле /etc/hosts каждого хоста в кластере RAC. (Они являются частными, не маршрутизируемыми, и только кластерное ПО будет когда-либо знать или использовать эти адреса, поэтому добавление в DNS не имеет смысла.)

Также обратите внимание, что определения "-priv" и физического IP / имени хоста должны находиться в /etc/hosts, а физические IP и VIP должны быть в DNS. Итак, физические IP-адреса в DNS и /etc/hosts, VIP-адреса только в DNS, '-priv' адреса только в /etc/hosts.

Надеюсь, это поможет.

  1. Я не совсем уверен, что вы имеете в виду для этого, каждый VIP-адрес создается в DNS как записи A, назначенные хостам, а также записываю их в файл hosts.

в ответ на 2, вы правы, IP-адреса SCAN не должны быть в файле hosts. И да, трех "А" записей с резервным поиском будет достаточно (по крайней мере, это то, что сработало для меня).

это мои записи iptables

Порты Oracle

Разрешить доступ с других хостов Oracle RAC

-A ВХОД -m состояние -state NEW -p tcp -m iprange --src-range 172.28.1.90-172.28.1.97 -j ПРИНЯТЬ -A ВХОД -m состояние -state NEW -p tcp -m iprange --src -диапазон 172.28.97.91-172.28.97.93 -j ПРИНЯТЬ -A ВХОД -m состояние -m состояние --state NEW -p tcp -m iprange --src-range 192.168.28.91-192.168.28.93 -j ПРИНЯТЬ

Разрешить многоадресную рассылку

-A ВХОД -m состояние -state NEW -p udp -m iprange --src-range 172.28.1.90-172.28.1.97 -j ПРИНЯТЬ -A ВХОД -m состояние -state NEW -p udp -m iprange --src -диапазон 172.28.97.91-172.28.97.93 -j ПРИНЯТЬ -A ВХОД -m состояние -m состояние --state NEW -p udp -m iprange --src-range 192.168.28.91-192.168.28.93 -j ПРИНЯТЬ

Разрешить многоадресную рассылку

-A ВХОД -m pkttype --pkt-тип многоадресной рассылки -j ПРИНЯТЬ -A ВХОД -s 224.0.0.0/24 -j ПРИНЯТЬ -A ВХОД -s 230.0.1.0/24 -j ПРИНЯТЬ

Мне также нужно было, чтобы наш системный администратор предоставил разрешения на уровне брандмауэра, чтобы мои узлы, их vips и ips сканирования могли подключаться через порт 1521.

надеюсь это поможет

Другие вопросы по тегам