JPOUG Advent Calendar 2017 22日目の投稿です。
21日目はYohei Azekatsu様のOracle Database のベンチマークツール SLOB(The Silly Little Oracle Benchmark) を使ってみるでした。
本当はRACとDataGuardのことを書きたかったのですが、上司の雲行きがグレーな感じだったため、RAC関連のネタとしてHAIPについてひとつ共有致します。
HAIPは複数のインターコネクト用のNICをいい感じにまとめて冗長化してくれる機能です。
マニュアルによると以下のように記載されています。
Cf: 冗長なインターコネクトの使用
冗長なインターコネクトの使用に対して複数のインタフェースを定義できます。このようにすると、定義したインタフェースの数に応じて1つから4つの高可用性IP(HAIP)アドレスがOracle Clusterwareによって作成され、Oracle DatabaseおよびOracle ASMインスタンスは、これらのアドレスを使用して高可用性のロード・バランスされた通信を実現します。
つまり、bondingやチーミングなどをしなくてもOracle側でよしなに制御してくれるという代物です。
とっても便利じゃないかと思いつつも、ちゃんと動き的にロードバランスしてくれたり、フェイルオーバーてきなことをしてくれるのかが気になったので動きを検証してみました。
環境は以下の環境で実施しました。
OS:RedHat 7.3
Oracle: 12.1.0.2 2node RAC(SE)
NICは以下のようにインターコネクトを4つ用意しました。
# oifcfg getif enp0s16 192.168.11.0 global cluster_interconnect enp0s17 192.168.12.0 global cluster_interconnect enp0s18 192.168.13.0 global cluster_interconnect enp0s3 192.168.250.0 global public enp0s9 192.168.10.0 global cluster_interconnect
※中途半端にenp0s10が葉抜きになってて途中わかりにくくなりますがいい感じに読み取ってください。すみません。
以下のようにテスト的なテーブルを作成します。
create table hoge (id number) tablespace users; create sequence seq_hoge start with 1 nomaxvalue order increment by 1 nocache nocycle;
あとはこのテーブルに対してシーケンスを使って2ノードからひたすらINSERTするだけの簡単なお仕事。
begin for i in 1..5000 loop insert into hoge values (seq_hoge.nextval); commit; end loop; end; /
1ノードであればすぐ終わるのですが、2ノードで同時実行するとちゃんとお互いのノードで順序を取得しあうため、キャッシュフュージョンが大量に発生してインターコネクトを使うことがわかるはずです。
※普通はキャッシュフュージョンが発生しないようにするために、シーケンスを作る際はキャッシュをある程度確保してシーケンスを作成します。今回はインターコネクトを使わせるためにnocacheでシーケンスを作ってますが、実際の環境ではキャッシュさせるように気をつけてください。
インサート中はsarコマンドを用いて各NICの通信量を観測してみます。
以下のコマンドは60秒間、NIC通信量を計測します。
sar -n DEV 1 60
では実際にやってみましょう。
最初に、sarコマンドを各ノードで実行しておきます。
1号機の様子。
[root@ora01 15:28:09 ~]# sar -n DEV 1 60 Linux 3.10.0-514.el7.x86_64 (ora01) 2017年12月20日 _x86_64_ (2 CPU) 15時28分13秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分14秒 enp0s3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分14秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分14秒 enp0s9 5.00 4.00 1.35 0.65 0.00 0.00 0.00 15時28分14秒 lo 37.00 37.00 27.56 27.56 0.00 0.00 0.00 15時28分14秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分14秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分14秒 enp0s10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分14秒 enp0s16 2.00 5.00 0.29 1.63 0.00 0.00 0.00 15時28分14秒 enp0s18 5.00 4.00 0.97 0.85 0.00 0.00 0.00 15時28分14秒 enp0s17 2.00 1.00 0.56 0.14 0.00 0.00 0.00 ...
2号機の様子。
[root@ora02 15:28:13 ~]# sar -n DEV 1 60 Linux 3.10.0-514.el7.x86_64 (ora02) 2017年12月20日 _x86_64_ (2 CPU) 15時28分14秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分15秒 enp0s3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分15秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分15秒 enp0s9 14.00 15.00 3.61 4.47 0.00 0.00 0.00 15時28分15秒 lo 3.00 3.00 0.50 0.50 0.00 0.00 0.00 15時28分15秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分15秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分15秒 enp0s16 10.00 11.00 2.91 2.81 0.00 0.00 0.00 15時28分15秒 enp0s18 12.00 54.00 3.75 65.57 0.00 0.00 0.00 15時28分15秒 enp0s10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分15秒 enp0s17 21.00 33.00 18.22 33.69 0.00 0.00 0.00 ...
インターコネクト側には全然大した通信量はありませんね。
ここで、2ノードに同時にINSERTを実施します。
すると、各ノードでインターコネクトがメキメキと消費しはじめました。
1号機
15時28分17秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分18秒 enp0s3 2.00 0.00 0.12 0.00 0.00 0.00 0.00 15時28分18秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分18秒 enp0s9 631.00 624.00 387.06 377.78 0.00 0.00 0.00 15時28分18秒 lo 221.00 221.00 37.12 37.12 0.00 0.00 0.00 15時28分18秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分18秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分18秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分18秒 enp0s16 666.00 627.00 419.06 376.14 0.00 0.00 0.00 15時28分18秒 enp0s18 631.00 611.00 375.93 365.59 0.00 0.00 0.00 15時28分18秒 enp0s17 567.00 637.00 316.79 383.79 0.00 0.00 0.00 ...
2号機
15時28分17秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分18秒 enp0s3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分18秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分18秒 enp0s9 663.00 767.00 338.36 475.02 0.00 0.00 0.00 15時28分18秒 lo 168.00 168.00 28.22 28.22 0.00 0.00 0.00 15時28分18秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分18秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分18秒 enp0s16 703.00 652.00 389.66 325.71 0.00 0.00 0.00 15時28分18秒 enp0s18 708.00 698.00 395.46 380.20 0.00 0.00 0.00 15時28分18秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分18秒 enp0s17 691.00 654.00 361.78 326.08 0.00 0.00 0.00 ...
さらに、インサート中に1号機側のNIC(enp0s16)をダウンさせてみます。
すると、一瞬通信量が下がった後、enp0s9にフェイルオーバーしたようで、enp0s9の通信量が倍近く膨れ上がりました。
15時28分19秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分20秒 enp0s3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分20秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分20秒 enp0s9 357.00 326.00 242.43 202.13 0.00 0.00 0.00 15時28分20秒 lo 138.00 138.00 23.18 23.18 0.00 0.00 0.00 15時28分20秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分20秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分20秒 enp0s10 3.00 2.00 0.26 1.32 0.00 0.00 0.00 15時28分20秒 enp0s16 339.00 336.00 214.44 220.26 0.00 0.00 0.00 15時28分20秒 enp0s18 330.00 324.00 204.94 205.24 0.00 0.00 0.00 15時28分20秒 enp0s17 336.00 356.00 215.35 233.43 0.00 0.00 0.00 15時28分20秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分21秒 enp0s3 0.00 15.00 0.00 10.56 0.00 0.00 0.00 15時28分21秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分21秒 enp0s9 58.00 49.00 45.31 26.80 0.00 0.00 0.00 15時28分21秒 lo 159.00 159.00 36.83 36.83 0.00 0.00 0.00 15時28分21秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分21秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分21秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分21秒 enp0s16 44.00 40.00 23.78 23.09 0.00 0.00 0.00 15時28分21秒 enp0s18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分21秒 enp0s17 32.00 39.00 13.43 16.28 0.00 0.00 0.00 15時28分21秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分22秒 enp0s3 0.00 24.00 0.00 8.50 0.00 0.00 0.00 15時28分22秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分22秒 enp0s9 28.00 32.00 8.52 14.13 0.00 0.00 0.00 15時28分22秒 lo 193.00 193.00 18.89 18.89 0.00 0.00 0.00 15時28分22秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分22秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分22秒 enp0s10 2.00 3.00 0.12 1.50 0.00 0.00 0.00 15時28分22秒 enp0s16 22.00 27.00 6.22 10.08 0.00 0.00 0.00 15時28分22秒 enp0s18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分22秒 enp0s17 27.00 24.00 11.78 12.82 0.00 0.00 0.00 15時28分22秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分23秒 enp0s3 1.00 0.00 0.06 0.00 0.00 0.00 0.00 15時28分23秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分23秒 enp0s9 132.00 119.00 108.60 78.96 0.00 0.00 0.00 15時28分23秒 lo 35.00 35.00 13.39 13.39 0.00 0.00 0.00 15時28分23秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分23秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分23秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分23秒 enp0s16 82.00 54.00 71.39 31.09 0.00 0.00 0.00 15時28分23秒 enp0s18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分23秒 enp0s17 61.00 56.00 43.83 33.82 0.00 0.00 0.00 15時28分23秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分24秒 enp0s3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 enp0s9 1166.00 1135.00 771.74 720.93 0.00 0.00 0.00 15時28分24秒 lo 237.00 237.00 63.26 63.26 0.00 0.00 0.00 15時28分24秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分24秒 enp0s16 617.00 609.00 417.10 418.14 0.00 0.00 0.00 15時28分24秒 enp0s18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 enp0s17 593.00 592.00 403.44 400.53 0.00 0.00 0.00 ...
2号機
15時28分22秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分23秒 enp0s3 7.00 0.00 1.83 0.00 0.00 0.00 0.00 15時28分23秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分23秒 enp0s9 49.00 58.00 27.01 55.18 0.00 0.00 0.00 15時28分23秒 lo 73.00 73.00 15.80 15.80 0.00 0.00 0.00 15時28分23秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分23秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分23秒 enp0s16 40.00 43.00 22.83 23.63 0.00 0.00 0.00 15時28分23秒 enp0s18 0.00 32.00 0.00 16.11 0.00 0.00 0.00 15時28分23秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分23秒 enp0s17 44.00 34.00 21.45 14.29 0.00 0.00 0.00 15時28分23秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分24秒 enp0s3 21.00 0.00 7.75 0.00 0.00 0.00 0.00 15時28分24秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 enp0s9 32.00 27.00 14.19 8.00 0.00 0.00 0.00 15時28分24秒 lo 267.00 267.00 24.63 24.63 0.00 0.00 0.00 15時28分24秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分24秒 enp0s16 26.00 34.00 9.73 22.72 0.00 0.00 0.00 15時28分24秒 enp0s18 0.00 29.00 0.00 13.70 0.00 0.00 0.00 15時28分24秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分24秒 enp0s17 19.00 26.00 7.65 11.14 0.00 0.00 0.00 15時28分24秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分25秒 enp0s3 1.00 0.00 0.06 0.00 0.00 0.00 0.00 15時28分25秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分25秒 enp0s9 132.00 134.00 96.76 109.06 0.00 0.00 0.00 15時28分25秒 lo 45.00 45.00 13.51 13.51 0.00 0.00 0.00 15時28分25秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分25秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分25秒 enp0s16 54.00 70.00 31.09 54.89 0.00 0.00 0.00 15時28分25秒 enp0s18 0.00 9.00 0.00 2.27 0.00 0.00 0.00 15時28分25秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分25秒 enp0s17 57.00 61.00 34.12 43.87 0.00 0.00 0.00 15時28分25秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時28分26秒 enp0s3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分26秒 enp0s8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分26秒 enp0s9 1169.00 1215.00 737.39 810.71 0.00 0.00 6.00 15時28分26秒 lo 120.00 120.00 20.16 20.16 0.00 0.00 0.00 15時28分26秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分26秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分26秒 enp0s16 635.00 636.00 437.98 426.93 0.00 0.00 0.00 15時28分26秒 enp0s18 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時28分26秒 enp0s10 1.00 1.00 0.06 1.18 0.00 0.00 0.00 15時28分26秒 enp0s17 603.00 608.00 403.96 412.04 0.00 0.00 0.00 ...
ちなみにフェイルオーバーすると、2号機側でもちゃんと認識してフェイルオーバーしているようです。
[root@ora01 15:52:36 ~]# ifconfig enp0s3: flags=4163 mtu 1500 inet 192.168.250.81 netmask 255.255.255.0 broadcast 192.168.250.255 inet6 fe80::a00:27ff:febf:736a prefixlen 64 scopeid 0x20 ether 08:00:27:bf:73:6a txqueuelen 1000 (Ethernet) RX packets 7443 bytes 1021129 (997.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4137 bytes 1390996 (1.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s3:1: flags=4163 mtu 1500 inet 192.168.250.83 netmask 255.255.255.0 broadcast 192.168.250.255 ether 08:00:27:bf:73:6a txqueuelen 1000 (Ethernet) enp0s3:3: flags=4163 mtu 1500 inet 192.168.250.85 netmask 255.255.255.0 broadcast 192.168.250.255 ether 08:00:27:bf:73:6a txqueuelen 1000 (Ethernet) enp0s8: flags=4163 mtu 1500 inet 192.168.56.81 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::a00:27ff:fe4a:fec prefixlen 64 scopeid 0x20 ether 08:00:27:4a:0f:ec txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s9: flags=4163 mtu 1500 inet 192.168.10.11 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::a00:27ff:fe68:3b24 prefixlen 64 scopeid 0x20 ether 08:00:27:68:3b:24 txqueuelen 1000 (Ethernet) RX packets 445141 bytes 313774671 (299.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 422265 bytes 274980358 (262.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s9:1: flags=4163 mtu 1500 inet 169.254.5.151 netmask 255.255.192.0 broadcast 169.254.63.255 ether 08:00:27:68:3b:24 txqueuelen 1000 (Ethernet) enp0s9:2: flags=4163 mtu 1500 ←★enp0s9:2でフェイルオーバーしている! inet 169.254.246.226 netmask 255.255.192.0 broadcast 169.254.255.255 ether 08:00:27:68:3b:24 txqueuelen 1000 (Ethernet) enp0s10: flags=4163 mtu 1500 inet 192.168.20.81 netmask 255.255.255.0 broadcast 192.168.20.255 inet6 fe80::a00:27ff:fe88:89fa prefixlen 64 scopeid 0x20 ether 08:00:27:88:89:fa txqueuelen 1000 (Ethernet) RX packets 5269 bytes 601246 (587.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4525 bytes 1453246 (1.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s16: flags=4163 mtu 1500 inet 192.168.11.11 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80::a00:27ff:fe0a:c8b0 prefixlen 64 scopeid 0x20 ether 08:00:27:0a:c8:b0 txqueuelen 1000 (Ethernet) RX packets 388371 bytes 261666122 (249.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 377013 bytes 247732229 (236.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s16:1: flags=4163 mtu 1500 inet 169.254.100.74 netmask 255.255.192.0 broadcast 169.254.127.255 ether 08:00:27:0a:c8:b0 txqueuelen 1000 (Ethernet) enp0s17: flags=4163 mtu 1500 inet 192.168.12.11 netmask 255.255.255.0 broadcast 192.168.12.255 inet6 fe80::a00:27ff:fe39:6feb prefixlen 64 scopeid 0x20 ether 08:00:27:39:6f:eb txqueuelen 1000 (Ethernet) RX packets 385219 bytes 258880806 (246.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 379709 bytes 248541827 (237.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s17:1: flags=4163 mtu 1500 inet 169.254.180.184 netmask 255.255.192.0 broadcast 169.254.191.255 ether 08:00:27:39:6f:eb txqueuelen 1000 (Ethernet) lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 293455 bytes 221377626 (211.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 293455 bytes 221377626 (211.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099 mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:26:fe:cd txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2号機側のNIC情報
[root@ora02 15:53:25 ~]# ifconfig enp0s3: flags=4163 mtu 1500 inet 192.168.250.82 netmask 255.255.255.0 broadcast 192.168.250.255 inet6 fe80::a00:27ff:fe9d:6e76 prefixlen 64 scopeid 0x20 ether 08:00:27:9d:6e:76 txqueuelen 1000 (Ethernet) RX packets 7421 bytes 1250808 (1.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3935 bytes 1052253 (1.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s3:1: flags=4163 mtu 1500 inet 192.168.250.84 netmask 255.255.255.0 broadcast 192.168.250.255 ether 08:00:27:9d:6e:76 txqueuelen 1000 (Ethernet) enp0s8: flags=4163 mtu 1500 inet 192.168.56.81 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::a00:27ff:feaf:1f4d prefixlen 64 scopeid 0x20 ether 08:00:27:af:1f:4d txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s9: flags=4163 mtu 1500 inet 192.168.10.12 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::a00:27ff:fed3:6f5d prefixlen 64 scopeid 0x20 ether 08:00:27:d3:6f:5d txqueuelen 1000 (Ethernet) RX packets 423388 bytes 275561500 (262.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 446767 bytes 336269694 (320.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s9:1: flags=4163 mtu 1500 inet 169.254.63.77 netmask 255.255.192.0 broadcast 169.254.63.255 ether 08:00:27:d3:6f:5d txqueuelen 1000 (Ethernet) enp0s9:2: flags=4163 mtu 1500 ←★enp0s9:2でフェイルオーバーしている! inet 169.254.195.238 netmask 255.255.192.0 broadcast 169.254.255.255 ether 08:00:27:d3:6f:5d txqueuelen 1000 (Ethernet) enp0s10: flags=4163 mtu 1500 inet 192.168.20.82 netmask 255.255.255.0 broadcast 192.168.20.255 inet6 fe80::a00:27ff:fed3:dc30 prefixlen 64 scopeid 0x20 ether 08:00:27:d3:dc:30 txqueuelen 1000 (Ethernet) RX packets 2166 bytes 223814 (218.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2110 bytes 941925 (919.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s16: flags=4163 mtu 1500 inet 192.168.11.12 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80::a00:27ff:fe7f:f98c prefixlen 64 scopeid 0x20 ether 08:00:27:7f:f9:8c txqueuelen 1000 (Ethernet) RX packets 377504 bytes 247983410 (236.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 389122 bytes 262148953 (250.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s16:1: flags=4163 mtu 1500 inet 169.254.104.255 netmask 255.255.192.0 broadcast 169.254.127.255 ether 08:00:27:7f:f9:8c txqueuelen 1000 (Ethernet) enp0s17: flags=4163 mtu 1500 inet 192.168.12.12 netmask 255.255.255.0 broadcast 192.168.12.255 inet6 fe80::a00:27ff:fe40:df68 prefixlen 64 scopeid 0x20 ether 08:00:27:40:df:68 txqueuelen 1000 (Ethernet) RX packets 380253 bytes 248890781 (237.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 385982 bytes 259375636 (247.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s17:1: flags=4163 mtu 1500 inet 169.254.152.104 netmask 255.255.192.0 broadcast 169.254.191.255 ether 08:00:27:40:df:68 txqueuelen 1000 (Ethernet) enp0s18: flags=4163 mtu 1500 inet 192.168.13.12 netmask 255.255.255.0 broadcast 192.168.13.255 inet6 fe80::a00:27ff:fe89:b939 prefixlen 64 scopeid 0x20 ether 08:00:27:89:b9:39 txqueuelen 1000 (Ethernet) RX packets 332630 bytes 214403547 (204.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 345364 bytes 230318647 (219.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 124391 bytes 96114530 (91.6 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 124391 bytes 96114530 (91.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099 mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:26:fe:cd txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ちなみに、NICを落としたとしても処理は中断せず、きちんとインサートされていることが確認できました。
1号機
15:27:12 SYS@ORCL1> begin 15:28:15 2 for i in 1..5000 15:28:15 3 loop 15:28:15 4 insert into hoge values (seq_hoge.nextval); 15:28:15 5 commit; 15:28:15 6 end loop; 15:28:15 7 end; 15:28:15 8 / PL/SQL procedure successfully completed.
2号機
15:27:14 SYS@ORCL2> begin 15:28:16 2 for i in 1..5000 15:28:17 3 loop 15:28:17 4 insert into hoge values (seq_hoge.nextval); 15:28:17 5 commit; 15:28:17 6 end loop; 15:28:17 7 end; 15:28:17 8 / PL/SQL procedure successfully completed. Elapsed: 00:00:46.86
件数もきっちり2ノード分雁首揃えて1万件入ってました。
15:53:31 SYS@ORCL1> select count(*) from hoge; COUNT(*) ---------- 10000 Elapsed: 00:00:00.12
今回の検証により、bondingやチーミングなどを使わなくてもOracle側でアクティブ・アクティブにインターコネクト通信をロードバランスしてくれて、自動的にフェイルオーバーもしてくれて、いい感じに処理してくれることがわかりました。
みなさんも今後はインターコネクトを使う際は是非HAIPをお使いください!
こんにちは。virapture…
View Comments
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://accounts.binance.com/sv/register-person?ref=P9L9FQKY
Thank you very much for sharing, I learned a lot from your article. Very cool. Thanks. nimabi
Your article helped me a lot, is there any more related content? Thanks! https://www.binance.info/tr/join?ref=DB40ITMB
I don't think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://accounts.binance.com/sl/register?ref=PORL8W0Z
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.