デバイスおよびシャーシ マネージャの設定

デバイス マネージャとシャーシ マネージャについて

デバイス マネージャのみで、Cisco Application Centric InfrastructureACI)ファブリック内の一連のクラスタを設定できます。管理状態または動作状態はデバイスのネイティブの GUI に表示されます。デバイス マネージャが個々のデバイスの設定を処理するため、Application Policy Infrastructure ControllerAPIC)での設定をシンプル化できます。デバイス マネージャにテンプレートを作成してから、APIC のインスタンス固有の値をデバイス マネージャに入力しますが、必要な値はごくわずかです。

次の図に、クラスタ内で複数のデバイスを制御するデバイス マネージャを示します。

図 1. デバイス マネージャでのデバイスの制御

シャーシ マネージャは、処理リソースの物理または仮想「コンテナ」です。シャーシ マネージャは CDev オブジェクトとして表される、いくつかの仮想サービス デバイスをサポートします。シャーシ マネージャがネットワーキングを処理し、CDev がプロセスを処理します。シャーシ マネージャによって、仮想処理ノードのオンデマンド作成が可能になります。仮想デバイスでは、サービス(特に VLAN)の一部を、仮想マシンではなく、シャーシに適用する必要があります。これを実現するには、シャーシ管理 IP アドレスとクレデンシャルをコールアウトに含める必要があります。

次の図に、処理リソースのコンテナとして機能するシャーシ マネージャを示します。

図 2. デバイス マネージャでのデバイスの制御

デバイス マネージャまたはシャーシ マネージャを使用せず、サービス デバイスのモデルに次の主要な管理対象オブジェクトを含めます。

  • MDev:デバイス タイプ(ベンダー、モデル、バージョン)を表します。

  • LDevVIP:クラスタ、つまりCold Standbyを実現するために同一に設定された一連のデバイスを表します。デバイスにアクセスするための CMgmtCCred が含まれます。

  • CDev:物理または仮想のいずれかのクラスタのメンバーを表します。デバイスにアクセスするための CMgmtCCred が含まれます。

  • VDev:サーバ上の仮想マシンと同様のクラスタのコンテキストを表します。

次の図に、CMgmt(管理接続)と CCred(クレデンシャル)が含まれた、主要な管理対象オブジェクトのモデルを示します。

図 3. デバイス マネージャまたはシャーシ マネージャを含まない管理対象オブジェクト モデル

CMgmt(ホスト + ポート)と CCred(ユーザ名 + パスワード)により、スクリプトでデバイスとクラスタにアクセスできます。

デバイス マネージャとシャーシ マネージャは、集中管理ステーションからのクラスタとデバイスの設定を制御できるようにします。シャーシは並列階層を MDev オブジェクトと ALDev オブジェクトに追加し、特定のシャーシに属しているというタグを CDev オブジェクトに付けることができます。次の管理対象オブジェクトがモデルに追加され、デバイスおよびシャーシ マネージャの概念をサポートします。

  • MDevMgr:デバイス マネージャのタイプを表します。MDevMgr は、同じベンダーの通常は異なる製品である一連の異なる MDev を管理できます。

  • DevMgr:デバイス マネージャを表します。マネージャにアクセスするには、含まれている CMgmtCCred の管理対象オブジェクトを使用します。各クラスタは 1 つの DevMgr のみと関連付けることができます。

  • MChassis:シャーシのタイプを表します。通常、この管理対象デバイスはパッケージに含まれています。

  • Chassis:シャーシ インスタンスを表します。これには、CMgmtCCred[Secret] の管理対象オブジェクトが含まれており、シャーシへの接続を提供します。

次の図に、デバイス マネージャのオブジェクト モデルを示します。

図 4. デバイス マネージャのオブジェクト モデル

次の図に、シャーシ マネージャのオブジェクト モデルを示します。

図 5. シャーシ マネージャのオブジェクト モデル

デバイス マネージャとシャーシ マネージャの動作

デバイス マネージャとシャーシ マネージャに関し、次の動作が適用されます。

  • DevMgr オブジェクトは必要ありません。LDevVip から DevMgr への関係がない場合、システムはデバイス マネージャを定義せずにコールアウトを実行します。

  • Policymgr が健全性チェックを実行し、LDevVip から MDev への関係が LDevVip から DevMgrMDevMgr を経由して MDev までの 1 つのリレーション パスに一致することを保証します。これに当てはまらない場合はエラーが発生し、それ以降のコールアウトが阻止されます。

  • LDevVip から DevMgrDevMgr から MDevMgr、または MDevMgr から正しい MDev への関係が追加または変更された場合は、クラスタがリセットされ、最初から設定されます。

  • Chassis オブジェクトは必要ありません。CDev から Chassis への関係がない場合、システムはシャーシを定義せずにコールアウトを実行します。

  • Policymgr が健全性チェックを実行し、CDev から LDevVip を経由して MDev までの関係が、CDev から ChassisMChassis を経由して MDev までの 1 つのリレーション パスに一致することを保証します。これに当てはまらない場合はエラーが発生し、それ以降のコールアウトが阻止されます。

  • CDev から ChassisChassis から MChassis、または MChassis から正しい MDev への関係が追加または変更された場合は、クラスタがリセットされ、最初から設定されます。

