إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ملحقات الجهاز الظاهري Azure (VM) هي تطبيقات صغيرة توفر مهام تكوين وأتمتة ما بعد النشر على أجهزة Azure الظاهرية. على سبيل المثال، إذا كان الجهاز الظاهري يتطلب تثبيت برنامج أو حماية من الفيروسات أو القدرة على تشغيل برنامج نصي داخل الجهاز الظاهري، فيمكنك استخدام ملحق الجهاز الظاهري.
يمكنك تشغيل ملحقات Azure VM باستخدام قوالب Azure CLI وPowerShell وAzure Resource Manager (ARM) ومدخل Microsoft Azure. يمكنك تجميع الملحقات مع نشر جهاز ظاهري جديد أو تشغيلها مقابل أي نظام موجود.
توفر هذه المقالة نظرة عامة على ملحقات Azure VM، بما في ذلك المتطلبات الأساسية والإرشادات حول كيفية اكتشاف الملحقات وإدارتها وإزالتها. توفر هذه المقالة معلومات عامة نظرا لتوفر العديد من ملحقات الجهاز الظاهري. يحتوي كل ملحق على تكوين فريد محتمل ووثائقه الخاصة.
إشعار
جرب مساعدة VM للحصول على تشخيصات أسرع. نوصي بتشغيل مساعدة VM لويندوز أو VM Assist لنظام لينكس. تساعدك أدوات التشخيص المستندة إلى البرنامج النصي هذه على تحديد المشكلات الشائعة التي تؤثر على عامل ضيف جهاز Azure الظاهري وسلامة الجهاز الظاهري بشكل عام.
إذا كنت تواجه مشاكل في الأداء مع الأجهزة الافتراضية، قبل التواصل مع الدعم، قم بتشغيل هذه الأدوات.
حالات الاستخدام والعينات
يحتوي كل ملحق Azure VM على حالة استخدام محددة. وإليك بعض الأمثلة:
تكوين مراقبة الجهاز الظاهري باستخدام عامل Azure Monitorونتائج تحليلات الجهاز الظاهري.
تكوين جهاز Azure الظاهري باستخدام Chef.
قم بتكوين مراقبة البنية الأساسية ل Azure باستخدام ملحق Datadog.
بالإضافة إلى الملحقات الخاصة بالعملية ، يتوفر ملحق البرنامج النصي المخصص لكل من الأجهزة الظاهرية التي تعمل بنظام التشغيل Windows و Linux. يسمح ملحق البرنامج النصي المخصص لنظام التشغيل Windows لأي برنامج نصي PowerShell بالعمل على جهاز ظاهري. تعد البرامج النصية المخصصة مفيدة لتصميم عمليات توزيع Azure التي تتطلب تكوينا يتجاوز ما يمكن أن توفره أدوات Azure الأصلية.
المتطلبات
راجع المتطلبات الأساسية التالية للعمل مع ملحقات Azure VM.
عامل جهاز Azure الظاهري
للتعامل مع الملحقات على الجهاز الظاهري، تحتاج إلى تثبيت عامل الجهاز الظاهري Azure لنظام التشغيل Windows . يشار إلى هذا العامل أيضا باسم عامل Azure VM أو عامل ضيف Windows. أثناء التحضير لتثبيت الملحقات، ضع في اعتبارك أن بعض الملحقات لها متطلبات أساسية فردية، مثل الوصول إلى الموارد أو التبعيات.
يدير عامل Azure VM التفاعلات بين جهاز Azure الظاهري ووحدة تحكم نسيج Azure. العامل مسؤول عن العديد من الجوانب الوظيفية لنشر أجهزة Azure الظاهرية وإدارتها، بما في ذلك تشغيل ملحقات الجهاز الظاهري.
تم تثبيت عامل Azure VM مسبقا على صور Azure Marketplace. يمكن أيضا تثبيت العامل يدويا على أنظمة التشغيل المدعومة.
يعمل العامل على أنظمة تشغيل متعددة. ومع ذلك ، فإن إطار عمل الملحقات له حد لأنظمة التشغيل التي تستخدمها الملحقات. بعض الإضافات غير مدعومة عبر جميع أنظمة التشغيل وقد تصدر رمز الخطأ 51 ("نظام التشغيل غير المدعوم"). تحقق من وثائق الإضافة الفردية لمعرفة إمكانية الدعم.
الوصول إلى الشبكة
يتم تنزيل حزم الملحقات من مستودع ملحق Azure Storage. يتم نشر تحميلات حالة الملحق إلى Azure Storage.
إذا كنت تستخدم إصدارا مدعوما من عامل Azure VM، فلن تحتاج إلى السماح بالوصول إلى Azure Storage في منطقة الجهاز الظاهري. يمكنك استخدام عامل الجهاز الظاهري لإعادة توجيه الاتصال إلى وحدة تحكم نسيج Azure لاتصالات العامل (عبر الميزة HostGAPlugin من خلال القناة المميزة على عنوان IP الخاص 168.63.129.16). إذا كنت تستخدم إصدارا غير مدعوم من عامل الجهاز الظاهري، فأنت بحاجة إلى السماح بالوصول الصادر إلى Azure Storage في تلك المنطقة من الجهاز الظاهري.
مهم
إذا قمت بحظر الوصول إلى عنوان IP 168.63.129.16 باستخدام جدار حماية الضيف أو عبر وكيل، فستفشل الملحقات. يحدث الفشل حتى إذا كنت تستخدم إصدارا مدعوما من عامل الجهاز الظاهري أو قمت بتكوين الوصول الصادر. المنفذان 80 و 32526 مطلوبان.
لا يمكن استخدام الوكلاء إلا لتنزيل حزم الملحقات والإبلاغ عن الحالة. على سبيل المثال، إذا احتاج تثبيت الملحق إلى تنزيل برنامج نصي من GitHub (ملحق البرنامج النصي المخصص) أو يتطلب الوصول إلى Azure Storage (Azure Backup)، فأنت بحاجة إلى فتح منافذ جدار حماية أو مجموعة أمان الشبكة (NSG) أخرى. الإضافات المختلفة لها متطلبات مختلفة لأنها تطبيقات في حد ذاتها. بالنسبة للملحقات التي تتطلب الوصول إلى Azure Storage أو معرف Microsoft Entra، يمكنك السماح بالوصول باستخدام علامات خدمة Azure NSG.
لا يوفر عامل Azure VM دعما للخادم الوكيل لتمكين إعادة توجيه طلبات نسبة استخدام الشبكة للعامل. يعتمد عامل الجهاز الظاهري على الوكيل المخصص الخاص بك (إذا كان لديك واحد) للوصول إلى الموارد على الإنترنت أو على المضيف من خلال عنوان IP 168.63.129.16.
اكتشاف ملحقات الجهاز الظاهري
تتوفر العديد من ملحقات الجهاز الظاهري للاستخدام مع أجهزة Azure الظاهرية. للاطلاع على قائمة كاملة، استخدم Get-AzVMExtensionImage PowerShell cmdlet.
يسرد الأمر التالي جميع ملحقات الجهاز الظاهري المتوفرة في موقع منطقة غرب الولايات المتحدة:
Get-AzVmImagePublisher -Location "West US" |
Get-AzVMExtensionImageType |
Get-AzVMExtensionImage | Select Type, Version
يوفر هذا الأمر مخرجات مشابهة للمثال التالي:
Type Version
---- -------
AcronisBackup 1.0.33
AcronisBackup 1.0.51
AcronisBackupLinux 1.0.33
AlertLogicLM 1.3.0.1
AlertLogicLM 1.3.0.0
AlertLogicLM 1.4.0.1
تشغيل ملحقات الجهاز الظاهري
تعمل ملحقات Azure VM على الأجهزة الظاهرية الموجودة، وهو أمر مفيد عندما تحتاج إلى إجراء تغييرات في التكوين أو استرداد الاتصال على جهاز ظاهري تم نشره بالفعل. يمكن أيضا تجميع ملحقات الجهاز الظاهري مع عمليات نشر قالب ARM. باستخدام الملحقات مع قوالب ARM، يمكنك نشر أجهزة Azure الظاهرية وتكوينها دون تدخل ما بعد التوزيع.
يمكنك استخدام الطرق التالية لتشغيل ملحق مقابل جهاز ظاهري موجود.
إشعار
تستخدم بعض الأمثلة "<placeholder>" التالية قيم المعلمات في الأوامر. قبل تشغيل كل أمر، تأكد من استبدال أي "<placeholder>" قيم بقيم محددة للتكوين.
PowerShell
توجد العديد من أوامر PowerShell لتشغيل الملحقات الفردية. لمشاهدة قائمة، استخدم الأمر Get-Command وقم بالتصفية على الملحق:
Get-Command Set-Az*Extension* -Module Az.Compute
يوفر هذا الأمر مخرجات مشابهة للمثال التالي:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Set-AzVMAccessExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMADDomainExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMAEMExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMBackupExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMBginfoExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMChefExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMCustomScriptExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDiagnosticsExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDiskEncryptionExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDscExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMSqlServerExtension 4.5.0 Az.Compute
Cmdlet Set-AzVmssDiskEncryptionExtension 4.5.0 Az.Compute
يستخدم المثال التالي ملحق البرنامج النصي المخصص لتنزيل برنامج نصي من مستودع GitHub على الجهاز الظاهري المستهدف ثم تشغيل البرنامج النصي.
Set-AzVMCustomScriptExtension -ResourceGroupName "<myResourceGroup>" `
-VMName "<myVM>" -Name "<myCustomScript>" `
-FileUri "https://raw.githubusercontent.com/neilpeterson/nepeters-azure-templates/master/windows-custom-script-simple/support-scripts/Create-File.ps1" `
-Run "Create-File.ps1" -Location "<myVMregion>"
يستخدم المثال التالي ملحق VMAccess لإعادة تعيين كلمة المرور الإدارية لجهاز Windows الظاهري إلى كلمة مرور مؤقتة. بعد تشغيل هذا الرمز، يجب إعادة تعيين كلمة المرور عند تسجيل الدخول لأول مرة.
$cred=Get-Credential
Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myVMAccess" `
-Location "myVMregion" -UserName $cred.GetNetworkCredential().Username `
-Password $cred.GetNetworkCredential().Password -typeHandlerVersion "2.0"
يمكنك استخدام الأمر Set-AzVMExtension لبدء أي ملحق جهاز ظاهري.
Azure portal
يمكنك تطبيق ملحقات الجهاز الظاهري على جهاز ظاهري موجود من خلال مدخل Microsoft Azure. حدد الجهاز الظاهري في المدخل، وحدد الملحقات + التطبيقات، ثم حدد + إضافة. اختر الملحق الذي تريده من قائمة الإضافات المتوفرة، واتبع الإرشادات الموجودة في المعالج.
يوضح المثال التالي تثبيت ملحق Microsoft Antimalware من مدخل Microsoft Azure:
قوالب Azure Resource Manager
يمكنك إضافة ملحقات الجهاز الظاهري إلى قالب ARM وتشغيلها مع نشر القالب. عند نشر ملحق باستخدام قالب، يمكنك إنشاء عمليات توزيع Azure التي تم تكوينها بالكامل.
مثال JSON التالي هو من قالب ARM الذي ينشر مجموعة من الأجهزة الظاهرية المتوازنة التحميل وقاعدة بيانات Azure SQL، ثم يقوم بتثبيت تطبيق .NET Core على كل جهاز ظاهري. يعتني ملحق الجهاز الظاهري بتثبيت البرنامج.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
"protectedSettings": {
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
لمزيد من المعلومات حول إنشاء قوالب ARM، راجع الأجهزة الظاهرية في قالب ARM.
المساعدة في تأمين بيانات ملحق الجهاز الظاهري
عند تشغيل ملحق جهاز ظاهري، قد يكون من الضروري تضمين معلومات حساسة مثل بيانات الاعتماد وأسماء حسابات التخزين ومفاتيح الوصول. تتضمن العديد من ملحقات الجهاز الظاهري تكوينا محميا يقوم بتشفير البيانات وفك تشفيرها فقط داخل الجهاز الظاهري الهدف. يحتوي كل ملحق على مخطط تكوين محمي محدد، ويتم تفصيل كل مخطط في الوثائق الخاصة بالملحق.
يوضح مثال JSON التالي مثيلا لملحق البرنامج النصي المخصص لنظام التشغيل Windows. يتضمن الأمر المراد تشغيله مجموعة من بيانات الاعتماد. في هذا المثال، لا يتم تشفير الأمر المراد تشغيله.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
],
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
يساعد نقل الخاصية commandToExecute إلى التكوين protected في تأمين سلسلة التنفيذ، كما هو موضح في المثال التالي:
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
"protectedSettings": {
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
على الجهاز الظاهري للبنية الأساسية ل Azure كخدمة (IaaS) الذي يستخدم الملحقات، في وحدة تحكم الشهادات، قد ترى الشهادات التي تحتوي على موضوع منشئ شهادات Windows Azure CRP. على جهاز RedDog Front End (RDFE) الكلاسيكي، تحتوي هذه الشهادات على اسم الموضوع Windows Azure Service Management for Extensions.
تؤمن هذه الشهادات الاتصال بين الجهاز الظاهري ومضيفه أثناء نقل الإعدادات المحمية (كلمة المرور وبيانات الاعتماد الأخرى) التي تستخدمها الملحقات. تقوم وحدة تحكم نسيج Azure بإنشاء الشهادات وتمريرها إلى عامل Azure VM. إذا قمت بإيقاف الجهاز الظاهري وبدء تشغيله كل يوم، فقد تقوم وحدة التحكم في البنية بإنشاء شهادة جديدة. يتم تخزين الشهادة في مخزن الشهادات الشخصية للكمبيوتر. يمكن حذف هذه الشهادات. يعيد عامل Azure VM إنشاء الشهادات إذا لزم الأمر.
كيفية تحديث الوكلاء والإضافات
يشترك الوكلاء والإضافات في نفس آلية التحديث التلقائي.
عند توفر تحديث وتمكين التحديثات التلقائية، يتم تثبيت التحديث على الجهاز الظاهري فقط بعد تغيير ملحق أو نموذج جهاز ظاهري آخر. يمكن أن تشمل التغييرات ما يلي:
- أقراص البيانات
- ملحقات
- علامات التمديد
- حاوية تشخيص التمهيد
- أسرار نظام تشغيل الضيف
- حجم الجهاز الظاهري
- ملف تعريف الشبكة
يوفر الناشرون التحديثات للمناطق في أوقات مختلفة. من الممكن أن يكون لديك أجهزة ظاهرية في مناطق مختلفة على إصدارات مختلفة.
إشعار
قد تتطلب بعض التحديثات قواعد جدار حماية إضافية. لمزيد من المعلومات، راجع الوصول إلى الشبكة.
قائمة الملحقات المنشورة على جهاز ظاهري
يمكنك استخدام الأمر التالي لسرد الملحقات المنشورة على جهاز ظاهري:
$vm = Get-AzVM -ResourceGroupName "<myResourceGroup>" -VMName "<myVM>"
$vm.Extensions | select Publisher, VirtualMachineExtensionType, TypeHandlerVersion
ينتج هذا الأمر مخرجات مشابهة للمثال التالي:
Publisher VirtualMachineExtensionType TypeHandlerVersion
--------- --------------------------- ------------------
Microsoft.Compute CustomScriptExtension 1.9
تحديثات الوكيل
يحتوي عامل Azure VM على التعليمات البرمجية لمعالجة الملحق فقط. رمز توفير Windows منفصل. يمكنك إلغاء تثبيت عامل Azure VM. لا يمكنك تعطيل التحديث التلقائي لعامل Azure VM.
تكون التعليمات البرمجية لمعالجة الملحق مسؤولة عن المهام التالية:
- التواصل مع نسيج Azure.
- تعامل مع عمليات ملحق الجهاز الظاهري، مثل عمليات التثبيت وحالة إعداد التقارير وتحديث الملحقات الفردية وإزالة الملحقات. تحتوي التحديثات على إصلاحات أمنية وإصلاحات أخطاء وتحسينات على التعليمات البرمجية لمعالجة الملحق.
للتحقق من الإصدار الذي تقوم بتشغيله، راجع اكتشاف عامل Azure VM.
تحديثات الملحقات
عند توفر تحديث ملحق وتمكين التحديثات التلقائية، إذا تغير نموذج الجهاز الظاهري، يقوم عامل Azure VM بتنزيل الملحق وترقيته.
تحديثات الملحقات التلقائية إما طفيفة أو إصلاح عاجل. يمكنك الاشتراك أو إلغاء الاشتراك في التحديثات الثانوية عند توفير الإضافة. يوضح المثال التالي كيفية ترقية الإصدارات الثانوية تلقائيا في قالب ARM باستخدام المعلمة "autoUpgradeMinorVersion": true, :
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
للحصول على أحدث إصلاحات أخطاء الإصدار الثانوي، نوصي بشدة بتحديد التحديث التلقائي دائما في عمليات نشر الإضافات. لا يمكنك إلغاء الاشتراك في تحديثات الإصلاح العاجل التي تحمل إصلاحات الأمان أو الأخطاء الرئيسية.
إذا قمت بتعطيل التحديثات التلقائية أو كنت بحاجة إلى ترقية إصدار رئيسي، فاستخدم الأمر Set-AzVMExtension وحدد الإصدار الهدف.
تحقق من إصدار الامتداد
إشعار
عرض النموذج مقابل عرض النسخة
في Azure، عرض النموذج يلتقط التكوين الذي حددته لإضافة (ناشر، نوع، وإصدار مطلوب)، بينما عرض النسخة تظهر الحالة الحية والنسخة الفعلية للمعالج التي تعمل على كل آلة افتراضية أو نسخة مقياس محددة—استخدم عرض النسخة كمصدر للحقيقة عند التحقق مما تم تثبيته فعليا.
تحقق من جهاز افتراضي واحد
az vm get-instance-view -g <rg> -n <vm> \
--query "extensions[].{name:name,type:type,version:typeHandlerVersion,status:statuses[0].displayStatus}" \
-o table
يقرأ عرض نسخة الجهاز الافتراضي ليظهر نسخة المعالج المثبتة فعليا وحالتها.
بوويرشيل
Get-AzVM -ResourceGroupName <rg> -Name <vmName> -Status |
Select-Object -ExpandProperty Extensions
افحص TypeHandlerVersion ولكل Statuses امتداد لتأكيد النسخة الجارية وصحتها.
مجموعات السلالم الدقيقة (موحدة أو مرنة)
# Scale set summary (health)
az vmss get-instance-view -g <rg> -n <vmss>
# Per-instance extension versions
az vmss list-instances -g <rg> -n <vmss> --expand instanceView \
--query "[].{instanceId:instanceId, extVers:instanceView.extensions[].typeHandlerVersion}"
# Specific instance
az vmss vm get-instance-view -g <rg> -n <vmss> --instance-id <id>
استخدم عرض المثيل على مستوى مجموعة المقياس أو لكل مثيل للتحقق من صحة إصدارات المعالج الفعلية.
بوويرشيل
Get-AzVmssVM -ResourceGroupName <rg> -VMScaleSetName <vmss> -InstanceView
يعيد حالة التشغيل لكل مثيل، بما في ذلك إصدارات الامتدادات والحالات اللازمة.
كيفية التعرف على تحديثات الإضافات
هناك عدة طرق يمكنك من خلالها تحديد تحديثات الإضافة.
تحديد ما إذا كان الملحق قد تم تعيينه باستخدام autoUpgradeMinorVersion على جهاز ظاهري
يمكنك عرض نموذج الجهاز الظاهري لتحديد ما إذا كان الملحق قد تم توفيره مع المعلمة autoUpgradeMinorVersion . للتحقق من نموذج الجهاز الظاهري، استخدم الأمر Get-AzVm وقم بتوفير مجموعة الموارد واسم الجهاز الظاهري على النحو التالي:
$vm = Get-AzVm -ResourceGroupName "myResourceGroup" -VMName "myVM"
$vm.Extensions
يوضح إخراج المثال التالي تعيين المعلمة autoUpgradeMinorVersion على true:
ForceUpdateTag :
Publisher : Microsoft.Compute
VirtualMachineExtensionType : CustomScriptExtension
TypeHandlerVersion : 1.9
AutoUpgradeMinorVersion : True
تحديد وقت حدوث حدث autoUpgradeMinorVersion
لمعرفة وقت حدوث تحديث للملحق، يمكنك مراجعة سجلات العامل على الجهاز الظاهري في C:\WindowsAzure\Logs\WaAppAgent.log.
يوضح المثال التالي الجهاز الظاهري الذي تم Microsoft.Compute.CustomScriptExtension تثبيت الإصدار 1.8 عليه، والإصلاح العاجل المتاح للإصدار 1.9.
[INFO] Getting plugin locations for plugin 'Microsoft.Compute.CustomScriptExtension'. Current Version: '1.8', Requested Version: '1.9'
[INFO] Auto-Upgrade mode. Highest public version for plugin 'Microsoft.Compute.CustomScriptExtension' with requested version: '1.9', is: '1.9'
أذونات الوكيل
لأداء مهامه، يحتاج عامل Azure VM إلى التشغيل كنظام محلي.
استكشاف أخطاء ملحقات الجهاز الظاهري وإصلاحها
قد يكون لكل ملحق جهاز ظاهري خطوات محددة لاستكشاف الأخطاء وإصلاحها. على سبيل المثال، عند استخدام ملحق البرنامج النصي المخصص، يمكنك العثور على تفاصيل تنفيذ البرنامج النصي محليا على الجهاز الظاهري حيث يتم تشغيل الملحق.
تنطبق إجراءات استكشاف الأخطاء وإصلاحها التالية على جميع ملحقات الجهاز الظاهري:
للتحقق من سجل عامل جهاز Azure الظاهري، انظر إلى النشاط عند توفير الملحق الخاص بك في C:\WindowsAzure\Logs\WaAppAgent.log.
تحقق من سجلات الملحق للحصول على مزيد من التفاصيل في C:\WindowsAzure\Logs\Plugins<extensionName>.
تحقق من أقسام تحري الخلل وإصلاحه في الوثائق الخاصة بالإضافة بحثا عن رموز الخطأ والمشاكل المعروفة والمعلومات الأخرى الخاصة بالملحق.
انظر إلى سجلات النظام. تحقق من العمليات الأخرى التي قد تتداخل مع الملحق، مثل التثبيت طويل الأمد لتطبيق آخر يتطلب وصولا حصريا إلى مدير الحزم.
في الجهاز الظاهري، إذا كان هناك ملحق موجود بحالة توفير فاشلة، فسيفشل تثبيت أي ملحق جديد آخر.
الأسباب الشائعة لفشل الملحق
فيما يلي بعض الأسباب الشائعة التي قد تؤدي إلى فشل الملحق:
الملحقات لديها 20 دقيقة للتشغيل. (الاستثناءات هي البرنامج النصي المخصص وChef وDSC، والتي تستغرق 90 دقيقة.) إذا تجاوز النشر هذا الوقت، وضع علامة عليه كمهلة. يمكن أن يكون سبب هذه المشكلة هو الأجهزة الظاهرية منخفضة الموارد، أو أن تكوينات الجهاز الظاهري الأخرى أو مهام بدء التشغيل تستهلك كميات كبيرة من الموارد أثناء محاولة الملحق توفيرها.
لم يتم استيفاء الحد الأدنى من المتطلبات الأساسية. تحتوي بعض الملحقات على تبعيات على وحدات SKU للجهاز الظاهري، مثل صور HPC. قد يكون للملحقات متطلبات معينة للوصول إلى الشبكة، مثل الاتصال ب Azure Storage أو الخدمات العامة. قد تكون الأمثلة الأخرى هي الوصول إلى مستودعات الحزم أو نفاد مساحة القرص أو قيود الأمان.
الوصول إلى مدير الحزم حصري. في بعض الحالات، قد يتعارض تكوين الجهاز الظاهري طويل الأمد وتثبيت الملحق لأن كلاهما يحتاج إلى وصول حصري إلى مدير الحزم.
عرض حالة الإضافة
بعد تشغيل ملحق الجهاز الظاهري مقابل جهاز ظاهري، استخدم الأمر Get-AzVM لإرجاع حالة الملحق.
Substatuses[0] توضح النتيجة أن توفير الملحق قد نجح، مما يعني أنه تم نشره بنجاح على الجهاز الظاهري. إذا رأيت النتيجة Substatuses[1] ، فشل تنفيذ الملحق داخل الجهاز الظاهري.
Get-AzVM -ResourceGroupName "myResourceGroup" -VMName "myVM" -Status
الإخراج مشابه للمثال التالي:
Extensions[0] :
Name : CustomScriptExtension
Type : Microsoft.Compute.CustomScriptExtension
TypeHandlerVersion : 1.9
Substatuses[0] :
Code : ComponentStatus/StdOut/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Message : Windows PowerShell \nCopyright (C) Microsoft Corporation. All rights reserved.\n
Substatuses[1] :
Code : ComponentStatus/StdErr/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Message : The argument 'cseTest%20Scriptparam1.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the
-File parameter.
Statuses[0] :
Code : ProvisioningState/failed/-196608
Level : Error
DisplayStatus : Provisioning failed
Message : Finished executing command
يمكنك أيضا العثور على حالة تنفيذ الملحق في مدخل Microsoft Azure. حدد الجهاز الظاهري، وحدد الملحقات، ثم حدد الملحق المطلوب.
إعادة تشغيل ملحق جهاز ظاهري
في بعض الحالات، قد تحتاج إلى إعادة تشغيل ملحق الجهاز الظاهري. يمكنك إعادة تشغيل ملحق عن طريق إزالة الملحق، ثم إعادة تشغيل الملحق باستخدام طريقة تنفيذ من اختيارك. لإزالة ملحق، استخدم الأمر Remove-AzVMExtension على النحو التالي:
Remove-AzVMExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myExtensionName"
يمكنك أيضا إزالة ملحق في مدخل Microsoft Azure. حدد جهازا ظاهريا، وحدد الملحقات، ثم حدد الملحق المطلوب. حدد إلغاء التثبيت.
مرجع ملحق الجهاز الظاهري المشترك
يوفر الجدول التالي بعض المراجع الشائعة لملحقات الجهاز الظاهري.
| اسم الملحق | Description |
|---|---|
| ملحق البرنامج النصي المخصص لنظام التشغيل Windows | قم بتشغيل البرامج النصية مقابل جهاز Azure الظاهري. |
| ملحق Azure Diagnostics | إدارة تشخيصات Azure. |
| ملحق VMAccess | إدارة المستخدمين وبيانات الاعتماد. |
الخطوات التالية
لمزيد من المعلومات حول ملحقات الأجهزة الظاهرية، راجع Azure virtual machine extensions and features.