Назад | Перейти на главную страницу

Oracle GNS (Grid Naming Service) ломает DNS

Я запускаю 2-узловой кластер Oracle 12.1.0.2.0 ASM Flex с использованием Oracle GNS, который, как я полагаю, использует zeroconf для создания своей специальной сети.

Перед запуском GNS DNS работает, то есть nslookup, dig, ping, ssh работают как для локальной сети, так и для www (например, google.com). Вот как выглядит таблица маршрутизации ДО запуска GNS:

 [root@lxcora03 ~]# route
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 default         vmem1.vmem.org  0.0.0.0         UG    0      0        0 eth0
 10.207.39.0     *               255.255.255.0   U     0      0        0 eth0
 172.0.0.0       *               255.0.0.0       U     0      0        0 eth5
 172.0.0.0       *               255.0.0.0       U     0      0        0 eth6
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth1
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth2
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth3
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth4
 [root@lxcora03 ~]# 

После запуска GNS добавляются новые маршруты, ping и ssh BREAK, в то время как nslookup и dig продолжают работать. Вот таблица маршрутизации после запуска GNS. Я подозреваю, что проблема связана с этой локальной записью в таблице маршрутизации, но не уверен.

 [root@lxcora03 ~]# route
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 default         vmem1.vmem.org  0.0.0.0         UG    0      0        0 eth0
 10.207.39.0     *               255.255.255.0   U     0      0        0 eth0
 link-local      *               255.255.192.0   U     0      0        0 eth1
 169.254.64.0    *               255.255.192.0   U     0      0        0 eth2
 169.254.128.0   *               255.255.192.0   U     0      0        0 eth3
 169.254.192.0   *               255.255.192.0   U     0      0        0 eth4
 172.0.0.0       *               255.0.0.0       U     0      0        0 eth5
 172.0.0.0       *               255.0.0.0       U     0      0        0 eth6
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth1
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth2
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth3
 192.0.0.0       *               255.0.0.0       U     0      0        0 eth4
 [root@lxcora03 ~]# 

Мне интересно, как снова заставить разрешение www работать. Мне нужно добавить статический маршрут? Я администратор баз данных Oracle, и я достаточно знаю о сети, чтобы создавать openvswitch, работать с dhclient.conf, настраивать привязку, настраивать файлы ifcfg-ethX, работать с resolv.conf и т. Д., Но эта проблема решена. на моем текущем уровне навыков. Я занимался этим пару дней, пробуя различные подходы с nsswitch.conf, avahi-daemon, resolv.conf и т.д., но безрезультатно.

Все предложения приветствуются, но мне нужно использовать GNS, который отлично работает, поэтому деконфигурирование GNS не вариант. Спасибо.

маршрут с переключателем "-n" (отвечая Андрею - спасибо!)

ПЕРЕД НАЧАЛОМ ORACLE GNS:

[root@lxcora03 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.207.39.1     0.0.0.0         UG    0      0        0 eth0
10.207.39.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth5
172.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth6
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth1
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth2
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth3
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth4

ПОСЛЕ ЗАПУСКА ORACLE GNS (обратите внимание, что появились многоадресные IP-маршруты)

[root@lxcora03 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.207.39.1     0.0.0.0         UG    0      0        0 eth0
10.207.39.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.192.0   U     0      0        0 eth1
169.254.64.0    0.0.0.0         255.255.192.0   U     0      0        0 eth2
169.254.128.0   0.0.0.0         255.255.192.0   U     0      0        0 eth3
169.254.192.0   0.0.0.0         255.255.192.0   U     0      0        0 eth4
172.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth5
172.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth6
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth1
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth2
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth3
192.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth4
[root@lxcora03 ~]# 

resolv.conf (то же самое до и после запуска GNS)

[root@lxcora03 ~]# cat /etc/resolv.conf
options attempts:2 timeout:1 
; generated by /sbin/dhclient-script
search vmem.org gns1.vmem.org
nameserver 10.207.39.3
nameserver 10.207.39.1

ОБНОВЛЕНИЕ 23 декабря ... так что, взяв подсказку из ответа Эндрю, я работал с /etc/resolv.conf и считаю, что у меня есть по крайней мере "обходной путь", который решает мои требования, хотя он не объясняет причину проблемы. Итак, вот оно.

По какой-то причине после полного запуска кластера Oracle RAC GNS разрешение локальных и www-адресов перестает работать при использовании вышеуказанного /etc/resolv.conf, поэтому каким-то образом какой-то путь разрешения нарушается. Рискуя сказать что-то глупое, упомянутые выше маршруты, похоже, не имеют абсолютно ничего общего с этой проблемой: я вручную удалил маршруты после того, как стек Oracle был полностью заполнен, и это не имело никакого эффекта - разрешение DNS все еще было нарушено. Если это полный идиотизм, пожалуйста, помните, что я в первую очередь администратор базы данных Oracle, а сетевой администратор-любитель - второй навык (но все время совершенствуюсь!)

Итак, я обнаружил, что следующий /etc/resolv.conf может разрешить все по мере необходимости: внешние адреса, адреса локального домена и адреса кластера RAC. Вот тот /etc/resolv.conf, который работает:

[root@lxcora02 ~]# cat /etc/resolv.conf

options attempts:2 timeout:1
; generated by /sbin/dhclient-script
search vmem.org gns1.vmem.org
nameserver 10.207.39.1
nameserver 8.8.8.8
nameserver 10.207.39.3

[root@lxcora02 ~]# 

Я генерирую этот /etc/resolv.conf во время загрузки (это LXC Linux Containers BTW), используя этот файл:

[root@lxcora02 ~]# cd /etc/dhcp
[root@lxcora02 dhcp]# cat dhclient.conf
append domain-name-servers 8.8.8.8, 10.207.39.3;
append domain-name " gns1.vmem.org";
[root@lxcora02 dhcp]# 

Для записи отметим, что последний сервер имен, «10.207.39.3», является «делегированным» доменом GNS (дополнительную информацию см. В документации Oracle Grid Naming Service). Сервер имен «10.207.39.1» - это мой локальный сервер имен для моего локального домена «vmem.org». Наконец, конечно, сервер имен «8.8.8.8» дает мне мои разрешения www, такие как google.com и т. Д.

Еще одно замечание: В данном случае ВАЖЕН ПОРЯДОК серверов имен. Я пробовал использовать серверы имен разных порядков, и только то, что они были в указанном порядке, давало все необходимые разрешения. Например, если поставить сначала «8.8.8.8», разрешается google.com, но нарушаются разрешения локальных доменов, поэтому этот конкретный порядок методом проб и ошибок оказался порядком серверов имен, которые обеспечили все успешные разрешения.

Теперь у меня все разрешения DNS работают правильно, но, как уже упоминалось, это на самом деле не объясняет, почему запуск кластерного стека Oracle RAC каким-то образом нарушает разрешение с использованием «другого» файла resolv.conf.

Спасибо, Эндрю за ответ, это заставило меня снова отказаться от этого, и я приму «утешительный приз обходного пути», который действительно работает в любой день и дважды в воскресенье.