GUI を使用したデバイスの作成

GUI を使用して、テナントにデバイス マネージャを作成することができます。

手順


ステップ 1

メニュー バーで、[Tenants] > [All Tenants] の順に選択します。

ステップ 2

[Work] ペインで、テナントの名前をダブルクリックします。

ステップ 3

ナビゲーション ウィンドウで、 Tenant tenant_name > Services > L4-L7 > Device Managers を選択します。

ステップ 4

[Work] ペインで、[Actions] > [Create Device Manager] の順に選択します。

ステップ 5

[Create Device Manager] ダイアログボックスで、必要に応じてフィールドに入力します。

(注)  

 

レイヤ 1 またはレイヤ 2 のポリシーベース リダイレクト設定が [デバイス マネージャ タイプ(Device Manager Type)]で選択されています。

ステップ 6

[Submit] をクリックします。


GUI を使用したシャーシの作成

GUI を使用して、テナントにシャーシを作成することができます。

手順


ステップ 1

メニュー バーで、[Tenants] > [All Tenants] の順に選択します。

ステップ 2

[Work] ペインで、テナントの名前をダブルクリックします。

ステップ 3

ナビゲーション ウィンドウで、Tenant tenant_name > Services > L4-L7 > Chassis を選択します。

ステップ 4

[Work] ペインで、[Actions] > [Create Chassis] の順に選択します。

ステップ 5

[Create Chassis] ダイアログボックスで、必要に応じてフィールドに入力します。

ステップ 6

[Submit] をクリックします。


デバイスとシャーシのコールアウト

ここでは、デバイスおよびシャーシ マネージャのパラメータを含むデバイス、クラスタ、およびサービスのコールアウトの例を示します。パラメータはすべてのコールアウトに追加されます。

デバイスの deviceValidate コールアウトの例

次の deviceValidate コールアウトの例に、デバイス固有のコードを太字で示します。

2014-10-03 17:38:51,035 DEBUG 140230105585408 [42.42.42.101, 0]:  deviceValidate
{'args': ('1.0',),
 'device': {'creds': {'password': '<hidden>', 'username': 'nsroot'},
            'host': '42.42.42.101',
            'manager': {'creds': {'username': 'admin', 'password': '<hidden>'},
                         'hosts': {'10.10.11.11': {'port': 1234},
                                   '10.10.11.12': {'port': 1234},
                                   '10.10.11.13': {'port': 1234}},
                         'name': 'Foo'},
            'port': 80,
            'version': '1.0',
            'virtual': True}}

デバイスの deviceAudit コールアウトの例

次の deviceAudit コールアウトの例に、デバイス固有のコードを太字で示します。

2014-10-03 17:38:56,072 DEBUG 140230088800000 [42.42.42.100, 2]:  deviceAudit
{'args': ({(11, '', 'ext'): {'label': 'in', 'state': 0},
    (11, '', 'int'): {'label': 'out', 'state': 0}},
    {(4, 'oneFolder', 'foo'): {'ackedState': 0,
      		'state': 0,
      		'transaction': 0,
      		'value': {(5, 'oneParam', 'foo'): {'ackedState': 0,
          		'state': 0,
         			'transaction': 0,
         			'value': 'bar'}}}}),
'device': {'creds': {'password': '<hidden>', 'username': 'nsroot'},
   	'host': '42.42.42.100',
   	'manager': {'creds': {'username': 'admin', 'password': '<hidden>'},
                         'hosts': {'10.10.11.11': {'port': 1234},
                                   '10.10.11.12': {'port': 1234},
                                   '10.10.11.13': {'port': 1234}},
                         'name': 'Foo'},
  	 'port': 80,
    'version': '1.0',
  	 'virtual': True}}

デバイスの clusterAudit コールアウトの例

次の clusterAudit コールアウトの例に、デバイス固有のコードを太字で示します。

