المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

التكوين

إنشاء صورة Windows VM

قم بتركيب لوحة المفاتيح والفيديو والماوس على جهاز لينوكس

التحقق من تثبيت KVM

إنشاء جهاز ظاهري ل Windows

نشر صورة Windows VM إلى CGM-SRV

التحقق من الصحة

استكشاف الأخطاء وإصلاحها

المقدمة

يصف هذا المستند الخطوات الضرورية لإنشاء جهاز ظاهري ل Windows (VM) وتشغيله على الوحدة النمطية للشبكة المتصلة (CGM) - System Server (SRV) Module.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- لينكس

- الجهاز الظاهري المستند إلى Kernel (KVM)

- فهم مفاهيم المحاكاة الافتراضية

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- موجهات الشبكة المتصلة (CGR) 1120

- الوحدة النمطية CGM-SRV-XX Module

- يتم تنفيذ خطوات التكوين ل CGM-SRV قبل هذا الدليل:

- تثبيت نظام التشغيل Windows 7

- عارض حوسبة الشبكة الظاهرية (VNC)

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

معلومات أساسية

عندما تريد تشغيل تطبيقات IOx أو VMs على النظام الأساسي CGR1000، يمكنك إستخدام وحدة حوسبة CGM-SRV. تعد الوحدة النمطية CGM-SRV في الواقع خادما صغيرا يحتوي على وحدة معالجة مركزية (CPU) وذاكرة ووحدات تخزين متعددة المراكز بسرعة x86. يمكن أن يحتوي كل من CGR1120 و CGR1240 على إحدى هذه الوحدات النمطية لإضافة إمكانيات IOx.

هناك نوعان متاحان وقت كتابة هذا التقرير:

وحدة الاحتفاظ بالمخزون

محركات الأقراص المزودة بذاكرة مصنوعة من مكونات صلبة (SSD)

ذاكرة الوصول العشوائي

وحدة المعالجة المركزية

CGM-SRV-64

64 جيجابايت (50 جيجابايت قابلة للاستخدام)

4 جيجابايت

4 معالجات Core بسرعة 800 ميجاهرتز

CGM-SRV-128

128 جيجابايت (100 جيجابايت قابلة للاستخدام)

4 جيجابايت

4 معالجات Core بسرعة 800 ميجاهرتز

وتحتوي كل وحدة أيضا على منفذي USB للتخزين وواجهة جيجابت إيثرنت الخارجية الخاصة بها.

وكما هو الحال مع أي جهاز آخر قادر على تشغيل IOx، يمكن لهذه الوحدة إستضافة أنواع مختلفة من تطبيقات IOx، ولكن نظرا لزيادة سعة وحدة CGM-SRV، يمكنها أيضا تشغيل نظام تشغيل Windows مكون بالكامل أو نظام التشغيل القياسي Linux Distro (على سبيل المثال نظام التشغيل Ubuntu أو CentOS).

التكوين

إنشاء صورة Windows VM

لنشر نسخة من نظام التشغيل Windows VM على وحدة CGM-SRV، يجب أولا إنشاء صورة بتنسيق QCOW الخاص ب QEMU الذي يحتوي على تثبيت Windows. إحدى طرق إنشاء مثل هذه الصورة هي باستخدام KVM و Virsh على جهاز لينوكس.

الخطوات المذكورة لا تتضمن CGR1xxx أو CGM-SRV على الإطلاق، فهي فقط الخطوات المطلوبة لإنشاء صورة QCOW أساسية ل Windows 7 VM والتي يمكنك نشرها في الخطوة التالية إلى CGM-SRV.

بالنسبة لهذا الدليل، يمكنك البدء بتثبيت الحد الأدنى من تثبيت CentOS7 حديثا. يجب أن تكون خطوات برامج لينوكس الأخرى متشابهة لكنها تختلف قليلا.

قم بتركيب لوحة المفاتيح والفيديو والماوس على جهاز لينوكس

