Cisco インターフェイスとモジュール : ???? ?????

IOS SLB を使用した FTP サーバ ロード バランシングの設定

2012 年 12 月 18 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2004 年 5 月 4 日) | フィードバック

IOS SLB を使用した FTP サーバ ロード バランシングの設定

概要

このドキュメントは、Cisco IOS サーバ ロード バランシング(SLB)を使用した FTP サーバ ロード バランシングの設定例について説明します。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • MSFC1 を搭載したスーパーバイザ エンジン 1 用の Catalyst 6000 ファミリ スーパーバイザ Cisco IOS® Software Release 12.1(8)E (c6sup11-dsv-mz.121-8a.EX)

  • Microsoft Windows 2000/IIS FTP サーバ

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用されるデバイスはすべて、初期設定(デフォルト)の状態から作業を開始しています。ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

Cisco IOS SLB 機能は、サーバ ロード バランシングを提供する Cisco IOS ベースのソリューションです。この機能では、(サーバ ファームと呼ばれる)実サーバのクラスタを表す仮想サーバを定義できます。クライアントが仮想サーバへの接続を開始すると、IOS SLB は、設定されたロード バランス アルゴリズムまたはプレディクタに基づいて、選択された実サーバに接続を振り分けます。

IOS SLB を使用する場合は、FTP サーバ ロード バランシングをディスパッチ モードで動作するように設定する必要があります。このモードでは、FTP サーバが仮想アドレスを認識できます。各 FTP サーバに、固有のループバック インターフェイスのループバック アドレスを設定する必要があります。この手順は、ファームに存在する FTP サーバ内の各マシンに仮想アドレスとして同じ IP アドレスを割り当てるために必要です。その後、FTP サーバは、自身の IP アドレスに応答するのと同様に、ループバック アドレスを使用して直接クライアントに応答できます。IOS SLB は、メディア アクセス コントロール(MAC)レイヤでレイヤ 2 の実サーバにパケットをリダイレクトします。仮想サーバの IP アドレスは dispatched モードでは変更されません。そのため、実サーバはレイヤ 2 において IOS SLB に隣接している必要があります。それ以外の場合、中間ルータは選択された実サーバ宛てにルーティングできません。

設定

このセクションでは、このドキュメントで説明する機能の設定に必要な情報を提供します。

注:このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

ネットワーク ダイアグラム

このドキュメントでは、次のネットワーク構成を使用しています。

/image/gif/paws/12577/config_ftpserver_lb.gif

設定

このドキュメントでは次の設定を使用しています。

  • Catalyst 5509 を使用した IOS SLB FTP の設定

Catalyst 5509 を使用した IOS SLB FTP の設定
Current configuration: 
! 
version 12.1 
service timestamps debug uptime 
service timestamps log uptime 
no service password-encryption 
! 
hostname cat 
! 
boot buffersize 126968 
boot system flash slot0:c6sup11-jsv-mz.121-8a.E.bin 
! 
redundancy 
 main-cpu 
  auto-sync standard 
ip subnet-zero 
! 

!--- FTP サーバファームの構成。
 
ip slb serverfarm FTPFARM 
 real 10.1.1.3 
  inservice 
 !  
 real 10.1.1.4 
  inservice 
! 

!--- FTP 仮想構成。 
!--- 重要:仮想アドレスで FTP サーバのループバック アドレスを設定します。
 
ip slb vserver FTPSERVER 
 virtual 172.17.63.241 tcp ftp service ftp 
 serverfarm FTPFARM 
 inservice 
! 
interface GigabitEthernet1/1 
 no ip address 
 shutdown 
! 
interface GigabitEthernet1/2 
 no ip address 
 shutdown 
! 
interface FastEthernet2/1 
 description "Uplink to the Default Gateway" 
 no ip address 
 switchport 
 switchport access vlan 100 
! 
interface FastEthernet2/2 
 no ip address 
 shutdown 
! 
interface FastEthernet2/3 
 description "Connection to FTP server" 
 no ip address 
 switchport 
 switchport access vlan 200 
! 
interface FastEthernet2/4 
 description "Connection to FTP server" 
 no ip address 
 switchport 
 switchport access vlan 200 
! 
interface FastEthernet2/5 
 no ip address 
 shutdown 
! 
interface FastEthernet2/48 
 no ip address 
 shutdown 
! 
interface Vlan1 
 no ip address 
 shutdown 
! 

!--- クライアント側 VLAN。

