この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Connected Grid Module(CGM) - System Server(SRV)モジュールでWindows仮想マシン(VM)を作成および実行するために必要な手順について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
CGR1000プラットフォームでIOxアプリケーションまたはVMを実行する場合は、CGM-SRVコンピューティングモジュールを使用できます。CGM-SRVモジュールは、実際にはマルチコアx86 CPU、メモリ、およびストレージを含む小規模なサーバです。CGR1120とCGR1240の両方に、IOx機能を追加するためにこれらのモジュールのいずれかを搭載できます。
このドキュメントの執筆時点では、次の2つのタイプが使用できます。
| ストック保持ユニット(SKU) | ソリッドステートドライブ(SSD) | RAM | CPU |
| CGM-SRV-64 | 64 GB(50 GB使用可能) | 4GB | 4コア800Mhz |
| CGM-SRV-128 | 128 GB(100 GB使用可能) | 4GB | 4コア800Mhz |
各モジュールには、ストレージ用の2つのUSBポートと、独自の外部ギガビットイーサネットインターフェイスも備わっています。
他のIOx対応デバイスと同様に、モジュールはさまざまな種類のIOxアプリケーションをホストできますが、CGM-SRVモジュールの容量が大きいため、完全に構成されたWindowsまたは標準のLinuxディストリビューション(UbuntuやCentOSなど)を実行することもできます。
Windows VMをCGM-SRVモジュールに導入するには、まずWindowsインストールを含むQEMU QCOW形式でイメージを作成する必要があります。このようなイメージを作成する方法の1つは、LinuxマシンでKVMとvirshを使用することです。
以降で説明する手順には、CGR1xxxやCGM-SRVはまったく含まれていません。これらは、基本的なWindows 7 VM QCOWイメージを作成するために必要な手順であり、CGM-SRVの次の手順で導入できます。
このガイドでは、CentOS7の最小インストールを新しくインストールすることから始めることができます。他のLinuxディストリビューションの手順も同じでなければなりませんが、若干異なる場合があります。
ステップ 1:最初に、ホストマシンがVM拡張をサポートしているかどうかを確認します。x86プラットフォームでは、AMD-VまたはIntelのVT-Xのいずれかです。最近のx86 CPUの大部分は、すべてではありませんが、これらの拡張機能をサポートしています。VMを実行している場合でも、ほとんどのハイパーバイザには、これらの拡張機能を渡す/エミュレートするオプションがあります。
インストールされているCPUがこれらの拡張機能をサポートしているかどうかを確認するには、vmx(VT-X用)またはsvm(AMD-V用)フラグがcpuinfo-outputに存在するかどうかを確認する必要があります。
[root@cen7 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo 2
このコマンドの出力が0の場合は、VM拡張をサポートするCPUが見つからないことを意味します。その場合、VMを使用してこのマシンを実行するときに、これらの拡張機能がBIOSまたはハイパーバイザで有効になっているかどうかを確認できます。
ステップ 2:次の手順では、ブリッジを作成して、KMVで実行できるVMのネットワークを提供します。
まず、カーネルでIP転送を有効にする必要があります。
[root@cen7 ~]# echo "net.ipv4.ip_forward = 1"|sudo tee /etc/sysctl.d/99-ipforward.conf net.ipv4.ip_forward = 1 [root@cen7 ~]# sysctl -p /etc/sysctl.d/99-ipforward.conf net.ipv4.ip_forward = 1
ブリッジを作成するには、IPアドレスを所有するインターフェイスであるため、IP設定を実インターフェイスからブリッジ自体に移動する必要があります。
標準インストールが完了すると、ネットワーク設定は/etc/sysconfig/network-scriptsにあります。
[root@cen7 ~]# ls -1 /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/network-scripts/ifcfg-eno16777736 /etc/sysconfig/network-scripts/ifcfg-lo
ステップ 3:ご覧のように、現在はeno167777736というインターフェイスが1つあります(ループバックインターフェイス以外)。IP関連の設定を、virbr0と呼び出すことのできるブリッジインターフェイスに移動する必要があります。
[root@cen7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-virbr0 [root@cen7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-virbr0 DEVICE=virbr0 TYPE=BRIDGE ONBOOT=yes BOOTPROTO=static IPADDR=172.16.245.162 NETMASK=255.255.255.0 GATEWAY=172.16.245.2 DNS1=8.8.8.8
ステップ 4:その後、実インターフェイスからIP設定をクリーンアップし、それをvirbr0ブリッジに接続する必要があります。
[root@cen7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 [root@cen7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736 UUID=46f0f247-e164-40cc-866b-9133458d9df8 DEVICE=eno16777736 ONBOOT=yes BRIDGE=virbr0 HWADDR=00:0c:29:ce:96:38
ステップ 5:ネットワークの設定が完了したら、次に進んでKVMをインストールできます。
[root@cen7 ~]# sudo yum install kvm virt-manager libvirt virt-install qemu-kvm xauth dejavu-lgc-sans-fonts -y ... Complete!
手順 6:インストールが完了したら、このマシンをリブートして、新しくインストールしたモジュールとネットワーク設定を適用するのが最善の方法です。
[root@cen7 ~]# init 6
手順 7:リブートが完了すると、ブリッジインターフェイスに設定されている(同じ)IP上のマシンにアクセスできます。KVMカーネルモジュールがロードされているかどうかを確認する必要があります。
root@cen7 ~]# lsmod|grep kvm kvm_intel 200704 0 kvm 589824 1 kvm_intel irqbypass 16384 1 kvm
ステップ 8:これが正常に見える場合は、virshを使用して接続を試行できます。
[root@cen7 ~]# sudo virsh -c qemu:///system list Id Name State ----------------------------------------------------
ステップ 9:最後のステップとして、このマシンのファイアウォールでポート5900を開き、WindowsインストールへのVNCアクセスを行います。
[root@cen7 ~]# firewall-cmd --zone=public --add-port=5900/tcp --permanent success [root@cen7 ~]# firewall-cmd --reload success
これで、KVMのインストールで動作するシステムが完成しました。KVMで新しいVMを起動し、Windowsのインストールダイアログを実行できます。
ステップ 1: Windows 7インストールISOをVMにコピーします(またはネットワーク経由でアクセス可能にします)。
[root@cen7 ~]# scp jedepuyd@172.16.X.X:/home/jedepuyd/win7install.iso /var jedepuyd@172.16.X.X's password: win7install.iso 100% 4546MB 62.1MB/s 01:13
ステップ 2: 新しいKVM VMを作成し、Windows 7 ISOから起動します。
root@cen7 ~]# virt-install --connect qemu:///system -n win7 -r 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/win7.img,size=9 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type windows --os-variant win7 --accelerate --network=bridge:virbr0 --hvm --cdrom /var/win7install.iso Starting install... Allocating win7.img | 9.0 GB 00:00:00 Creating domain... | 0 B 00:00:00 Domain installation still in progress. You can reconnect to the console to complete the installation process.
ステップ 3:VMが起動したら、VNCビューアを使用してポート5900のホストマシンのIPに接続し、図に示すように標準のWindowsインストールを完了できます。

インストール時にWindowsが再起動する場合、これが自動的に行われない場合は、virshを使用してVMを再起動する必要があります。
[root@cen7 ~]# virsh start win7 Domain win7 started
ステップ 4:インストールが完了したら、VMをシャットダウンします。VM(/var/lib/libvirt/images/win7.img)の作成時に指定したパスに、このインストールのQCOWイメージがあります。このタイプのイメージは、CGM-SRVに展開してWindowsを実行できます。
CGM-SRVで実行するイメージのタイプが正しいので、展開を開始できます。
ステップ 1: 設定に対応するクライアントのプロファイルを設定します。
[root@cen7 ~]# ./ioxclient profiles create Enter a name for this profile : CGR1120_20 Your IOx platform's IP address[127.0.0.1] : 10.X.X.X.X Your IOx platform's port number[8443] : Authorized user name[root] : admin Password for admin : Local repository path on IOx platform[/software/downloads]: URL Scheme (http/https) [https]: API Prefix[/iox/api/v2/hosting/]: Your IOx platform's SSH Port[2222]: Your RSA key, for signing packages, in PEM format[]: Your x.509 certificate in PEM format[]: Activating Profile CGR1120_20 Saving current configuration
この例では、10.X.X.Xは、ネットワークアドレス変換(NAT)をCGM-SRVのポート8443に転送するように設定したCGR1000上の発信インターフェイスに対応します。
ステップ 2:ioxclientが設定されたので、前作成したイメージの名前をvm.imgに変更し、ビットを簡略化します。そして、ioxclientでセキュアコピー(SCP)を使用してCGM-SRVにコピーします。
オプションで、ディスクイメージをCGM-SRVが想定しているQCOW2形式に変換します。新しいバージョンのvirt-managerでは、デフォルトでQCOW3形式のディスクイメージが作成されます。
次のコマンドを使用すると、イメージを簡単に変換できます。
[root@cen7 ~]# qemu-img convert -f qcow2 -O qcow2 /var/lib/libvirt/images/win7.img /var/lib/libvirt/images/win7.img
イメージが正しい形式であることを確認したら、名前の変更とコピーに進みます。
[root@cen7 ~]# mv /var/lib/libvirt/images/win7.img /root/vm.img [root@cen7 ~]# ./ioxclient platform scp /root/vm.img Currently active profile : CGR1120_20 Command Name: plt-scp Saving current configuration Downloaded scp keys to pscp.pem Running command : [scp -P 2222 -r -i pscp.pem /root/vm.img scpuser@10.50.215.246:/]
この転送には時間がかかる場合があります。Cisco IOS®を使用してCGM-SRVに転送する際の転送レートは3 ~ 4 MB/s程度です。ファイルがCGM-SRVモジュールの/mnt/data/vm/vm.imgにコピーされます。
ステップ 3:転送が進行中(または完了)に、package.yamlファイルを作成できます。このファイルは、IOxに対して、導入する正確な内容とパッケージの方法を説明します。
[root@cen7 ~]# vi package.yaml [root@cen7 ~]# cat package.yaml descriptor-schema-version: 2.2 info: author-link: http://www.cisco.com/ author-name: Jens Depuydt description: Windows 7 VM for CSR-SRV name: win7 version: 1.0 app: type: vm cpuarch: x86_64 resources: profile: custom cpu: 600 disk: 10 memory: 3072 network: - interface-name: eth0 - interface-name: eth1 graphics: vnc: true startup: ostype: windows qemu-guest-agent: false disks: - target-dev: hda file: file://vm.img
このpackage.yamlでわかるように、file://vm.imgを参照します。これは、CGM-SRVモジュール上のmnt/data/vm/vm.imgの実際の場所に対応しています。
ステップ 4:次の手順は、ioxclientを使用してパッケージ化することです。
[root@cen7 ~]# ./ioxclient pkg . Currently active profile : default Command Name: package No rsa key and/or certificate files to sign the package Checking if package descriptor file is present.. Validating descriptor file /root/package.yaml with package schema definitions Parsing descriptor file.. Found schema version 2.2 Loading schema file for version 2.2 Validating package descriptor file.. File /root/package.yaml is valid under schema version 2.2 Created Staging directory at : /var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626 Copying contents to staging directory Checking for application runtime type Couldn't detect application runtime type Creating an inner envelope for application artifacts Excluding .DS_Store Generated /var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626/artifacts.tar.gz Calculating SHA1 checksum for package contents.. Package MetaData file was not found at /private/var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626/.package.metadata Wrote package metadata file : /private/var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626/.package.metadata Root Directory : /private/var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626 Output file: /var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/559089521 Path: .package.metadata SHA1 : 262f763740c182f95358be84514a76ac11e37012 Path: artifacts.tar.gz SHA1 : 3d89ccd35fe5318dd83a249a26cb8140d98d15bb Path: package.yaml SHA1 : aa42f949b707df07a83a17344e488c44eb585561 Generated package manifest at package.mf Generating IOx Package.. Package generated at /root/package.tar
ステップ 5:パッケージを作成したら、CGM-SRVにインストールできます。この例では、IOxアプリケーション/VMはwin7と呼ばれます。
[root@cen7 ~]# ./ioxclient app install win7 package.tar Currently active profile : default Command Name: application-install Saving current configuration Installation Successful. App is available at : https://10.X.X.X:8443/iox/api/v2/hosting/apps/win7 Successfully deployed
手順 6:win7 IOx VMをアクティブにする前に、このVMのVNCパスワードを設定するペイロードJSONファイルを作成する必要があります。
[root@cen7 ~]# vi vnc.json
[root@cen7 ~]# cat vnc.json
{
"resources": {
"graphics": {"vnc-password": "password"}
}
}
手順 7:vnc.jsonペイロードを使用して、win7 IOx VMをアクティブにできます。
[root@cen7 ~]# ./ioxclient app activate win7 --payload vnc.json Currently active profile : default Command Name: application-activate Payload file : vnc.json. Will pass it as application/json in request body.. App win7 is Activated
ステップ 8:ioxclientでの最後の手順は、VMを起動することです。
[root@cen7 ~]# ./ioxclient app start win7 Currently active profile : default Command Name: application-start App win7 is Started
この時点で、Windows VMはCGM-SRV上で実行され、使用を開始できます。
Windowsマシンコンソールにアクセスするには、図に示すように、CGR1000およびポート5900の発信インターフェイスでVNCビューアを使用できます。

ネットワークの観点から、次の図に示すように、package.yamlファイルを使用して、eth0とeth1をwin7 IOx VMに割り当てることを選択しました。

これらのインターフェイスは、Cisco IOS®で動作するDHCPサーバからIPを取得しており、それ以上の設定なしで使用できます。
ここでは、設定が正常に機能しているかどうかを確認します。
VMが稼働しているかどうかを確認するには、次の手順を実行します。
[root@cen7 ~]# ./ioxclient app list Currently active profile : CGR1120_20 Command Name: application-list Saving current configuration List of installed App : 1. win7 ---> RUNNING
図に示すように、ローカルマネージャからステータスを確認することもできます。

ここでは、設定のトラブルシューティングに使用できる情報を示します。
導入に関する問題をトラブルシューティングするには、CGM-SRVホストOSでのioxclientまたは/var/log/caf.logの出力を確認します。
すべてのリソース(Cisco Application-Hosting Framework(CAF)、Secure Shell(SSH)、VNC)にアクセスできるようにNATが正しく設定されていることを確認します。
フィードバック