BIG-IP Active Standby構成の構築

スポンサーリンク

BIG-IPでActive/Standby構成を構築する操作を説明します。

動作確認の構成

BIG-IP virtual editionで以下構成で動作確認をします。heart beat用途のinterfaceは3.0です。物理結線関係やインターフェース番号は構成によって異なる事に注意しましょう。

+----------------+           +----------------+
|                |           |                |
|     Client     |           |     Client     |
|                |           |                |
+-------+--------+           +-------+--------+
        |                            | 
        |                            |
        +----------------------------+
        |                            |
    1.2 | External               1.2 | External
+-------+--------+           +-------+--------+
|                | HeartBeat |                |
|     BIG-IP     +-----------+     BIG-IP     |
|    (bigip01)   | 1.3   1.3 |    (bigip02)   |
+-------+--------+           +-------+--------+
    1.1 | Internal               1.1 | Internal
        |                            |
        +----------------------------+
        |                            |
        |                            | 
+-------+--------+           +-------+--------+
|                |           |                |
|     Server     |           |     Server     |
|                |           |                |
+----------------+           +----------------+

ハートビートの疎通

Active/Standbyを構成する前に、BIG-IP同士が互いに疎通可能になるようにします。bigip01に192.168.100.1/24を、bigip02に192.168.100.2/24を付与します。

MTUサイズはBIG-IPに設定できる上限値を例示しています。もし、BIG-IP間でLayer 2 Switchなどが存在する場合は、Layer 2 SwitchのMTUサイズを超過しないように注意しましょう。また、ESXiで検証する場合は、仮想スイッチのMTUサイズ上限は9000byteのため、下記設定のコピペでは動作しない事に注意してください。

[bigip01]
create net vlan VLAN0100 interfaces replace-all-with { 1.3 { untagged } } mtu 9164 tag 100
create net self SelfIP_VLAN0100 address 192.168.100.1/24 allow-service all traffic-group traffic-group-local-only vlan VLAN0100

[bigip02]
create net vlan VLAN0100 interfaces replace-all-with { 1.3 { untagged } } mtu 9164 tag 100
create net self SelfIP_VLAN0100 address 192.168.100.2/24 allow-service all traffic-group traffic-group-local-only vlan VLAN0100

念の為、bigip01とbigip02間で疎通可能である事をpingコマンドとcurlコマンドを使って確認しておきます。

[root@bigip01:Active:Standalone] config # ping -c 3 192.168.100.2
PING 192.168.100.2 (192.168.100.2) 56(84) bytes of data.
64 bytes from 192.168.100.2: icmp_seq=1 ttl=255 time=0.495 ms
64 bytes from 192.168.100.2: icmp_seq=2 ttl=255 time=0.339 ms
64 bytes from 192.168.100.2: icmp_seq=3 ttl=255 time=0.570 ms

--- 192.168.100.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.339/0.468/0.570/0.096 ms
[root@bigip01:Active:Standalone] config # 
[root@bigip01:Active:Standalone] config # 
[root@bigip01:Active:Standalone] config # curl -k -I https://192.168.100.2
HTTP/1.1 302 Found
Date: Sat, 10 Jul 2021 07:56:59 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=16070400; includeSubDomains
Location: /tmui/login.jsp
Content-Type: text/html; charset=iso-8859-1

[root@bigip01:Active:Standalone] config # 

デバイス同期設定

デバイス名の設定

初期設定ではbigip1というデバイス名が付与されています。この名前では分かりづらいのでデバイス名の変更を試みます。デバイス名は、再起動時にホスト名が付与される使用にはなっていますが、再起動は手間なので手動でのデバイス名変更操作を紹介します。

「Device Management」「Devices」「デバイス名」の順に押下します。

BIG-IP デバイス名の変更 01

「Change Device Name」を押下します。

BIG-IP デバイス名の変更 02

お好みのデバイス名を入力し、アップデートを押下します。

BIG-IP デバイス名の変更 03

これをCLIで操作する場合は以下のようなコマンドです。

mv cm device bigip1 bigip01.gokatei.go

確認方法は以下の通りです。

root@(bigip01)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device      
------------------------------------------------------
CentMgmt::Device: bigip01.gokatei.go
------------------------------------------------------
Hostname                            bigip01.gokatei.go
Mgmt IP                             192.168.2.20
Alternate Mgmt IP                   None
Configsync IP                       ::
Mirroring IP                        ::
Mirroring Secondary IP              ::
Failover Multicast IP               ::
Failover Unicast IP(s)              -
Time Delta to Current Device (sec)  -
Device Status 

同期用IPアドレスの設定

BIG-IPはConfigSync, Failover Network, Mirroringのそれぞれの同期用途にIPアドレスを指定する事ができます。これら3つの指定は、物理線が沢山あるような環境では異なる物理線を指定する事もできますし、潤沢な環境でないならばConfigSync, Failover Network, Mirroringを同一の物理線で指定する事もできます。

