إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ملحقات الجهاز الظاهري Azure (VM) هي تطبيقات صغيرة توفر مهام تكوين وأتمتة ما بعد النشر على أجهزة Azure الظاهرية. على سبيل المثال، إذا كان الجهاز الظاهري يتطلب تثبيت برنامج أو حماية من الفيروسات أو القدرة على تشغيل برنامج نصي بداخله، فيمكنك استخدام ملحق الجهاز الظاهري.
يمكنك تشغيل ملحقات Azure VM باستخدام Azure CLI وPowerShell وقوالب Azure Resource Manager (قوالب ARM) ومدخل Microsoft Azure. يمكنك تجميع الملحقات مع نشر جهاز ظاهري جديد أو تشغيلها مقابل أي نظام موجود.
توفر هذه المقالة نظرة عامة على ملحقات Azure VM، والمتطلبات الأساسية لاستخدامها، وإرشادات حول كيفية اكتشافها وإدارتها وإزالتها. توفر هذه المقالة معلومات عامة نظرا لتوفر العديد من ملحقات الجهاز الظاهري. لكل منها تكوين فريد محتمل ووثائقه الخاصة.
ملاحظة
جديد! جرب مساعدة الجهاز الظاهري لتشخيص أسرعنوصي بتشغيل مساعدة الجهاز الظاهري لنظام التشغيل Windows أو مساعدة الجهاز الظاهري لنظام التشغيل Linux. تساعدك أدوات التشخيص المستندة إلى البرنامج النصي هذه على تحديد المشكلات الشائعة التي تؤثر على عامل ضيف جهاز Azure الظاهري وسلامة الجهاز الظاهري بشكل عام.
حالات الاستخدام والعينات
يحتوي كل ملحق Azure VM على حالة استخدام محددة. تشمل الأمثلة ما يلي:
- تكوين مراقبة جهاز ظاهري باستخدام ملحق الجهاز الظاهري لعامل المراقبة من Microsoft.
- قم بتكوين مراقبة البنية الأساسية ل Azure باستخدام ملحق Chef أو Datadog .
بالإضافة إلى الإضافات الخاصة بالعملية، يتوفر ملحق البرنامج النصي المخصص لكل من الأجهزة الظاهرية التي تعمل بنظام التشغيل Windows وLinux. يسمح ملحق البرنامج النصي المخصص لنظام التشغيل Linux بتشغيل أي برنامج نصي Bash على جهاز ظاهري. تعد البرامج النصية المخصصة مفيدة لتصميم عمليات توزيع Azure التي تتطلب تكوينا يتجاوز ما يمكن أن توفره أدوات Azure الأصلية.
المتطلبات الأساسية
ملاحظة
يتم دعم الملحقات فقط على توزيعات Linux المعتمدة على Azure.
عامل Azure Linux
للتعامل مع الملحق على الجهاز الظاهري، تحتاج إلى تثبيت عامل Azure Linux . تحتوي بعض الملحقات الفردية على متطلبات أساسية، مثل الوصول إلى الموارد أو التبعيات.
يدير عامل Azure Linux التفاعلات بين جهاز Azure الظاهري ووحدة تحكم بنية Azure. العامل مسؤول عن العديد من الجوانب الوظيفية لنشر أجهزة Azure الظاهرية وإدارتها، بما في ذلك تشغيل ملحقات الجهاز الظاهري.
تم تثبيت عامل Azure Linux مسبقا على صور Azure Marketplace. يمكن أيضا تثبيته يدويا على أنظمة التشغيل المدعومة.
يعمل العامل على أنظمة تشغيل متعددة. ومع ذلك ، فإن إطار عمل الملحقات له حد لأنظمة التشغيل التي تستخدمها الملحقات. بعض الامتدادات غير مدعومة عبر جميع أنظمة التشغيل وقد تصدر رمز الخطأ 51 ("نظام التشغيل غير المدعوم"). تحقق من وثائق الإضافة الفردية لمعرفة إمكانية الدعم.
الوصول إلى الشبكة
يتم تنزيل حزم الملحقات من مستودع ملحق Azure Storage. يتم نشر تحميلات حالة الملحق إلى Azure Storage.
إذا كنت تستخدم إصدارا مدعوما من عامل Azure Linux، فلن تحتاج إلى السماح بالوصول إلى Azure Storage في منطقة الجهاز الظاهري. يمكنك استخدام العامل لإعادة توجيه الاتصال إلى وحدة تحكم Azure Fabric لاتصالات العامل. إذا كنت تستخدم إصدارا غير مدعوم من العامل، فأنت بحاجة إلى السماح بالوصول الصادر إلى Azure Storage في تلك المنطقة من الجهاز الظاهري.
مهم
إذا قمت بحظر الوصول إلى عنوان IP الخاص 168.63.129.16 باستخدام جدار حماية الضيف، فستفشل الملحقات حتى إذا كنت تستخدم إصدارا مدعوما من العامل أو قمت بتكوين الوصول الصادر. بالإضافة إلى ذلك، إذا لم يكن لدى الجهاز الظاهري وصول صادر إلى*.blob.windows.net و*.blob.storage.azure.net، فسيؤدي تهيئة عامل Azure Linux وتثبيت الملحقات إلى تأخيرات إضافية. لتجنب هذه التأخيرات، تأكد من السماح بالوصول إلى نقاط النهاية هذه.
يمكن استخدام الوكلاء فقط لتنزيل حزم الملحقات وحالة التقارير. على سبيل المثال، إذا احتاج تثبيت الملحق إلى تنزيل برنامج نصي من GitHub (ملحق البرنامج النصي المخصص) أو يحتاج إلى الوصول إلى Azure Storage (Azure Backup)، فأنت بحاجة إلى فتح منافذ جدار حماية إضافية أو مجموعة أمان الشبكة (NSG). الإضافات المختلفة لها متطلبات مختلفة، لأنها تطبيقات في حد ذاتها. بالنسبة للملحقات التي تتطلب الوصول إلى Azure Storage، يمكنك السماح بالوصول باستخدام علامات خدمة Azure NSG.
لإعادة توجيه طلبات نسبة استخدام الشبكة للعامل، يحتوي عامل Azure Linux على دعم الخادم الوكيل. ومع ذلك، لا يطبق دعم الخادم الوكيل هذا الملحقات. يجب تكوين كل ملحق فردي للعمل مع وكيل.
اكتشاف ملحقات الجهاز الظاهري
تتوفر العديد من ملحقات الجهاز الظاهري للاستخدام مع أجهزة Azure الظاهرية. لرؤية قائمة كاملة، استخدم قائمة صور ملحق az vm. يسرد المثال التالي جميع الملحقات المتوفرة في موقع westus :
az vm extension image list --location westus --output table
تشغيل ملحقات الجهاز الظاهري
تعمل ملحقات Azure VM على الأجهزة الظاهرية الموجودة. يكون هذا مفيدا عندما تحتاج إلى إجراء تغييرات في التكوين أو استرداد الاتصال على جهاز ظاهري تم نشره بالفعل. يمكن أيضا تجميع ملحقات الجهاز الظاهري مع عمليات نشر قالب ARM. باستخدام الملحقات مع قوالب ARM، يمكنك نشر أجهزة Azure الظاهرية وتكوينها دون تدخل ما بعد التوزيع.
يمكنك استخدام الطرق التالية لتشغيل ملحق مقابل جهاز ظاهري موجود.
Azure CLI
يمكنك تشغيل ملحقات Azure VM مقابل جهاز ظاهري موجود باستخدام الأمر az vm extension set . يقوم المثال التالي بتشغيل ملحق البرنامج النصي المخصص مقابل جهاز ظاهري يسمى myVM في مجموعة موارد تسمى myResourceGroup. استبدل مثال اسم مجموعة الموارد واسم الجهاز الظاهري والبرنامج النصي المراد تشغيله (https://raw.githubusercontent.com/me/project/hello.sh) بمعلوماتك الخاصة.
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name customScript \
--publisher Microsoft.Azure.Extensions \
--settings '{"fileUris": ["https://raw.githubusercontent.com/me/project/hello.sh"],"commandToExecute": "./hello.sh"}'
عند تشغيل الملحق بشكل صحيح ، يكون الإخراج مشابها للمثال التالي:
info: Executing command vm extension set
+ Looking up the VM "myVM"
+ Installing extension "CustomScript", VM: "mvVM"
info: vm extension set command OK
Azure PowerShell
يمكنك تشغيل ملحقات Azure VM مقابل جهاز ظاهري موجود باستخدام الأمر Set-AzVMExtension . يقوم المثال التالي بتشغيل ملحق البرنامج النصي المخصص مقابل جهاز ظاهري يسمى myVM في مجموعة موارد تسمى myResourceGroup. استبدل مثال اسم مجموعة الموارد واسم الجهاز الظاهري والبرنامج النصي المراد تشغيله (https://raw.githubusercontent.com/me/project/hello.sh) بمعلوماتك الخاصة.
$Params = @{
ResourceGroupName = 'myResourceGroup'
VMName = 'myVM'
Name = 'CustomScript'
Publisher = 'Microsoft.Azure.Extensions'
ExtensionType = 'CustomScript'
TypeHandlerVersion = '2.1'
Settings = @{fileUris = @('https://raw.githubusercontent.com/me/project/hello.sh'); commandToExecute = './hello.sh'}
}
Set-AzVMExtension @Params
عند تشغيل الملحق بشكل صحيح ، يكون الإخراج مشابها للمثال التالي:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
Azure portal
يمكنك تطبيق ملحقات الجهاز الظاهري على جهاز ظاهري موجود من خلال مدخل Microsoft Azure. حدد الجهاز الظاهري في المدخل، وحدد الملحقات، ثم حدد إضافة. اختر الملحق الذي تريده من قائمة الإضافات المتوفرة، واتبع الإرشادات الموجودة في المعالج.
توضح الصورة التالية تثبيت ملحق البرنامج النصي المخصص لنظام التشغيل Linux من مدخل 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/', concat(variables('vmName'),copyindex()))]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.1",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-linux/scripts/config-music.sh"
]
},
"protectedSettings": {
"commandToExecute": "[concat('sudo sh config-music.sh ',variables('musicStoreSqlName'), ' ', parameters('adminUsername'), ' ', parameters('sqlAdminPassword'))]"
}
}
}
لمزيد من المعلومات حول إنشاء قوالب ARM، راجع الأجهزة الظاهرية في قالب Azure Resource Manager.
المساعدة في تأمين بيانات ملحق الجهاز الظاهري
عند تشغيل ملحق جهاز ظاهري، قد يكون من الضروري تضمين معلومات حساسة مثل بيانات الاعتماد وأسماء حسابات التخزين ومفاتيح الوصول. تتضمن العديد من ملحقات الجهاز الظاهري تكوينا محميا يقوم بتشفير البيانات وفك تشفيرها فقط داخل الجهاز الظاهري الهدف. يحتوي كل ملحق على مخطط تكوين محمي محدد، ويتم تفصيل كل منها في وثائق خاصة بالملحق.
يوضح المثال التالي مثيلا لملحق البرنامج النصي المخصص لنظام التشغيل Linux. يتضمن الأمر المراد تشغيله مجموعة من بيانات الاعتماد. في هذا المثال، لا يتم تشفير الأمر المطلوب تشغيله.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', concat(variables('vmName'),copyindex()))]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.1",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-linux/scripts/config-music.sh"
],
"commandToExecute": "[concat('sudo sh config-music.sh ',variables('musicStoreSqlName'), ' ', parameters('adminUsername'), ' ', parameters('sqlAdminPassword'))]"
}
}
}
يساعد نقل الخاصية commandToExecute إلى التكوين protected في تأمين سلسلة التنفيذ، كما هو موضح في المثال التالي:
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', concat(variables('vmName'),copyindex()))]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.1",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-linux/scripts/config-music.sh"
]
},
"protectedSettings": {
"commandToExecute": "[concat('sudo sh config-music.sh ',variables('musicStoreSqlName'), ' ', parameters('adminUsername'), ' ', parameters('sqlAdminPassword'))]"
}
}
}
كيفية تحديث الوكلاء والإضافات
يشترك الوكلاء والإضافات في نفس آلية التحديث التلقائي.
عند توفر تحديث وتمكين التحديثات التلقائية، لا يتم تثبيت التحديث على الجهاز الظاهري إلا بعد حدوث تغيير في ملحق أو بعد تغييرات نموذج الجهاز الظاهري الأخرى، مثل:
- أقراص البيانات
- ملحقات
- علامات التمديد
- حاوية تشخيص التمهيد
- أسرار نظام تشغيل الضيف
- حجم الجهاز الظاهري
- ملف تعريف الشبكة
يوفر الناشرون التحديثات للمناطق في أوقات مختلفة، لذلك من الممكن أن يكون لديك أجهزة ظاهرية في مناطق مختلفة على إصدارات مختلفة.
ملاحظة
قد تتطلب بعض التحديثات قواعد جدار حماية إضافية. راجع الوصول إلى الشبكة.
تحديثات الوكيل
يحتوي عامل Linux VM على التعليمات البرمجية لعامل التوفيرورمز معالجة الملحق في حزمة واحدة. لا يمكن فصلهما.
يمكنك تعطيل عامل التوفير عندما تريد التوفير على Azure باستخدام cloud-init.
يمكن للإصدارات المدعومة من الوكلاء استخدام التحديثات التلقائية. التعليمات البرمجية الوحيدة التي يمكن تحديثها هي التعليمات البرمجية لمعالجة الملحق، وليس التعليمات البرمجية لعامل التوفير. التعليمات البرمجية لعامل التوفير هي تعليمات برمجية لمرة واحدة.
رمز معالجة الملحق مسؤول عن:
- التواصل مع نسيج Azure.
- التعامل مع عمليات ملحق الجهاز الظاهري، مثل عمليات التثبيت وحالة إعداد التقارير وتحديث الملحقات الفردية وإزالة الملحقات. تحتوي التحديثات على إصلاحات أمنية وإصلاحات أخطاء وتحسينات على التعليمات البرمجية لمعالجة الملحق.
عند تثبيت العامل، يتم إنشاء برنامج خفي أصلي. ثم ينتج هذا الأصل عملية تابعة تستخدم للتعامل مع الملحقات. إذا كان التحديث متاحا للعامل، تنزيله. يقوم الوالد بإيقاف العملية التابعة ويقوم بترقيتها ثم إعادة تشغيلها. إذا كانت هناك مشكلة في التحديث، فستعود العملية الأصلية إلى الإصدار التابع السابق.
لا يمكن تحديث العملية الأصلية تلقائيا. لا يمكن تحديث الأصل إلا عن طريق تحديث حزمة التوزيع.
للتحقق من الإصدار الذي تقوم بتشغيله، تحقق waagent مما يلي:
waagent --version
الإخراج مشابه للمثال التالي:
WALinuxAgent-2.2.45 running on <Linux Distro>
Python: 3.6.9
Goal state agent: 2.7.1.0
في إخراج المثال السابق ، يكون الأصل (أو الإصدار المنشور للحزمة ) WALinuxAgent-2.2.45هو . القيمة Goal state agent هي إصدار التحديث التلقائي.
نوصي بشدة بتمكين التحديث التلقائي للعامل: AutoUpdate.Enabled=y. إذا لم تقم بتمكين التحديث التلقائي، فستحتاج إلى الاستمرار في تحديث العامل يدويا، ولن تحصل على إصلاحات للأخطاء والأمان.
تحديثات الملحقات
عند توفر تحديث ملحق وتمكين التحديثات التلقائية، بعد حدوث تغيير في نموذج الجهاز الظاهري ، يقوم عامل Azure Linux بتنزيل الملحق وترقيته.
تحديثات الملحقات التلقائية إما طفيفة أو إصلاح عاجل. يمكنك الاشتراك أو إلغاء الاشتراك في التحديثات الثانوية عند توفير الإضافة. يوضح المثال التالي كيفية ترقية الإصدارات الثانوية تلقائيا في قالب ARM باستخدام "autoUpgradeMinorVersion": true,:
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.1",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-linux/scripts/config-music.sh"
]
},
للحصول على أحدث إصلاحات أخطاء الإصدار الثانوي، نوصي بشدة بتحديد التحديث التلقائي دائما في عمليات نشر الإضافات. لا يمكنك إلغاء الاشتراك في تحديثات الإصلاح العاجل التي تحمل إصلاحات الأمان أو الأخطاء الرئيسية.
إذا قمت بتعطيل التحديثات التلقائية أو كنت بحاجة إلى ترقية إصدار رئيسي، فاستخدم az vm extension set أو Set-AzVMExtension وحدد الإصدار الهدف.
كيفية التعرف على تحديثات الإضافات
تحديد ما إذا كان الملحق قد تم تعيينه باستخدام autoUpgradeMinorVersion على جهاز ظاهري
يمكنك أن ترى من نموذج الجهاز الظاهري ما إذا كان الملحق قد تم توفيره ب autoUpgradeMinorVersion. للتحقق، استخدم az vm show وقم بتوفير مجموعة الموارد واسم الجهاز الظاهري على النحو التالي:
az vm show --resource-group myResourceGroup --name myVM
يوضح إخراج المثال التالي أنه autoUpgradeMinorVersion تم تعيينه على true:
"resources": [
{
"autoUpgradeMinorVersion": true,
"forceUpdateTag": null,
"id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/extensions/customScript",
تحديد وقت حدوث حدث autoUpgradeMinorVersion
لمعرفة وقت حدوث تحديث للملحق، راجع سجلات العامل على الجهاز الظاهري في /var/log/waagent.log.
في المثال التالي، تم Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9025 تثبيت الجهاز الظاهري. كان الإصلاح العاجل متاحا ل Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027.
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Expected handler state: enabled
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Decide which version to use
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Use version: 2.3.9027
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Current handler state is: NotInstalled
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Download extension package
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Unpack extension package
INFO Event: name=Microsoft.OSTCExtensions.LinuxDiagnostic, op=Download, message=Download succeeded
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Initialize extension directory
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Update settings file: 0.settings
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9025] Disable extension.
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9025] Launch command:diagnostic.py -disable
...
INFO Event: name=Microsoft.OSTCExtensions.LinuxDiagnostic, op=Disable, message=Launch command succeeded: diagnostic.py -disable
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Update extension.
INFO [Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9027] Launch command:diagnostic.py -update
2017/08/14 20:21:57 LinuxAzureDiagnostic started to handle.
أذونات الوكيل
لأداء مهامه ، يحتاج العامل إلى التشغيل كجذر.
استكشاف أخطاء ملحقات الجهاز الظاهري وإصلاحها
قد يكون لكل ملحق جهاز ظاهري خطوات محددة لاستكشاف الأخطاء وإصلاحها. على سبيل المثال، عند استخدام ملحق البرنامج النصي المخصص، يمكنك العثور على تفاصيل تنفيذ البرنامج النصي محليا على الجهاز الظاهري حيث تم تشغيل الملحق.
تنطبق إجراءات استكشاف الأخطاء وإصلاحها التالية على جميع ملحقات الجهاز الظاهري:
للتحقق من سجل عامل Azure Linux، انظر إلى النشاط عند توفير الملحق الخاص بك في /var/log/waagent.log.
تحقق من سجلات الملحق للحصول على مزيد من التفاصيل في /var/log/azure/<extensionName>.
تحقق من أقسام تحري الخلل وإصلاحه في الوثائق الخاصة بالإضافة بحثا عن رموز الخطأ والمشاكل المعروفة والمعلومات الأخرى الخاصة بالملحق.
انظر إلى سجلات النظام. تحقق من العمليات الأخرى التي قد تتداخل مع الملحق، مثل التثبيت طويل الأمد لتطبيق آخر يتطلب وصولا حصريا إلى مدير الحزم.
الأسباب الشائعة لفشل الملحق
الملحقات لديها 20 دقيقة للتشغيل. (الاستثناءات هي البرنامج النصي المخصص ، والشيف ، اللذين مدهما 90 دقيقة.) إذا تجاوز النشر هذا الوقت، وضع علامة عليه كمهلة. يمكن أن يكون السبب في ذلك هو الأجهزة الظاهرية منخفضة الموارد، أو أن تكوينات الجهاز الظاهري الأخرى أو مهام بدء التشغيل تستهلك كميات كبيرة من الموارد أثناء محاولة الملحق توفيرها.
لم يتم استيفاء الحد الأدنى من المتطلبات الأساسية. تحتوي بعض الملحقات على تبعيات على وحدات SKU للجهاز الظاهري، مثل صور HPC. قد يكون للملحقات متطلبات معينة للوصول إلى الشبكة، مثل الاتصال ب Azure Storage أو الخدمات العامة. قد تكون الأمثلة الأخرى هي الوصول إلى مستودعات الحزم أو نفاد مساحة القرص أو قيود الأمان.
الوصول إلى مدير الحزم حصري. في بعض الحالات، قد يتعارض تكوين الجهاز الظاهري طويل الأمد وتثبيت الملحق لأن كلاهما يحتاج إلى وصول حصري إلى مدير الحزم.
عرض حالة الإضافة
بعد تشغيل ملحق الجهاز الظاهري مقابل جهاز ظاهري، استخدم az vm get-instance-view لإرجاع حالة الملحق على النحو التالي:
az vm get-instance-view \
--resource-group myResourceGroup \
--name myVM \
--query "instanceView.extensions"
الإخراج مشابه للمثال التالي:
{
"name": "customScript",
"statuses": [
{
"code": "ProvisioningState/failed/0",
"displayStatus": "Provisioning failed",
"level": "Error",
"message": "Enable failed: failed to execute command: command terminated with exit status=127\n[stdout]\n\n[stderr]\n/bin/sh: 1: ech: not found\n",
"time": null
}
],
"substatuses": null,
"type": "Microsoft.Azure.Extensions.CustomScript",
"typeHandlerVersion": "2.1.6"
}
يمكنك أيضا العثور على حالة تنفيذ الملحق في مدخل Microsoft Azure. حدد الجهاز الظاهري، وحدد الملحقات، ثم حدد الملحق المطلوب.
إعادة تشغيل ملحق جهاز ظاهري
قد تكون هناك حالات يحتاج فيها ملحق الجهاز الظاهري إلى إعادة التشغيل. يمكنك إعادة تشغيل ملحق عن طريق إزالته، ثم إعادة تشغيل الملحق باستخدام طريقة تنفيذ من اختيارك.
لإزالة ملحق، استخدم حذف ملحق az vm على النحو التالي:
az vm extension delete \
--resource-group myResourceGroup \
--vm-name myVM \
--name customScript
يمكنك أيضا إزالة ملحق في مدخل Microsoft Azure:
- حدد جهاز ظاهري.
- حدد الإضافات.
- حدد الإضافة.
- حدد إلغاء التثبيت.
مرجع ملحق الجهاز الظاهري المشترك
| اسم الملحق | Description |
|---|---|
| ملحق البرنامج النصي المخصص لنظام التشغيل Linux | قم بتشغيل البرامج النصية مقابل جهاز Azure الظاهري. |
| ملحق VMAccess | استعادة الوصول إلى جهاز Azure الظاهري. يمكنك أيضا استخدامه لإدارة المستخدمين وبيانات الاعتماد. |
الخطوات التالية
لمزيد من المعلومات حول ملحقات الأجهزة الظاهرية، راجع Azure virtual machine extensions and features.