この章では、Catalyst 3560 スイッチに Cisco IOS CNS エージェントを設定する方法について説明します。
http://www.cisco.com/en/US/products/sw/netmgtsw/ps4617/tsd_products_support_series_home.html
Cisco Configuration Engine ソフトウェアの概要
Cisco Configuration Engine は、ネットワーク管理ソフトウェアで、ネットワーク デバイスおよびサービスの配置と管理を自動化するためのコンフィギュレーション サービスとして機能します( 図4-1 を参照)。各 Configuration Engine は、シスコ デバイス(スイッチとルータ)のグループとデバイスが提供するサービスを管理し設定を保存して、必要に応じて配信します。Configuration Engine はデバイス固有の設定変更を生成してデバイスに送信し、設定変更を実行してその結果をロギングすることで、初期設定および設定の更新を自動化します。
Configuration Engineは、スタンドアロン モードおよびサーバ モードをサポートし、次の CNS コンポーネントを備えています。
- ・ コンフィギュレーション サービス(Web サーバ、ファイル マネージャ、ネームスペース マッピング サーバ)
- ・ イベント サービス(イベント ゲートウェイ)
- ・ データ サービス ディレクトリ(データ モデルおよびスキーマ)
スタンドアロン モードでは、Configuration Engine は組み込み型ディレクトリ サービスをサポートします。このモードでは、外部ディレクトリまたはその他のデータ ストアは必要ありません。サーバ モードでは、Configuration Engine はユーザ定義の外部ディレクトリの使用をサポートします。
図4-1 Configuration Engine アーキテクチャの概要
コンフィギュレーション サービス
コンフィギュレーション サービスは、Cisco Configuration Engine の中核コンポーネントです。スイッチ上にある Cisco IOS CNS エージェントと連携して動作するコンフィギュレーション サーバで構成されています。コンフィギュレーション サービスは、初期設定と論理グループによる大規模な再設定のために、デバイスとサービスの設定をスイッチに配信します。スイッチはネットワーク上で初めて起動するときに、コンフィギュレーション サービスから初期設定を受信します。
コンフィギュレーション サービスは CNS イベント サービスを使用して設定変更イベントを送受信し、成功および失敗の通知を送信します。
コンフィギュレーション サーバは Web サーバであり、コンフィギュレーション テンプレートと組み込み型ディレクトリ(スタンドアロン モード)またはリモート ディレクトリ(サーバ モード)に保存されているデバイス固有の設定情報を使用します。
コンフィギュレーション テンプレートは、CLI(コマンドライン インターフェイス)コマンド形式で静的な設定情報を含んだテキスト ファイルです。テンプレートでは、変数は、Lightweight Directory Access Protocol(LDAP)URL を使用して指定します。この URL はディレクトリに保存されているデバイス固有の設定情報を参照します。
Cisco IOS エージェントは受信したコンフィギュレーション ファイルの構文をチェックし、イベントを発行して構文チェックが成功または失敗したかを表示します。コンフィギュレーション エージェントは設定をただちに適用することも、あるいは同期化イベントをコンフィギュレーション サーバから受信するまで適用を遅らせることもできます。
イベント サービス
Cisco Configuration Engine は、設定イベントの受信および生成にイベント サービスを使用します。イベント エージェントはスイッチ上にあり、スイッチと Configuration Engine のイベント ゲートウェイ間の通信を容易にします。
イベント サービスは、非常に有効なパブリッシュ サブスクライブ通信方式です。イベント サービスは、サブジェクトベースのアドレス指定を使用して、メッセージを宛先に送信します。サブジェクトベースのアドレス表記法では、メッセージおよび宛先には簡単で均一なネームスペースを定義します。
NSM
Configuration Engineには NameSpace Mapper(NSM)を装備しています。NSM は、アプリケーション、デバイス、またはグループ ID、およびイベントに基づくデバイスの論理グループ管理用に検索サービスを提供します。
Cisco IOS デバイスは、たとえば cisco.cns.config.load といった、Cisco IOS ソフトウェアで設定されたサブジェクト名と一致するイベント サブジェクト名のみを認識します。ネームスペース マッピング サービスを使用すると、希望する命名規則を使用することでイベントを指定できます。サブジェクト名でデータ ストアにデータを入力した場合、NSM はイベント サブジェクト名ストリングを、Cisco IOS が認識するものへ変更します。
サブスクライバの場合、一意のデバイス ID とイベントが指定されると、ネームスペース マッピング サービスは、サブスクライブ対象のイベント セットを返します。同様にパブリッシャの場合、一意のグループ ID、デバイス ID、およびイベントが指定されると、マッピング サービスは、パブリッシュ対象のイベント セットを返します。
CNS ID およびデバイスのホスト名に関する重要事項
Cisco Configuration Engine は、設定済みのスイッチごとに一意の識別子が関連付けられていることを想定しています。一意の識別子は複数の同義語を持つことができますが、各同義語は特定のネームスペース内で一意です。イベント サービスは、ネームスペースの内容を使用してメッセージのサブジェクトベース アドレス指定を行います。
Configuration Engine では、2 つのネームスペース(イベント バス用とコンフィギュレーション サーバ用)があります。コンフィギュレーション サーバのネームスペースでは、 ConfigID という用語がデバイスの一意な識別子です。イベント バスのネームスペースでは、 DeviceID という用語がデバイスの CNS 一意識別子です。
Configuration Engine は、イベント バスとコンフィギュレーション サーバの両方を使用してデバイスに設定を提供するので、設定済みのスイッチごとに ConfigID と DeviceID の両方を定義する必要があります。
コンフィギュレーション サーバの 1 つのインスタンスでは、設定済みの2つのスイッチが同じ ConfigID 値を共有できません。イベント バスの 1 つのインスタンスでは、設定済みの 2 つのスイッチが同じ DeviceID 値を共有できません。
ConfigID
設定済みのスイッチごとに一意の ConfigID があります。これは対応するスイッチ CLI アトリビュートに対する Configuration Engine ディレクトリへのキーの役割を果たします。スイッチ上で定義された ConfigID は、Configuration Engine の対応するスイッチ定義の ConfigID と一致している必要があります。
ConfigID は起動時に固定され、スイッチ ホスト名を再設定した場合でもデバイスを再起動するまで変更できません。
DeviceID
イベント バスに参加している設定済みのスイッチごとに一意の DeviceID があります。これはスイッチの送信元アドレスに似ているので、スイッチをバス上の特定の宛先として指定できます。 cns config partial グローバル コンフィギュレーション コマンドを使用して設定されたすべてのスイッチは、イベント バスにアクセスする必要があります。したがって、スイッチから発信される DeviceID は、Configuration Engine の対応するスイッチ定義の DeviceID と一致する必要があります。
DeviceID の発信元は、スイッチの Cisco IOS ホスト名によって定義されます。ただし、DeviceID 変数およびその使用は、スイッチに隣接するイベント ゲートウェイ内にあります。
イベント バス上の Cisco IOS の論理上の終点は、イベント ゲートウェイに組み込まれ、それがスイッチの代わりにプロキシとして動作します。イベント ゲートウェイはイベント バスに対して、スイッチおよび対応する DeviceID を表示します。
スイッチは、イベント ゲートウェイとの接続が成功するとすぐに、そのホスト名をイベント ゲートウェイに宣言します。接続が確立されるたびに、イベント ゲートウェイは DeviceID 値を Cisco IOS ホスト名に組み合わせます。イベント ゲートウェイは、スイッチと接続している間にこの DeviceID 値をキャッシュします。
ホスト名および DeviceID
DeviceID は、イベント ゲートウェイと接続したときに固定され、スイッチ ホスト名を再設定した場合でも変更されません。
スイッチのスイッチ ホスト名を変更する場合、DeviceID を更新する唯一の方法はスイッチとイベント ゲートウェイ間の接続を中断することです。 no cns event グローバル コンフィギュレーション コマンドを入力してから、 cns event グローバル コンフィギュレーション コマンドを入力します。
接続が再確立されると、スイッチは変更したホスト名をイベント ゲートウェイに送信します。イベント ゲートウェイは DeviceID を新しい値に再定義します。
ホスト名、DeviceID、ConfigID の使用方法
スタンドアロン モードでは、ホスト名の値をスイッチに設定すると、コンフィギュレーション サーバはイベントをホスト名に送信する場合、そのホスト名を DeviceID として使用します。ホスト名が設定されていない場合、イベントはデバイスの cn=< value > で送信されます。
サーバ モードでは、ホスト名は使用されません。このモードでは、バス上のイベント送信には常に一意の DeviceID アトリビュートが使用されます。このアトリビュートが設定されていない場合、スイッチを更新できません。
Configuration Engineで Setup を実行する場合、これらのアトリビュートおよび関連するアトリビュート(タグ値のペア)を設定します。
http://www.cisco.com/en/US/products/sw/netmgtsw/ps4617/products_installation_and_configuration_guide_book09186a00803b59db.html
Cisco IOS エージェントの概要
CNS イベント エージェント機能によって、スイッチはイベント バス上でイベントにパブリッシュおよびサブスクライブを行い、Cisco IOS エージェントと連携できます。Cisco IOS エージェント機能は、次の機能によりスイッチをサポートします。
初期設定
スイッチが最初に起動すると、ネットワークで Dynamic Host Configuration Protocol(DHCP)要求をブロードキャストすることで IP アドレスを取得しようとします。サブネット上には DHCP サーバがないものと想定し、ディストリビューション スイッチは DHCP リレー エージェントとして動作し、要求を DHCP サーバに転送します。DHCP サーバは要求を受信すると、新しいスイッチに IP アドレスを割り当て、Trivial File Transfer Protocol(TFTP; 簡易ファイル転送プロトコル)サーバの IP アドレス、ブートストラップ コンフィギュレーション ファイルへのパス、デフォルト ゲートウェイの IP アドレスを、DHCP リレー エージェントに対するユニキャスト応答に組み入れます。DHCP リレー エージェントは、この応答をスイッチに転送します。
スイッチは、割り当てられた IP アドレスを自動的にインターフェイス VLAN 1(デフォルト)に設定し、TFTP サーバからブートストラップ コンフィギュレーション ファイルをダウンロードします。ブートストラップ コンフィギュレーション ファイルが正常にダウンロードされると、スイッチはそのファイルを実行コンフィギュレーションにロードします。
CNS IOS エージェントは、該当する ConfigID および EventID を使用して Configuration Engine との通信を開始します。Configuration Engine はこの ConfigID をテンプレートにマッピングして、スイッチに完全なコンフィギュレーション ファイルをダウンロードします。
図4-2 に、DHCP ベースの自動設定を使用して初期ブートストラップ コンフィギュレーション ファイルを取得するためのネットワーク構成例を示します。
図4-2 初期設定の概要
差分(部分)設定
ネットワークが稼働すると、Cisco IOS エージェントを使用して新しいサービスを追加できます。差分(部分)設定は、スイッチに送信できます。実際の設定を、イベント ペイロードとしてイベント ゲートウェイを介して(プッシュ処理)、またはスイッチにプル オペレーションを開始させる信号イベントとして送信できます。
スイッチは、適用する前に設定の構文をチェックできます。構文が正しい場合は、スイッチは差分設定を適用し、コンフィギュレーション サーバに成功を信号で伝えるイベントを発行します。スイッチが差分設定を適用しない場合、エラー ステータスを示すイベントを発行します。スイッチが差分設定を適用した場合、NVRAM(不揮発性 RAM)に書き込むか、または書き込むように指示されるまで待つことができます。
同期設定
スイッチは、設定を受信した場合、書き込み信号イベントの受信時に設定の適用を遅らせることができます。書き込み信号イベントは、更新された設定を NVRAM に保存しないようにスイッチに指示します。スイッチは更新された設定を実行コンフィギュレーションとして使用します。これによりスイッチの設定は、次の再起動時の使用のために NVRAM に設定を保存する前に、他のネットワーク アクティビティと同期化されます。
Cisco IOS エージェントの設定
スイッチの Cisco IOS ソフトウェアに組み込まれた Cisco IOS エージェントによって、スイッチを接続して自動的に設定できます( 自動 CNS 設定のイネーブル化 を参照)。設定を変更する場合、またはカスタム コンフィギュレーションをインストールする場合は次の手順を参照してください。
自動 CNS 設定のイネーブル化
スイッチの自動 CNS 設定をイネーブルにするには、まず 表4-1 の条件を満たす必要があります。条件設定を完了したらスイッチの電源を入れます。 setup プロンプトでは何も入力しません。スイッチは初期設定を開始します( 初期設定 を参照)。コンフィギュレーション ファイル全体がスイッチにロードされると作業は完了です。
|
デバイス タイプ別の 1 つまたは複数のテンプレートで、テンプレートにデバイスの ConfigID がマッピングされています。 |
http://www.cisco.com/en/US/products/sw/netmgtsw/ps4617/products_installation_and_configuration_guide_book09186a00803b59db.html
CNS イベント エージェントのイネーブル化
スイッチ上で CNS イベント エージェントをイネーブルにするには、特権 EXEC モードで次の手順を実行します。
CNS イベント エージェントをディセーブルにするには、 no cns event { ip-address | hostname } グローバル コンフィギュレーション コマンドを使用します。
次に、CNS イベント エージェントをイネーブルにして、IP アドレス ゲートウェイを 10.180.1.27、キープアライブ間隔を 120 秒、再試行回数を 10 回に設定する例を示します。
Switch(config)# cns event 10.180.1.27 keepalive 120 10
Cisco IOS CNS エージェントのイネーブル化
CNS イベント エージェントをイネーブルにしたあと、スイッチ上で Cisco IOS CNS エージェントを起動します。次のコマンドを使用して、Cisco IOS エージェントをイネーブルにできます。
- ・ cns config initial グローバル コンフィギュレーション コマンドは、Cisco IOS エージェントをイネーブルにして、スイッチの初期設定を開始します。
- ・ cns config partial グローバル コンフィギュレーション コマンドは、Cisco IOS エージェントをイネーブルにして、スイッチの部分的な設定を開始します。Configuration Engine使用して、リモートでスイッチに差分設定を送信できます。
初期設定のイネーブル化
スイッチ上で CNS 設定 エージェントをイネーブルにして初期設定を開始するには、特権 EXEC モードで次の手順を実行します。
CNS Cisco IOS エージェントをディセーブルにするには、 no cns config initial { ip-address | hostname } グローバル コンフィギュレーション コマンドを使用します。
次に、リモート スイッチで初期設定を実施する例を示します。スイッチのホスト名は一意の ID です。Cisco Configuration Engine の IP アドレスは 172.28.129.22 です。
Switch(config)# cns config connect-intf serial ping-interval 1 retries 1
Switch(config-cns-conn-if)# config-cli ip address negotiated
Switch(config-cns-conn-if)# config-cli encapsulation ppp
Switch(config-cns-conn-if)# config-cli ip directed-broadcast
Switch(config-cns-conn-if)# config-cli no keepalive
Switch(config-cns-conn-if)# config-cli no shutdown
Switch(config-cns-conn-if)# exit
Switch(config)# hostname RemoteSwitch
RemoteSwitch(config)# ip route 10.1.1.1 255.255.255.255 11.11.11.1
RemoteSwitch(config)# cns id Ethernet 0 ipaddress
RemoteSwitch(config)# cns config initial 10.1.1.1 no-persist
部分設定のイネーブル化
スイッチ上で Cisco IOS エージェントをイネーブルにして部分設定を開始するには、特権 EXEC モードで次の手順を実行します。
Cisco IOS エージェントをディセーブルにするには、 no cns config partial { ip-address | hostname } グローバル コンフィギュレーション コマンドを使用します。部分設定を取り消すには、 cns config cancel 特権 EXEC コマンドを使用します。
CNS 設定の表示
表4-2 に記載された特権 EXEC コマンドを使用すると、CNS 設定情報を表示できます。