高度に仮想化されている環境ならば、異なるネットワークを指定しても結果的には同じ物理線を通る事もありますので、ConfigSync, Failover Network, Mirroringを別回線にするメリットはないかもしれません。

以下、ConfigSync, Failover Network, Mirroringの設定方法を説明します。これはbigip01, bigip02の両方に必要な操作である事に注意ください。

ConfigSync

「Device Management」「Devices」「デバイス名」「ConfigSync」の順に押下します。「Local address」を指定し、「Update」を押下します。

BIG IP config syncの設定

CLIで、これを操作する例は以下の通りです。

modify cm device bigip02.gokatei.go configsync-ip 192.168.100.2

確認コマンドは以下の通りです。

root@(bigip02)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device

------------------------------------------------------
CentMgmt::Device: bigip02.gokatei.go
------------------------------------------------------
Hostname                            bigip02.gokatei.go
Mgmt IP                             192.168.2.21
Alternate Mgmt IP                   None
Configsync IP                       192.168.100.2
Mirroring IP                        ::
Mirroring Secondary IP              ::
Failover Multicast IP               ::
Failover Unicast IP(s)              -
Time Delta to Current Device (sec)  -
Device Status                       -

Failover Network

「Device Management」「Devices」「デバイス名」「Failover Network」の順に押下します。「Local address」の「add」を押下します。

Failover Networkは「ユニキャスト」「マルチキャスト」の2つの通信方法を選べます。このページでは「ユニキャスト」の設定例を紹介します

BIG-IP Failover Networkの設定 01

「Address」を選択し、「Finish」を押下します。

BIG-IP Failover Networkの設定 02

ConfigSyncのIPアドレスが追加された事を確認します。

Failover networkは複数の指定が可能です。マネジメントポートを指定する事もできます。

BIG-IP Failover Networkの設定 03

CLIで、これを操作する例は以下の通りです。

modify cm device bigip02.gokatei.go unicast-address {{ ip 192.168.100.2 }}

確認コマンドは以下の通りです。

root@(bigip02)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device

------------------------------------------------------
CentMgmt::Device: bigip02.gokatei.go
------------------------------------------------------
Hostname                            bigip02.gokatei.go
Mgmt IP                             192.168.2.21
Alternate Mgmt IP                   None
Configsync IP                       192.168.100.2
Mirroring IP                        ::
Mirroring Secondary IP              ::
Failover Multicast IP               ::
Failover Unicast IP(s)              192.168.100.2
Time Delta to Current Device (sec)  -
Device Status                   

Mirroring

「Device Management」「Devices」「デバイス名」「Mirroring」の順に押下します。「Primary Local Mirror address」を指定し、「Update」を押下します。

以下スクリーンショットでは1つのIPアドレスしか指定していませんが、「Seconday Local Mirror address」も指定する事もできます。

BIG-IP mirror ipの設定

CLIで、これを操作する例は以下の通りです。

modify sys state-mirroring addr 192.168.100.2

確認コマンドは以下の通りです。

root@(bigip02)(cfg-sync Standalone)(Active)(/Common)(tmos)# show cm device

------------------------------------------------------
CentMgmt::Device: bigip02.gokatei.go
------------------------------------------------------
Hostname                            bigip02.gokatei.go
Mgmt IP                             192.168.2.21
Alternate Mgmt IP                   None
Configsync IP                       192.168.100.2
Mirroring IP                        192.168.100.2
Mirroring Secondary IP              ::
Failover Multicast IP               ::
Failover Unicast IP(s)              192.168.100.2
Time Delta to Current Device (sec)  -
Device Status 

デバイスの信頼関係

bigip01にて、「Device Management」「Device Trust」「Device Trust Member」の順に押下し、「Add」を押下します。

デバイスの信頼関係 01

対向であるbigip02のIPアドレス, adminユーザのユーザ名とパスワードを入力し、「Recieve Device Information」を押下します。

デバイスの信頼関係 02

なりすましを防止するために、対向機器のシリアル番号や証明書の情報が表示されます。想定通りの情報ならば、「Device Ceriticate Matches」を押下します。

デバイスの信頼関係 03

「Add Device」を押下します。

デバイスの信頼関係 04

「Device Trust Members」に対向機器の情報が表示されている事を確認します。

Device Trust Memberの操作はbigip01, bigip02のいずれか片方のみを操作します。両方を操作する必要はありません。

デバイスの信頼関係 05

CLIで、これを操作する例は以下の通りです。

modify cm trust-domain Root add-device { ca-device true device-ip 192.168.100.2 device-name bigip02.gokatei.go username admin password admin }

操作例は以下の通りです。コマンド入力後、プロンプトにcfg-sync In Sync (Trust Domai Only)と表示されるようになります。

show cm deviceを入力すると、対向機器を信頼している事を確認できます。