interface Vlan100 
 ip address 172.17.63.240 255.255.255.192 
! 

!--- FTP サーバ VLAN。 
!--- 重要:FTP サーバのデフォルト ゲートウェイをこのアドレスに設定します。

interface Vlan200 
 ip address 10.1.1.250 255.255.255.0 
! 
ip classless 
ip route 0.0.0.0 0.0.0.0 172.17.63.193 
no ip http server 
! 
line con 0 
line vty 0 4 
 login 
! 
end

注:IOS SLB に加え、Cisco Catalyst 6500 シリーズ スイッチと Cisco 7600 シリーズ ルータではコンテンツ スイッチング モジュールも使用できます。このモジュールは、レイヤ 4 〜 7 の情報パケットに基づいて、ネットワーク デバイスのサーバ ファーム間にハイパフォーマンスな接続を提供します。詳細については、「シスコ コンテント スイッチング モジュール」を参照してください。

確認

このセクションでは、設定が正常に動作していることを確認します。

Output Interpreter Tool(OIT)(登録ユーザ専用)では、特定の show コマンドがサポートされています。OIT を使用して、show コマンド出力の解析を表示できます。

  • show ip slb vserver:仮想サーバの情報を表示します。以下は、仮想サーバの状態と接続数を表示した例です。

    cat#show ip slb vserver 
    
    slb vserver    protocal   virtual                 state         conns 
    ----------------------------------------------------------------------
    FTPSERVER      TCP        172.17.63.241/32:21     OPERATIONAL    4
  • show ip slb reals:サーバ ファームの情報を表示します。このコマンドでは、ロード バランシングに使用されているプレディクタが表示されます。この例では、ラウンド ロビン(デフォルト)が使用されています。デバイスが dispatched モードであるため、NAT の下に「none」が示されています。

    cat#show ip slb serverfarm 
    
    server farm     predictor       nat        reals        bind id 
    ----------------------------------------------------------------- 
    FTPFARM         ROUNDROBIN      none          2           0

トラブルシューティング

このセクションでは、設定のトラブルシューティングに役立つ情報を紹介します。

注意 注意:デバッグ出力には、CPU プロセスの中でも高いプライオリティが割り当てられています。したがって、デバッグによってシステムが使用できなくなる場合があります。このため、debug コマンドは、絞り込まれた問題のトラブルシューティングか、Cisco のテクニカルサポート スタッフとのトラブルシューティング セッション中に限定して使用してください。また、debug コマンドは、ネットワーク フローやユーザが少ない時間帯に使用することを推奨します。これらの時間にデバッグすると、これらのコマンドによるシステム上の他のユーザへの影響が軽減されます。

トラブルシューティングのためのコマンド

Output Interpreter Tool(OIT)(登録ユーザ専用)では、特定の show コマンドがサポートされています。OIT を使用して、show コマンド出力の解析を表示できます。

注:debug コマンドを使用する前に、『debug コマンドの重要な情報』を参照してください。

  • debug ip slb {conns | reals | vservers | all}:デバッグ メッセージを表示します。デバッグを無効にするには、このコマンドの no 形式を使用します。以下は構文の説明です。

    構文 説明
    conn IOS SLB が現在処理しているすべての接続のデバッグ メッセージを表示します。
    vservers IOS SLB に定義されているすべての仮想サーバのデバッグ メッセージを表示します。
    reals IOS SLB に定義されたすべての実サーバのデバッグ メッセージを表示します。
    all IOS SLB のすべてのデバッグ メッセージを表示します。

    FTP セッションは、FTP クライアントと FTP サーバ間の 2 つの接続、つまり、制御用とデータ用の接続で構成されています。

  • debug ip slb connections

    以下は、パッシブ FTP を使用した例です。簡潔に言うと、これがパッシブ FTP の動作方法です。

    • サーバに対してクライアントが開始する初期 FTP 制御接続用の一方の接続:

      2d22h: SLB_CONN_DEBUG: TCP event= SYN_CLIENT,
       state= INIT -> SYNCLIENT 
      2d22h:  v_ip= 172.17.63.241:21 (  5), real= 10.1.1.4 
      2d22h:  client= 171.70.24.233:35006 
      2d22h: SLB_CONN_DEBUG: TCP event= SYNACK_SERVER,
       state= SYNCLIENT -> ESTAB 
      2d22h:  v_ip= 172.17.63.241:21 (  5), real= 10.1.1.4 
      2d22h:  client= 171.70.24.233:35006 
    • クライアントからサーバに対して開始される FTP データ接続用のもう一方の接続:

      2d21h: SLB_CONN_DEBUG: TCP event= DATA_CLIENT,
       state= ESTAB -> ESTAB 
      2d21h:  v_ip= 172.17.63.241:21 (  5), real= 10.1.1.4 
      2d21h:  client= 171.70.24.233:34999 
      2d21h: SLB_CONN_DEBUG: TCP event= DATA_SERVER,
       state= ESTAB -> ESTAB 
      2d21h:  v_ip= 172.17.63.241:21 (  5), real= 10.1.1.4 
      2d21h:  client= 171.70.24.233:34999