الخطوة 1. أول شيء يجب القيام به هو التحقق مما إذا كان جهاز المضيف يدعم امتدادات الأجهزة الافتراضية (VM). على منصة العمل X86، تكون هذه إما AMD-V أو Intel VT-X. تدعم معظم وحدات المعالجة المركزية (CPU) الحديثة طراز x86، إن لم تكن كلها، هذه الملحقات. حتى عند تشغيل برنامج مراقبة الأجهزة الافتراضية (VM)، توفر معظم برامج مراقبة الأجهزة الافتراضية خيار تمرير/محاكاة هذه الملحقات.

للتحقق مما إذا كانت وحدة المعالجة المركزية (CPU) المثبتة تدعم هذه الملحقات، يلزمك التحقق مما إذا كانت علامة VMX (ل VT-X) أو SVM (ل AMD-V) موجودة في cpuinfo-output.

[root@cen7 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo

2

إذا كان إخراج هذا الأمر هو 0، فهذا يعني أنه لم يتم العثور على وحدة المعالجة المركزية (CPU) التي تدعم امتدادات الأجهزة الافتراضية. في هذه الحالة، يمكنك التحقق من تمكين هذه الملحقات في نظام الإدخال والإخراج الأساسي (BIOS) أو برنامج hypervisor عند إستخدام جهاز ظاهري لتشغيل هذا الجهاز.

الخطوة 2. الخطوة التالية هي أن يخلق جسر أن يزود شبكة ل ال VM أي أنت يستطيع ركضت على KMV.

أولا، يلزمك تمكين موجهات IP في kernel:

[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

in order to خلقت الجسر، ال ip يحتاج تشكيل أن ينتقل من القارن حقيقي إلى الجسر نفسه، بما أن هذا هو القارن أن يملك العنوان.

بعد اكتمال تثبيت قياسي، يكون تكوين الشبكة بالبرامج /وما إلى ذلك/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. كما ترى، هناك حاليا واجهة واحدة (بجانب واجهة الاسترجاع)، تسمى eno1677736. أنت تحتاج أن ينقل التشكيل المرتبط ب 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. بمجرد اكتمال تكوين الشبكة، يمكنك الاستمرار في تثبيت لوحة المفاتيح والفيديو والماوس:

[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

التحقق من تثبيت KVM

الخطوة 7. بعد اكتمال عملية إعادة التشغيل، يجب أن تكون قادرا على الوصول إلى الجهاز على IP (نفسه) الذي تم تكوينه على واجهة الجسر. يجب التحقق مما إذا كانت وحدة KVM kernel محملة:

root@cen7 ~]# lsmod|grep kvm

kvm_intel             200704  0

kvm                   589824  1 kvm_intel

irqbypass              16384  1 kvm

الخطوة 8. إذا بدا هذا جيدا، يمكنك محاولة الاتصال بالفيروسات:

[root@cen7 ~]# sudo virsh -c qemu:///system list

Id    Name                           State

----------------------------------------------------

الخطوة 9. تتمثل إحدى الخطوات الأخيرة في فتح المنفذ 5900 على جدار الحماية على هذا الجهاز للوصول إلى VNC لتثبيت Windows:

[root@cen7 ~]# firewall-cmd --zone=public --add-port=5900/tcp --permanent

success

[root@cen7 ~]# firewall-cmd --reload

success

إنشاء جهاز ظاهري ل Windows

الآن بعد أن أصبح لديك نظام يعمل مع تركيب لوحة المفاتيح والفيديو والماوس، يمكنك إطلاق نسخة جديدة من الجهاز الظاهري على لوحة المفاتيح والفيديو والماوس وتشغيلها من خلال حوارات التثبيت في Windows.

الخطوة 1. انسخ ISO لتثبيت نظام التشغيل Windows 7 إلى الجهاز الظاهري (أو جعله يمكن الوصول إليه عبر الشبكة):

[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) جديدة وأتركه يتم التمهيد من نظام التشغيل 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 ب IP الخاص بالجهاز المضيف على المنفذ 5900 وإنهاء تثبيت Windows القياسي كما هو موضح في الصورة:

إذا تمت إعادة تشغيل Windows في وقت التثبيت، فقد يكون من الضروري إعادة تشغيل VM باستخدام إصدار إذا لم يتم القيام بذلك تلقائيا:

[root@cen7 ~]# virsh start win7

Domain win7 started

الخطوة 4. بمجرد اكتمال التثبيت، قم بإيقاف تشغيل الجهاز الظاهري. لديك الآن صورة QCOW لهذا التثبيت في المسار المتوفر عندما تقوم بإنشاء ال VM: /var/lib/libvirt/images/win7.img. يمكن نشر هذا النوع من الصور على CGM-SRV لتشغيل Windows.

نشر صورة Windows VM إلى CGM-SRV

الآن بعد أن أصبح لديك النوع الصحيح من الصور ليتم تشغيله على CGM-SRV، يمكنك بدء نشره.

الخطوة 1. إعداد ملف تعريف ل ioxlent الذي يتوافق مع التكوين الخاص بك:

[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 مع الذو قارن على ال CGR1000 على أي أنت شكلت شبكة عنوان ترجمة (NAT) أن يرسل إلى ميناء 8443 على ال CGM-SRV.

الخطوة 2. الآن وقد تم تكوين iXP، فدعنا نعيد تسمية الصورة التي تم إنشاؤها مسبقا إلى VM.img من أجل تبسيط البت ونسخها باستخدام Secure Copy (SCP) باستخدام IOXCLIENT إلى CGM-SRV.

وبشكل إختياري، قم بتحويل صورة القرص إلى تنسيق QCOW2 كما هو متوقع من CGM-SRV. يبدو أن الإصدارات الأحدث من برنامج Virtual-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:/]

قد يستغرق هذا النقل بعض الوقت، مثل معدلات النقل من 3-4 ميجابايت/ثانية تقريبا إلى CGM-SRV عبر برنامج Cisco IOS®. يتم نسخ الملف إلى /mnt/data/vm/vm.img على الوحدة النمطية CGM-SRV.

الخطوة 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

كما يمكنك أن ترى في هذا الحزمة.yaml، فتشير إلى file://vm.img وهو ما يتوافق مع الموقع الحقيقي ل mnt/data/vm/vm.img على الوحدة النمطية CGM-SRV.

الخطوة 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، تحتاج إلى إنشاء ملف JSON للحمولة الذي يقوم بتعيين كلمة مرور VNC ل VM هذا:

[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

عند هذه النقطة، يتم تشغيل VM ل Windows على CGM-SRV ويمكنك بدء إستخدامه.

للحصول على وصول إلى وحدة تحكم جهاز Windows، يمكنك إستخدام عارض VNC على الواجهة الصادرة على CGR1000 والمنفذ 5900 كما هو موضح في الصورة:

من منظور الشبكة، أخترت أن تعطي ETH0 و ETH1 إلى Win7 IOx VM باستخدام ملف package.yaml كما هو موضح في الصورة:

كما ترى، يتلقى هذا قارن IP من ال DHCP نادل أن يركض على cisco ios ® ويمكن أن يكون استعملت دون تشكيل إضافي.

التحقق من الصحة

استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.

للتحقق مما إذا كان تشغيل 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

يمكنك أيضا التحقق من الحالة من المدير المحلي كما هو موضح في الصورة:

استكشاف الأخطاء وإصلاحها

يوفر هذا القسم معلومات يمكنك إستخدامها لاستكشاف أخطاء التكوين وإصلاحها.

لاستكشاف أخطاء النشر وإصلاحها، تحقق من إخراج ioxclient أو /var/log/caf.log على نظام تشغيل CGM-SRV المضيف.

ضمنت أن شكلت NAT بشكل صحيح أن ينفذ كل مورد (cisco تطبيق إستضافة إطار (CAF)، Secure Shell (SSH)، VNC).