root@(bigip01)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify cm trust-domain Root add-device { device-ip 192.168.100.2 device-name bigip02.gokatei.go username admin password admin }
root@(bigip01)(cfg-sync In Sync (Trust Domain Only))(Active)(/Common)(tmos)# 
root@(bigip01)(cfg-sync In Sync (Trust Domain Only))(Active)(/Common)(tmos)# 
root@(bigip01)(cfg-sync In Sync (Trust Domain Only))(Active)(/Common)(tmos)# show cm device

------------------------------------------------------
CentMgmt::Device: bigip01.gokatei.go
------------------------------------------------------
Hostname                            bigip01.gokatei.go
Mgmt IP                             192.168.2.20
Alternate Mgmt IP                   None
Configsync IP                       192.168.100.1
Mirroring IP                        192.168.100.1
Mirroring Secondary IP              ::
Failover Multicast IP               ::
Failover Unicast IP(s)              192.168.100.1
Time Delta to Current Device (sec)  -
Device Status                       -

------------------------------------------------------
CentMgmt::Device: bigip02.gokatei.go
------------------------------------------------------
Hostname                            bigip02.gokatei.go
Mgmt IP                             192.168.2.21
Alternate Mgmt IP                   None
Configsync IP                       192.168.100.2
Mirroring IP                        192.168.100.2
Mirroring Secondary IP              ::
Failover Multicast IP               ::
Failover Unicast IP(s)              192.168.100.2
Time Delta to Current Device (sec)  -
Device Status                       connected

デバイスグループの作成

「Device Management」「Device Groups」の順に画面遷移し、「Create」を押下します。

デバイスグループの作成 01

Active/Standbyペアとなるデバイスの組に対して名前をつけます。「Name」の欄に何か分かりやすい名前を入力します。

「Group type」は「Sync-Only」「Sync-Failover」のいずれかを選択できます。Active/Standby構成とする場合は「Sync-Failover」を選びます。

設定値 意味
Sync-Only 設定同期のみ
Sync-Failover 設定同期と障害時の切り替わり

「Menbers」の欄は、矢印ボタンを使って「Includes」の中にメンバーを含めるよう操作します。

「Sync Type」は「Automatic with Incremental Sync」「Manual with Incremental Sync」「Manual with Full Sync」のいずれかを選択します。それぞれの意味は以下の通りです。

設定値 意味
Automatic with Incremental Sync 自動で差分同期する
Manual with Incremental Sync 手動で差分同期する
Manual with Full Sync 手動で全設定を同期する

以上の設定値を入力したら、「Finished」を押下します。

デバイスグループの作成 02

設定後、「デバイスグループ」が作成された事を確認します。

デバイスグループの作成 03

CLIで、これを操作する例は以下の通りです。

create cm device-group Device-Group-001 devices add { bigip01.gokatei.go bigip02.gokatei.go } type sync-failover network-failover enabled

操作例は以下の通りです。コマンド入力後、Awaiting Initial Syncとのプロンプトに変わり、初回の同期操作を求められます。

root@(bigip01)(cfg-sync In Sync (Trust Domain Only))(Active)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Awaiting Initial Sync)(Standby)(/Common)(tmos)# 

初回同期操作

「Device」「Overview」の順に画面遷移し、「Sync」を押下します。

BIG-IPの初回同期 01

同期が完了するまで待ちます。

BIG-IPの初回同期 02

以下のようなエラーメッセージっぽいのが出力されませんが、誤情報の事もあります。しばらく待てば同期が完了する事の方が経験則としては多いです。

Not All Device Synced
bigip02.gokatei.go did not recieve the last sync successfully.
Recomended Action: Synchronize bigip01,gokatei.go to group device_trust_group

BIG-IPの初回同期 03

場合によっては10分くらいかかる事もありますが、気長に待ちましょう。しばらく待つと、画面左上の表示が「In SYnc」に変わります。

HDDの環境では若干の操作に難があるかもしれません。もし、SSDをお持ちの方ならば、SSDを使用しましょう。

BIG-IPの初回同期 04

CLIで、これを操作する例は以下の通りです。途中で「Not All Devices Synced」と表示される事もあるかもしれませんが、10分程度待ては解消する事もあります。

root@(bigip01)(cfg-sync Awaiting Initial Sync)(Standby)(/Common)(tmos)# run cm config-sync to-group Device-Group-001
root@(bigip01)(cfg-sync Changes Pending)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Awaiting Initial Sync)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Awaiting Initial Sync)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Not All Devices Synced)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Not All Devices Synced)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Not All Devices Synced)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Not All Devices Synced)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync Not All Devices Synced)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync In Sync)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync In Sync)(Standby)(/Common)(tmos)# 
root@(bigip01)(cfg-sync In Sync)(Standby)(/Common)(tmos)# 
タイトルとURLをコピーしました