パッシブ FTP では、クライアントが制御接続およびデータ接続の両方を開始します。パッシブ モードとは、サーバの状態、つまりサーバが受動的に両方の接続を受け入れていることを指しています。パッシブ モードでは、宛先ポートと送信元ポートの両方が 1023 よりも大きい「一時」ポートです。クライアントは、passive コマンドまたは port コマンドのいずれかを実行する必要がある場合に、モードを駆動し、データ接続のセットアップを開始します。どちらの場合もデータ接続の受信者(パッシブ モードの場合はサーバ、アクティブ モードの場合はクライアント)はこの特定の接続をリッスンするポート番号を入力する必要があります。アクティブ モードの FTP の場合でも、データ接続用に常にポート 20 が使用されるとは限りません。RFC には、使用されるポートが 20 および 21 であるという規定はありません。それは単なる慣習です。多くのサーバがデータ接続に一時ポートを使用します。

% Cannot enable server nat because vserver [chars] has FTP enabled

このエラー メッセージは、IOS SLB が NAT モードの FTP をサポートしていない場合に表示されます。回避策は、サーバでディスパッチ モードとループバックを使用することです。詳細については、「dispatched モードのループバック」セクションを参照してください。

dispatched モードのループバック

Catalyst 6500 で FTP サーバファームおよび Vserver 機能を設定した後は、各実サーバにループバック デバイスまたはループバック インターフェイスを設定する必要があります。仮想サーバの IP アドレスをループバック IP アドレスとして設定し、ネットマスクは 255.0.0.0 を指定します。

Route Table 
     =========================================================================== 
     Interface List 
     0x1 ........................... MS TCP Loopback interface 
     0x2 ...00 60 b0 87 dc 1a ...... AMD PCNET Family Ethernet Adapter 
     0x1000004 ...02 00 4c 4f 4f 50 ...... MS LoopBack Driver 
     =========================================================================== 
     Active Routes: 
        Network         Destination     Netmask       Gateway   Interface Metric 
        0.0.0.0         0.0.0.0         10.1.1.250    10.1.1.3      1 
        10.1.1.0        255.255.255.0   10.1.1.3      10.1.1.3      1 
        10.1.1.3        255.255.255.255 127.0.0.1     127.0.0.1     1 
        10.255.255.255  255.255.255.255 10.1.1.3      10.1.1.3      1 
        127.0.0.0       255.0.0.0       127.0.0.1     127.0.0.1     1 
        172.17.63.241   255.255.255.255 127.0.0.1     127.0.0.1     1 
        224.0.0.0       224.0.0.0       10.1.1.3      10.1.1.3      1 
        224.0.0.0       224.0.0.0       172.17.63.241 172.17.63.241 1 
        255.255.255.255 255.255.255.255 10.1.1.3      10.1.1.3      1 
     ===========================================================================

テーブルの各行のネットワーク アドレスを調べると、ループバック アドレスがわかります。サーバを適切に通信させるには、一般的なマルチキャスト ネットワーク アドレスを参照する必要があります。この例では、8 行目にこのアドレスがあります。そのため、余分なデフォルト ルートを削除する必要があります。これは、ネットワーク アドレスの最初の数字がクラスタ アドレスと同じで、その後にゼロが 3 つ続いているルートです。この例では、余分なルートは 2 行目のルートです。

以下は、一般的なマルチキャスト ネットワーク アドレスです。

224.0.0.0      224.0.0.0    172.17.63.241      172.17.63.241       1

以下は、例でテーブルから削除された自動的にインストールされるデフォルト ルートです。

0.0.0.0          0.0.0.0    172.17.63.193   172.17.63.241          1

SLB 仮想サーバと正しく通信するには、余分なルートを削除する必要があります。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 12577