2014-10-03 17:39:01,097 DEBUG 140229734295296 [42.42.42.99, 4]:  clusterAudit
{'args': ({(12, '', 'ext'): {'cifs': {'Generic1': 'ext', 'Generic2': 'ext'},
                             'label': 'in',
                             'state': 0},
           (12, '', 'inside'): {'cifs': {'Generic1': 'ext',
                                         'Generic2': 'ext'},
                                'label': 'in',
                                'state': 0},
           (12, '', 'int'): {'cifs': {'Generic1': 'int', 'Generic2': 'int'},
                             'label': 'out',
                             'state': 0},
           (12, '', 'outside'): {'cifs': {'Generic1': 'int',
                                          'Generic2': 'int'},
                                 'label': 'out',
                                 'state': 0}},
          {}),
 'device': {'creds': {'password': '<hidden>', 'username': 'nsroot'},
            'devs': {'Generic1': {'creds': {'password': '<hidden>',
                                            'username': 'nsroot'},
                                  'host': '42.42.42.100',
                                  'port': 80,
                                  'virtual': True},
                     'Generic2': {'creds': {'password': '<hidden>',
                                            'username': 'nsroot'},
                                  'host': '42.42.42.101',
                                  'port': 80,
                                  'virtual': True}},
            'host': '42.42.42.99',
            'manager': {'creds': {'username': 'admin', 'password': '<hidden>'},
                        'hosts': {'10.10.10.11': {'port': 1234},
                                  '10.10.10.12': {'port': 1234},
                                  '10.10.10.13': {'port': 1234}},
                        'name': 'Foo'},
            'port': 80,
            'version': '1.0',
            'virtual': True}}

デバイスの serviceAudit コールアウトの例

次の serviceAudit コールアウトの例に、デバイス固有のコードを太字で示します。

