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

Команда hostid не возвращает согласованный hostid на сервере RHEL 5.6

У нас есть два недавно построенных сервера RHEL 5.6 x86_64, которые являются частью кластера базы данных Oracle. Один назван CMORAC1 и другие CMORAC2. Основные IP-адреса обоих серверов: 10.100.9.144 и 10.100.9.154 соответственно. Сетевые интерфейсы каждого сервера связаны для повышения производительности и балансировки нагрузки на уровне ядра.

На CMORAC1, то hostid команда всегда возвращает одно и то же: 640a9009. При преобразовании обратно в IP-адрес он дает 10.100.9.144, который является правильным IP-адресом.

На CMORAC2 Однако hostid команда дает очень противоречивые результаты. Я запускал команду в цикле 50 раз (с интервалом в 1 секунду между циклами), и она давала разные хосты. Возвращаются следующие уникальные значения:

640a4a10
640a9909
640a9a09
640a9b09
640a9c09
fea9b8fc

Эти хосты соответствуют IP-адресам:

10.100.16.74
10.100.9.153
10.100.9.154
10.100.9.155
10.100.9.156
169.254.252.184

Хостид всегда должен быть 640a9a09, но это не так.

Вот ifconfig CMORAC2:

bond0     Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:3F  
          inet addr:10.100.9.154  Bcast:10.100.9.255  Mask:255.255.255.128
          inet6 addr: fe80::7a2b:cbff:fe1a:973f/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:2167149212 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2169807434 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:279381053647 (260.1 GiB)  TX bytes:366406519908 (341.2 GiB)

bond0:2   Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:3F  
          inet addr:10.100.9.153  Bcast:10.100.9.255  Mask:255.255.255.128
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

bond0:3   Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:3F  
          inet addr:10.100.9.155  Bcast:10.100.9.255  Mask:255.255.255.128
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

bond0:4   Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:3F  
          inet addr:10.100.9.156  Bcast:10.100.9.255  Mask:255.255.255.128
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

bond1     Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:43  
          inet addr:10.100.16.74  Bcast:10.100.16.79  Mask:255.255.255.248
          inet6 addr: fe80::7a2b:cbff:fe1a:9743/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:9000  Metric:1
          RX packets:517202985 errors:0 dropped:0 overruns:0 frame:0
          TX packets:571091767 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:330164712285 (307.4 GiB)  TX bytes:481545253520 (448.4 GiB)

bond1:1   Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:43  
          inet addr:169.254.252.184  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:9000  Metric:1

eth0      Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:3F  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1374977659 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1556885797 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:172018406954 (160.2 GiB)  TX bytes:257910742704 (240.1 GiB)
          Interrupt:138 Memory:d6000000-d6012800 

eth1      Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:41  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:792171553 errors:0 dropped:0 overruns:0 frame:0
          TX packets:612921637 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:107362646693 (99.9 GiB)  TX bytes:108495777204 (101.0 GiB)
          Interrupt:146 Memory:d8000000-d8012800 

eth2      Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:43  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:13570946 errors:0 dropped:0 overruns:0 frame:0
          TX packets:382329420 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8059679153 (7.5 GiB)  TX bytes:310241198851 (288.9 GiB)
          Interrupt:154 Memory:da000000-da012800 

eth3      Link encap:Ethernet  HWaddr 78:2B:CB:1A:97:45  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:9000  Metric:1
          RX packets:503632039 errors:0 dropped:0 overruns:0 frame:0
          TX packets:188762347 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:322105033132 (299.9 GiB)  TX bytes:171304054669 (159.5 GiB)
          Interrupt:162 Memory:dc000000-dc012800 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:187853342 errors:0 dropped:0 overruns:0 frame:0
          TX packets:187853342 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:158085331402 (147.2 GiB)  TX bytes:158085331402 (147.2 GiB)

Файл /etc/hostid нет на сервере, а NetworkManager служба остановлена.

Эта проблема вызывает у нас множество проблем с лицензированием программного обеспечения, которое использует hostid для генерации лицензии. Поскольку это непоследовательно, мы не можем сохранить лицензию на программное обеспечение. Эта проблема не происходит с его близнецом CMORAC1 который, по словам администратора, который его построил, должен настраивается так же ...

Кто-нибудь знает, что может быть причиной этого?

Мы обнаружили проблему, которая вызвала такое поведение. Это было связано с DNS.

Было несколько IP-адресов DNS-записей для одного и того же имени:

[root@cmorac2 ~]# nslookup cmorac2
Server:         10.100.9.174
Address:        10.100.9.174#53

Name:   cmorac2.cibc.cginet
Address: 10.100.9.156
Name:   cmorac2.cibc.cginet
Address: 10.100.16.74
Name:   cmorac2.cibc.cginet
Address: 169.254.252.184
Name:   cmorac2.cibc.cginet
Address: 10.100.9.153
Name:   cmorac2.cibc.cginet
Address: 10.100.9.154
Name:   cmorac2.cibc.cginet
Address: 10.100.9.155

После того, как это было исправлено, возвращенный хостид был постоянным и всегда одинаковым.

Это полезно знать!

Я уверен, что соединение Ethernet вызывает эту проблему. Мне интересно, может быть, одним из решений может быть просто выделить eth0, дать ему IP-номер, а не связывать его, может быть, даже не использовать. Это, вероятно, приведет к последовательному результату. Вы могли бы, вероятно, установить другую плату Ethernet, если вам нужны порты, я уверен, что в наши дни они довольно дешевы, если у вас есть слоты на материнской плате.

Я подтвердил на своих машинах, что если число помещено в / etc / hostid, команда hostid будет возвращать число последовательно (в шестнадцатеричном формате). Это может быть еще один возможный подход к решению вашей проблемы.