複数のネットワーク インターフェースを持つアプライアンスのクラスタ化に関する考慮事項

複数のネットワーク インターフェースを持つアプライアンスのクラスタ化の問題を解決する方法について説明します。
capam33
PAM
アプライアンスに複数のネットワーク インターフェースがあるクラスタ環境がある場合は、前のページの説明に従ってクラスタを設定し、レプリケーションの失敗を回避するために以下の手順に従います。これらのレプリケーションの失敗は、
PAM
が MySQL クラスタ レプリケーション トラフィックを保護するために作成するファイアウォール ルールに起因します。クラスタ間の通信で、間違ったネットワーク インターフェースが使用された場合(つまり、間違った IP アドレスが使用された場合)、適切なファイアウォール ルールが適用されないため、
PAM
レプリケーションが失敗します。

クラスタを起動する前に確認する内容

ネットワーク インターフェース コントローラ(NIC)が正しく設定されていることを確認するには、最初に Broadcom サポートに問い合わせて、デバッグ SSH を有効にします。
デバッグ SSH が有効になったら、以下の手順に従います。
  1. クラスタ内のすべてのサイトのすべてのメンバに SSH で接続します。
  2. プライマリ リーダの SSH セッションから、そのサイトの他の各メンバに対して
    ip route
    コマンドを実行します。
    ip route get
    intra-cluster
    -
    ip-address
  3. プライマリ サイトの他の各メンバの SSH セッションから、セカンダリ サイトの各メンバの
    クラスタ間アドレスに対して
    ip route
    コマンドを実行します。
    ip route get
    secondary-site-member-inter-cluster-ip-address
  4. セカンダリ サイトの各メンバの SSH セッションから、プライマリ サイト内のクラスタの各メンバに対して
    ip route
    コマンドを実行します。
    ip route get
    primary-site-member-inter-cluster-ip-address
以下に、
ip route
コマンドの出力例を示します。この例では、重要なコンテンツが太字で表示されています。
# ip route get 10.242.2.160 10.242.2.160 via 10.236.12.1 dev eth0 src
10.236.12.241
cache
この太字の IP アドレスは、そのマシンのどの IP アドレスが宛先マシンへの通信を開始するために使用されているかを示します。重要な IP アドレスが現在のクラスタ設定で指定されているものと同じであれば、問題はありません。重要な IP アドレスが、現在のクラスタ設定で指定されているものと同じでない場合は、クラスタ設定がエラーであるか、または追加のルートが正しくありません。

ルートが正しくない場合の対処方法

追加のルートは
PAM
設定に指定されています。ルートが間違っている場合は、
route
コマンドを使用して実際に有効になっているルートを表示できます。以下に例を示します。
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.236.12.1 0.0.0.0 UG 0 0 0 eth0 10.236.12.0 0.0.0.0 255.255.254.0 U 0 0 0 eth0 10.236.16.0 0.0.0.0 255.255.254.0 U 0 0 0 eth7 10.242.4.0 10.236.16.1 255.255.254.0 UG 1 0 0 eth7 localhost 0.0.0.0 255.255.255.255 UH 0 0 0 lo
これは実際に有効なルート、対応するゲートウェイ、および使用されているネットワーク インターフェースを示しています。ネットワーク インターフェースは、linux 用語で記述されています。それらを
PAM
用語に関連付けるには、
/sbin/interfaceMappings.sh
コマンドを実行します。以下に例を示します。
# /sbin/interfaceMappings.sh BOND1=bond0 BOND2=bond1 BOND3=bond2 BOND4=bond3 GB1=eth0 GB2=eth1 GB3=eth2 GB4=eth3 GB5=eth4 GB6=eth5 GB7=eth6 GB8=eth7
この例は、linux インターフェース eth0 が
PAM
インターフェース GB1 に対応しており、eth7 が GB8 に対応していることを示しています。
これらのそれぞれに対応する IP アドレスを確認するには、
ipconfig
コマンドを実行します。以下に例を示します。
# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.236.12.241 netmask 255.255.254.0 broadcast 10.236.13.255 inet6 fe80::290:bff:fe43:1cf4 prefixlen 64 scopeid 0x20<link> ether 00:90:0b:43:1c:f4 txqueuelen 1000 (Ethernet) RX packets 234011558 bytes 291206046553 (271.2 GiB) RX errors 0 dropped 25393 overruns 0 frame 0 TX packets 106480688 bytes 32363304465 (30.1 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device memory 0xf7a00000-f7afffff eth7: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.236.16.21 netmask 255.255.254.0 broadcast 10.236.17.255 inet6 fe80::290:bff:fe43:1cfb prefixlen 64 scopeid 0x20<link> ether 00:90:0b:43:1c:fb txqueuelen 1000 (Ethernet) RX packets 12763590 bytes 5259011456 (4.8 GiB) RX errors 0 dropped 231 overruns 0 frame 0 TX packets 12319523 bytes 5132833296 (4.7 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device memory 0xf6500000-f65fffff eth7:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.236.16.24 netmask 255.255.254.0 broadcast 10.236.17.255 ether 00:90:0b:43:1c:fb txqueuelen 1000 (Ethernet) device memory 0xf6500000-f65fffff lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 309661353 bytes 301153155953 (280.4 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 309661353 bytes 301153155953 (280.4 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
上記の例は、eth0/GB1 の IP アドレスが 10.236.12.241 で、eth7/GB8 のアドレスが 10.236.16.2 であることを示しています。
正しいルートを確立したら、
PAM
UI の
[構成]
-
[ネットワーク]
-
[追加ルート]
でそれらのルートを設定します。
詳細については、「追加のルート」を参照してください。