2014-10-03 17:39:06,169 DEBUG 140229725902592 [42.42.42.99, 5]:  serviceAudit
{'args': ({(0, '', 4474): {'ackedState': 0,
                           'state': 2,
                           'transaction': 0,
                           'txid': 10000,
                           'value': {(1, '', 5787): {
                               ...
                           }},
 'device': {'creds': {'password': '<hidden>', 'username': 'nsroot'},
            'devs': {'Generic1': {'creds': {'password': '<hidden>',
                                            'username': 'nsroot'},
                                  'host': '42.42.42.100',
                                  'port': 80,
                                  'virtual': True},
                     'Generic2': {'creds': {'password': '<hidden>',
                                            'username': 'nsroot'},
                                  'host': '42.42.42.101',
                                  'port': 80,
                                  'virtual': True}},
            'host': '42.42.42.99',
            'manager': {'creds': {'username': 'admin', 'password': '<hidden>'},
                         'hosts': {'10.10.11.11': {'port': 1234},
                                   '10.10.11.12': {'port': 1234},
                                   '10.10.11.13': {'port': 1234}},
                         'name': 'Foo'},
            'port': 80,
            'version': '1.0',
            'virtual': True}}

シャーシの deviceValidate コールアウトの例

次の deviceValidate コールアウトの例に、シャーシ固有のコードを太字で示します。

2014-11-13 19:33:16,066 DEBUG 140719921972992 [42.42.42.101, 0]: request: deviceValidate
 {'args': ('1.0',),
  'device': {'chassis': {'creds': {'username': 'admin', 'password': '<hidden>'},
                         'hosts': {'10.10.11.11': {'port': 1234},
                                   '10.10.11.12': {'port': 1234},
                                   '10.10.11.13': {'port': 1234}},
                         'name': 'Foo'},
             'creds': {'username': 'nsroot', 'pasword': '<hidden>'},
             'host': '42.42.42.100',
             'port': 80,
             'virtual': True}}

シャーシの deviceAudit コールアウトの例

次の deviceAudit コールアウトの例に、シャーシ固有のコードを太字で示します。

2014-10-03 17:38:56,072 DEBUG 140230088800000 [42.42.42.100, 2]:  deviceAudit
 {'args': ({(11, '', 'ext'): {'label': 'in', 'state': 0},
            (11, '', 'int'): {'label': 'out', 'state': 0}},
           {(4, 'oneFolder', 'one'): {'ackedState': 0,
                         'state': 0,
                         'transaction': 0,
                         'value': {(5, 'oneParam', 'one'): {'ackedState': 0,
                                   'state': 0,
                                   'transaction': 0,
                                   'value': 'foo'}}}}),
  'device': {'chassis': {'creds': {'username': 'admin', 'password': '<hidden>'},
                         'hosts': {'10.10.11.11': {'port': 1234},
                                   '10.10.11.12': {'port': 1234},
                                   '10.10.11.13': {'port': 1234}},
                         'name': 'Foo'},
             'creds': {'password': '<hidden>', 'username': 'nsroot'},
             'host': '42.42.42.101',
             'manager': {'creds': {'username': 'admin', 'password': '<hidden>'},
                         'hosts': {'10.10.10.11': {'port': 1234},
                                   '10.10.10.12': {'port': 1234},
                                   '10.10.10.13': {'port': 1234}},
                         'name': 'Foo'},
             'port': 80,
             'version': '1.0',
             'virtual': True}}

シャーシの clusterAudit コールアウトの例

次の clusterAudit コールアウトの例に、シャーシ固有のコードを太字で示します。

2014-10-03 17:39:01,097 DEBUG 140229734295296 [42.42.42.99, 4]:  clusterAudit
 {'args': ({(12, '', 'ext'): {'cifs': {'Generic1': 'ext', 'Generic2': 'ext'},
                              'label': 'in',
                              'state': 0},
            (12, '', 'inside'): {'cifs': {'Generic1': 'ext',
                                          'Generic2': 'ext'},
                                 'label': 'in',
                                 'state': 0},
            (12, '', 'int'): {'cifs': {'Generic1': 'int', 'Generic2': 'int'},
                              'label': 'out',
                              'state': 0},
            (12, '', 'outside'): {'cifs': {'Generic1': 'int',
                                           'Generic2': 'int'},
                                  'label': 'out',
                                  'state': 0}},
           {}),
  'device': {'creds': {'password': '<hidden>', 'username': 'nsroot'},
             'devs': {'Generic1': {'chassis': {'creds': {'password': '<hidden>',
                                                         'username': 'admin'},
                                               'hosts': {'10.10.11.11': {'port': 1234},
                                                         '10.10.11.12': {'port': 1234},
                                                         '10.10.11.13': {'port': 1234}},
                                               'name': 'Foo'},
                                   'creds': {'username': 'nsroot', 'pasword': '<hidden>'},
                                   'host': '42.42.42.100',
                                   'port': 80,
                                   'virtual': True},
                      'Generic2': {'chassis': {'creds': {'password': '<hidden>',
                                                         'username': 'admin'},
                                               'hosts': {'10.10.11.11': {'port': 1234},
                                                         '10.10.11.12': {'port': 1234},
                                                         '10.10.11.13': {'port': 1234}},
                                               'name': 'Foo'},
                                   'creds': {'username': 'nsroot', 'pasword': '<hidden>'},
                                   'host': '42.42.42.101',
                                   'port': 80,
                                   'virtual': True}},
             'host': '42.42.42.99',
             'manager': {'creds': {'password': '<hidden>', 'username': 'admin'},
                         'hosts': {'10.10.11.11': {'port': 1234},
                                   '10.10.11.12': {'port': 1234},
                                   '10.10.11.13': {'port': 1234}},
                         'name': 'Foo'},
             'port': 80,
             'version': '1.0',
             'virtual': True}}

シャーシの serviceAudit コールアウトの例

次の serviceAudit コールアウトの例に、シャーシ固有のコードを太字で示します。

2014-10-03 17:39:06,169 DEBUG 140229725902592 [42.42.42.99, 5]:  serviceAudit
 {'args': ...,
  'device': {'creds': {'password': '<hidden>', 'username': 'nsroot'},
             'devs': {'Generic1': {'chassis': {'creds': {'username': 'admin',
                                                             'password': '<hidden>'},
                                             'hosts': {'10.10.11.11': {'port': 1234},
                                                       '10.10.11.12': {'port': 1234},
                                                       '10.10.11.13': {'port': 1234}},
                                             'name': 'Foo'},
                                   'creds': {'username': 'nsroot',
                                             'pasword': '<hidden>'},
                                   'host': '42.42.42.100',
                                   'port': 80,
                                   'virtual': True},
                      'Generic2': {'chassis': {'creds': {'username': 'admin',
                                                             'password': '<hidden>'},
                                             'hosts': {'10.10.11.11': {'port': 1234},
                                                       '10.10.11.12': {'port': 1234},
                                                       '10.10.11.13': {'port': 1234}},
                                             'name': 'Foo'},
                                   'creds': {'username': 'nsroot',
                                             'pasword': '<hidden>'},
                                   'host': '42.42.42.101',
                                   'port': 80,
                                   'virtual': True}},
             'host': '42.42.42.99',
             'manager': {'creds': {'username': 'admin', 'password': '<hidden>'},
                        'hosts': {'10.10.11.11': {'port': 1234},
                                  '10.10.11.12': {'port': 1234},
                                  '10.10.11.13': {'port': 1234}},
                        'name': 'Foo'},
             'port': 80,
             'version': '1.0',
             'virtual': True}}