ゲスト シェルの概要
ゲスト シェルは、仮想化された Linux ベースの環境であり、Cisco デバイスの自動制御と管理のための Python アプリケーションを含む、カスタム Linux アプリケーションを実行するように設計されています。ゲスト シェルを使用して、サードパーティ製 Linux アプリケーションをインストール、更新、および操作することもできます。ゲスト シェルはシステム イメージとともにバンドルされており、guestshell enable Cisco IOS コマンドを使用してインストールできます。
ゲスト シェル環境は、ネットワーキングではなく、ツール、Linux ユーティリティ、および管理性を意図したものです。
ゲスト シェルは、ホスト(Cisco スイッチおよびルータ)システムとカーネルを共有します。ユーザは、ゲスト シェルの Linux シェルにアクセスし、コンテナの rootfs にあるスクリプトおよびソフトウェア パッケージを更新することができます。ただし、ゲスト シェル内のユーザは、ホストのファイル システムおよびプロセスを変更することはできません。
ゲスト シェル コンテナは、IOx を使用して管理されます。IOx は、Cisco IOS XE デバイスのためのシスコのアプリケーション ホスティング インフラストラクチャです。IOx は、シスコ、パートナー、およびサード パーティの開発者によって開発されたアプリケーションおよびサービスをネットワーク エッジ デバイスでシームレスにホスティングすることを、各種の多様なハードウェア プラットフォームにおいて可能にします。
次の表は、ゲスト シェルのさまざまな機能とサポート対象のプラットフォームに関する情報を提供します。
ゲスト シェル Lite(限定的な LXC コンテナ) |
ゲスト シェル(LXC コンテナ) |
|
---|---|---|
オペレーティング システム(Operating System) |
Cisco IOS XE |
Cisco IOS XE |
サポートされるプラットフォーム |
|
|
ゲスト シェル環境 |
Montavista CGE7 |
CentOS 7 |
Python 2.7 |
サポート対象(Python V2.7.11) |
サポート対象(Python V2.7.5) |
カスタムの Python ライブラリ |
|
|
サポートされる rootfs |
Busybox、SSH、および Python PIP のインストール |
SSH、Yum のインストール、および Python PIP のインストール |
GNU C コンパイラ |
未サポート |
未サポート |
RPM のインストール |
未サポート |
サポート対象 |
アーキテクチャ |
MIPS |
x86 |
ゲスト シェルとゲスト シェル Lite
ゲスト シェル コンテナを使用すると、ユーザは、システム上で自分のスクリプトやアプリケーションを実行できるようになります。Intel x86 プラットフォーム上のゲスト シェル コンテナは、CentOS 7.0 の最小限の rootfs を持つ Linux コンテナ(LXC)になります。ランタイム中に、CentOS 7.0 で Yum ユーティリティを使用して、Python バージョン 3.0 などの他の Python ライブラリをインストールすることができます。また、PIP を使用して Python パッケージをインストールまたは更新することもできます。
Catalyst 3650 や Catalyst 3850 シリーズ スイッチなどの MIPS プラットフォーム上のゲスト シェル Lite コンテナには、Carrier Grade Edition(CGE)7.0 の rootfs があります。ゲスト シェル Lite では、スクリプトのインストールまたは実行のみ可能です。これらのデバイスでは、Yum のインストールはサポートされていません。
ゲスト シェルのセキュリティ
シスコは、ゲスト シェル内のユーザまたはアプリケーションによってホスト システムが攻撃されることがないよう、セキュリティを提供しています。ゲスト シェルは、ホスト カーネルから分離され、非特権コンテナとして動作します。
ゲスト シェルのハードウェア要件
この項では、サポート対象のプラットフォームにおけるハードウェア要件に関する情報を提供します。Cisco CSR 1000v と Cisco ISRv(仮想プラットフォーム)は、これらの要件をソフトウェアで実装します。
プラットフォーム |
デフォルトの DRAM |
ゲスト シェルのサポート |
---|---|---|
WS-3650-xxx(すべて) |
4 GB |
サポート対象 |
WS-3850-xxx(すべて) |
4 GB |
サポート対象 |
C9300-xx-x(すべて) |
8 GB |
サポート対象 |
C9500-24Q-x(すべて) |
16 GB |
サポート対象 |
Catalyst 3850 シリーズ スイッチの最小システム要件は、4 GB の DRAM です。
プラットフォーム |
デフォルトの DRAM |
ゲスト シェルのサポート |
---|---|---|
ISR 4221 |
4GB |
未サポート |
ISR 4321 |
4 GB |
未サポート |
8 GB |
サポート対象 |
|
ISR 4331 |
8 GB |
サポート対象 |
16 GB |
サポート対象 |
|
ISR 4351 |
8 GB |
サポート対象 |
16 GB |
サポート対象 |
|
ISR 4431 |
8 GB |
サポート対象 |
16 GB |
サポート対象 |
|
ISR 4451 |
8 GB |
サポート対象 |
16 GB |
サポート対象 |
ISR 4000 シリーズ サービス統合型ルータの最小システム要件は、8 GB の DRAM です。
(注) |
仮想サービスがインストールされているアプリケーションとゲスト シェル コンテナを同時に使用することはできません。 |
CSR 1000 v と ISRv の最小システム要件は、4 GB の RAM です。
ゲスト シェルのストレージ要件
Catalyst 3650 および Catalyst 3850 シリーズ スイッチでは、ゲスト シェルは、フラッシュのファイル システムにのみインストールできます。Catalyst 3850 シリーズ スイッチのブートフラッシュでは、ゲスト シェルを正常にインストールするには 75 MB のディスク空き容量が必要です。
Cisco 4000 シリーズ統合型サービス ルータでは、ゲスト シェルは、ネットワーク インターフェイス モジュール(NIM)のサービス セット識別子(SSID)(ハード ディスク)がある場合、そこにインストールされます。ハード ディスク ドライブが使用可能な場合、ゲスト シェルのインストールにブートフラッシュを選択することはできません。Cisco 4000 シリーズ サービス統合型ルータでは、ゲスト シェルを正常にインストールするには 1100 MB のハード ディスク(NIM SSID)空き容量が必要です。
Cisco 4000 シリーズ統合型サービス ルータおよび ASR 1000 ルータ(オプションのハード ディスクがそのルータに追加されている場合)では、ゲスト シェルをハード ディスクにインストールしており、そのハード ディスクがルータに挿入されている場合にのみリソースのサイズ変更を実行できます。
(注) |
ブートフラッシュを介してインストールしたゲスト シェルでは、アプリケーション ホスティング設定コマンドを使用したリソースのサイズ変更はできません。 |
ゲスト シェルのインストール中にハード ディスク容量が不足した場合、エラー メッセージが表示されます。
% Error:guestshell_setup.sh returned error:255, message:
Not enough storage for installing guestshell. Need 1100 MB free space.
ブートフラッシュまたはハード ディスクの空き領域は、ゲスト シェルが追加データを格納するために使用されることがあります。Cisco Catalyst 3850 シリーズ スイッチでは、ゲスト シェルが使用できるストレージ 容量は 18 MB です。Cisco 4000 シリーズ サービス統合型ルータでは、ゲスト シェルが使用できるストレージ容量は 800 MB です。ゲスト シェルはブートフラッシュにアクセスするため、その空き領域の全体を使用できます。
リソース |
デフォルト |
最小/最大 |
||
---|---|---|---|---|
CPU |
1 %
|
1/100 % |
||
メモリ |
256 MB 512 MB(Cisco CSR 1000v) |
256/256 MB 512/512 MB(Cisco CSR 1000v) |
デバイスでのゲスト シェルへのアクセス
ネットワーク管理者は、IOS コマンドを使用して、ゲスト シェル内のファイルおよびユーティリティを管理することができます。
ゲスト シェルのインストール中に、SSH アクセスがキー ベースの認証でセットアップされます。ゲスト シェルへのアクセスは、IOS の最も高い特権(15)を持つユーザに制限されます。このユーザは、sudo の実行者である guestshell Linux ユーザとして Linux コンテナへのアクセスを許可され、すべてのルート操作を実行できます。ゲスト シェルから実行されるコマンドは、ユーザが IOS 端末にログインしたときと同じ特権で実行されます。
ゲスト シェル プロンプトでは、標準的な Linux コマンドを実行できます。
管理ポートを介してのゲスト シェルへのアクセス
ゲスト シェルは、デフォルトで、アプリケーションによる管理ネットワークへのアクセスを許可します。ユーザは、ゲスト シェル内から管理 VRF のネットワーキング設定を変更することはできません。
(注) |
管理ポートがないプラットフォームの場合、VirtualPortGroup を IOS 設定内のゲスト シェルに関連付けることができます。詳細については、「VirtualPortGroup の設定例」の項を参照してください。 |
ゲスト シェルでのスタッキング
ゲスト シェルがインストールされている場合、フラッシュのファイルシステムには、gs_script ディレクトリが自動的に作成されます。このディレクトリは、スタック メンバー間で同期されます。切り替え時には、gs_script ディレクトリの内容のみが、すべてのスタック メンバー間で同期されます。ハイ アベイラビリティでの切り替えの際にデータを保持するには、このディレクトリにデータを格納します。
ハイ アベイラビリティでの切り替えの際には、新しいアクティブ デバイスは、それぞれのゲスト シェル インストールを作成します。古いファイル システムは維持されません。ゲスト シェルの状態は、切り替え時に維持されます。