2013-12-26 05:36 AM 2017-08-31 03:26 PM 更新
通常 NIC チーミングとは、複数の物理ポートを一体として運用し、そのうちの一つに障害が発生したときに、残りのポートで通信を続行したり、複数の相手と通信する際にポート間で分担して送受信を行うことにより帯域幅を増加させたり負荷を分散させる技術です。Cisco ESA Eメール・セキュリティ・アプライアンスでは、上記後半部分の帯域幅増加をサポートしておりませんが、前半部分の耐障害性を NIC Pairing という機能で実装しております。
NIC Pairing を組んでいる 2つのポートは Active-Standby の関係で、同じ MAC Address と同じ IP Address を使用することになります。そして、Active ポートが障害になったら、Standby ポートが自動的に Active に切り替わり、通信は継続できます。
この NIC Pairing 機能は、AsyncOS バージョン 7.6.3 までとバージョン 8.0.x 以降の実装が異なります(7.6.3 〜 8.0.x の公開リリースはありません )。以下詳細を説明します。
AsyncOS における NIC Pairing 機能は下記のコマンドで設定します。etherconfig コマンドでの設定変更は commit で確定する必要がありますので、ご注意ください。
example.ironport.com> etherconfig
Choose the operation you want to perform: - MEDIA - View and edit ethernet media settings. - PAIRING - View and configure NIC Pairing. - VLAN - View and configure VLANs. - LOOPBACK - View and configure Loopback. - MTU - View and configure MTU. []> pairing
Paired interfaces:
Choose the operation you want to perform: - NEW - Create a new pairing. []> new
Please enter a name for this pair (Ex: "Pair 1"): []> Pair 1
1. Data 1 2. Data 2 Enter the name or number of the primary ethernet interface you wish bind to. []> 1
Paired interfaces: 1. Pair 1: Primary (Data 1) Active, Link is up Backup (Data 2) Standby, Link is up
Choose the operation you want to perform: - FAILOVER - Manually failover to other port. - DELETE - Delete a pairing. - STATUS - Refresh status. []>
Choose the operation you want to perform: - MEDIA - View and edit ethernet media settings. - PAIRING - View and configure NIC Pairing. - VLAN - View and configure VLANs. - LOOPBACK - View and configure Loopback. - MTU - View and configure MTU. []>
example.ironport.com> commit
Please enter some comments describing your changes: []>
Changes committed: Thu Jan 16 17:53:08 2014 JST |
NIC Pairing が有効になると、AsyncOS が定期的(15秒間隔)に各ポートのステータスをチェックし、Active ポートがダウンすると、Standby ポートが Active ステータスに切り替わります。 15秒間隔のステータスチェックであるため、切替時には数秒間のパケットロスが発生します。
Paired interfaces: 1. Pair 1: Primary (Data 1) Unavailable, Link is down Backup (Data 2) Active, Link is up
Choose the operation you want to perform: - FAILOVER - Manually failover to other port. - DELETE - Delete a pairing. - STATUS - Refresh status. []> |
※ ここで注意すべき点は、Pairing が有効になっている2つの NIC ポートが直結しているスイッチポートの設定において、必ず Spanning-Tree を無効にするようにお勧めします。そうしないと、切替時に Spanning-Tree のコンバージェンス時間により、パケットロスの時間が最大数十秒間ほど長くなることがあります。シスコ製のスイッチであれば、下記設定例のコマンドを利用すれば良いです。
Cat3750(config-if)# switchport host
switchport mode will be set to access
spanning-tree portfast will be enabled
channel group will be disabled
その後、一旦ダウンしていた Primary ポートが復旧しても、Backup ポートが引き続き Active ポートであり続け、自動的に切り戻しません。
Paired interfaces: 1. Pair 1: Primary (Data 1) Standby, Link is up Backup (Data 2) Active, Link is up
Choose the operation you want to perform: - FAILOVER - Manually failover to other port. - DELETE - Delete a pairing. - STATUS - Refresh status. []> |
Primary ポートを Active に戻すためには、failover サブコマンドによる手動切り替えが必要です。
Paired interfaces: 1. Pair 1: Primary (Data 1) Standby, Link is up Backup (Data 2) Active, Link is up
Choose the operation you want to perform: - FAILOVER - Manually failover to other port. - DELETE - Delete a pairing. - STATUS - Refresh status. []> failover
Paired interfaces: 1. Pair 1: Primary (Data 1) Standby, Link is up Backup (Data 2) Active, Link is up
Choose the operation you want to perform: - FAILOVER - Manually failover to other port. - DELETE - Delete a pairing. - STATUS - Refresh status. []> status
Paired interfaces: 1. Pair 1: Primary (Data 1) Active, Link is up Backup (Data 2) Standby, Link is up
Choose the operation you want to perform: - FAILOVER - Manually failover to other port. - DELETE - Delete a pairing. - STATUS - Refresh status. []> |
つまり、ポイントは、
AsyncOS 8.0.x より以降では、NIC Pairing の実装が変更され、AsyncOS のベースOSである FreeBSD の NIC Teaming の実装をベースにしています。それで、以前の実装と比べて下記の相違点があります。
以下のログ例で、failover サブコマンドがなくなっていることを確認できます。
example.ironport.com> etherconfig
Choose the operation you want to perform: - MEDIA - View and edit ethernet media settings. - PAIRING - View and configure NIC Pairing. - VLAN - View and configure VLANs. - LOOPBACK - View and configure Loopback. - MTU - View and configure MTU. []> pairing
Paired interfaces:
Choose the operation you want to perform: - NEW - Create a new pairing. []> new
Please enter a name for this pair (Ex: "Pair 1"): []> Pair 1
1. Data 1 2. Data 2 Enter the name or number of the primary ethernet interface you wish bind to. []> 1
Paired interfaces: 1. Pair 1: Primary (Data 1) Backup (Data 2)
Choose the operation you want to perform: - DELETE - Delete a pairing. - STATUS - Refresh status. []>
Choose the operation you want to perform: - MEDIA - View and edit ethernet media settings. - PAIRING - View and configure NIC Pairing. - VLAN - View and configure VLANs. - LOOPBACK - View and configure Loopback. - MTU - View and configure MTU. []>
example.ironport.com> commit
Please enter some comments describing your changes: []>
Changes committed: Thu Jan 16 18:14:37 2014 JST |
そして、下記ログで切り戻しが自動的に行われることを確認できます。
Paired interfaces: 1. Pair 1: Primary (Data 1) Standby, Link is down Backup (Data 2) Active, Link is up
Choose the operation you want to perform: - DELETE - Delete a pairing. - STATUS - Refresh status. []>
< Data 1 ポートを復旧させる>
[]> status
Paired interfaces: 1. Pair 1: Primary (Data 1) Active, Link is up Backup (Data 2) Standby, Link is up
Choose the operation you want to perform: - DELETE - Delete a pairing. - STATUS - Refresh status. []>
|
NIC Pairing が有効の状態で、Active / Standby の切り替えイベントが発生した際に、ESA の System Log に関連のログが記録されます。
ログの取得方法:
GUI より: System Administration > Log Subscriptions > System Logs でログ・ファイルをダウンロードする。
CLI より:grep コマンドを利用する。
下記は、Data 1 ポートがダウンして切り替えが発生した後、Data 1 ポートが復旧したことを記録しているログ例になります。
example.ironport.com> grep
Currently configured logs: Log Name Log Type Retrieval Interval --------------------------------------------------------------------------------- ... skip ... 19. status Status Logs Manual Download None 20. system_logs System Logs Manual Download None 21. trackerd_logs Tracking Logs Manual Download None ... skip ...
Enter the number of the log you wish to grep. []> 20
Enter the regular expression to grep. []> Pair 1
Do you want this search to be case insensitive? [Y]>
Do you want to tail the logs? [N]>
Do you want to paginate the output? [N]>
Define file selection pattern. []> Thu Jan 16 17:53:20 2014 Critical: Port Data 1 failure on Pair 1, switching to Data 2 Thu Jan 16 17:53:47 2014 Info: Recovered network on Pair 1 using port Data 2 Thu Jan 16 17:56:53 2014 Info: Standby port Data 1 on Pair 1 okay example.ironport.com> |
「関連のログ」は AsyncOS 8.0 以降では実装変更にともないログが出力されなくなっております。
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします