مشاركة عبر


نظرة عامة على Azure Linux VM Agent

يدير وكيل Azure Linux VM (waagent) توفير لينكس وFreeBSD، إلى جانب تفاعل الآلة الافتراضية (VM) مع وحدة تحكم Azure Fabric. بالإضافة إلى عامل Linux الذي يوفر وظائف التزويد، يوفر Azure خيار استخدام cloud-init لبعض أنظمة تشغيل Linux.

هام

للحصول على أحدث المعلومات حول دعم FIPS 140-3 على وكيل الضيوف والإضافات في VM، توجه إلى aka.ms/linuxagentfipssupport.

يوفر عامل Linux الوظائف التالية لتوزيع أجهزة Linux و FreeBSD Azure الظاهرية. لمزيد من المعلومات، راجع عامل Azure Linux VM Readme على GitHub.

إشعار

جرب مساعدة VM للحصول على تشخيصات أسرع. نوصي بتشغيل مساعدة VM لويندوز أو VM Assist لنظام لينكس. تساعدك أدوات التشخيص المستندة إلى البرنامج النصي هذه على تحديد المشكلات الشائعة التي تؤثر على عامل ضيف جهاز Azure الظاهري وسلامة الجهاز الظاهري بشكل عام.

إذا كنت تواجه مشاكل في الأداء مع الأجهزة الافتراضية، قبل التواصل مع الدعم، قم بتشغيل هذه الأدوات.

تزويد الصور

  • ينشئ حساب مستخدم.
  • يضبط أنواع مصادقة SSH.
  • ينشر مفاتيح وأزواج مفاتيح Secure Shell (SSH).
  • يضبط اسم المضيف.
  • ينشر اسم المضيف لنظام أسماء النطاقات (DNS) على منصة البرنامج.
  • يبلغ عن بصمة مفتاح مضيف SSH إلى المنصة.
  • يدير قرص الموارد.
  • يقوم بتنسيق وتركيب قرص الموارد.
  • يضبط مساحة التبديل.

الشبكات

  • يدير المسارات لتحسين التوافق مع خوادم DHCP على المنصة (DHCP).
  • يضمن استقرار اسم واجهة الشبكة.

Kernel

  • يضبط NUMA افتراضي (معطل للنواة 2.6.37).
  • يستهلك Hyper-V الإنتروبيا ل /dev/random.
  • يقوم بتكوين مهلات SCSI للجهاز الجذري، والذي يمكن أن يكون عن بعد.

التشخيصات

  • يوفر إعادة توجيه وحدة التحكم إلى المنفذ التسلسلي.

عمليات توزيع System Center Virtual Machine Manager

  • يكتشف ويشغل وكيل مدير الآلة الافتراضية لنظام لينكس عندما يعمل في بيئة System Center Virtual Machine Manager 2012 R2.

امتداد VM

  • يحقن المكونات التي أنشأتها مايكروسوفت وشركاؤها في أجهزة لينكس الافتراضية لتمكين أتمتة البرمجيات والتكوين.

يمكنك العثور على تنفيذ مرجعي لامتداد VM على GitHub.

الاتصالات

يحدث تدفق المعلومات من النظام الأساسي إلى العامل من خلال قناتين:

  • قرص DVD مرفق في وقت التمهيد لتوزيع الجهاز الظاهري. يتضمن قرص DVD هذا ملف تكوين متوافق مع Open Virtualization Format (OVF) يحتوي على جميع معلومات التوفير بخلاف أزواج مفاتيح SSH.
  • نقطة نهاية TCP تعرض واجهة برمجة تطبيقات REST المستخدمة للحصول على تكوين التوزيع والطوبولوجيا.

المتطلبات

يؤكد الاختبار أن الأنظمة التالية تعمل مع وكيل Azure Linux VM.

إشعار

قد تختلف هذه القائمة عن توزيعات Linux المعتمدة على Azure.

الناشر التوزيع x64 ARM64
مجتمع ألما لينكس ألما لينكس 8.x+، 9.x+ 8.x+، 9.x+
كريداتيف Debian 10+ 11.x+
كينفولك فلاتكار لينكس 3374.2.x+ 3374.2.x+
Microsoft Azure Linux 2.x 2.x
مشروع openSUSE openSUSE 12.3+ غير مدعوم
Oracle أوراكل لينكس 6.4+، 7.x+، 8.x+ غير مدعوم
قبعة حمراء Red Hat Enterprise Linux 6.7+ ، 7.x+ ، 8.x+ ، 9.x+ ، 10.x+ 8.6+ ، 9.0+ ، 10.x+
سي آي كيو روكي لينكس 9.x+ 9.x+
SUSE SLES 12.x+، 15.x+ 15.x SP4 +
قانوني Ubuntu (إصدارات LTS) 18.04+, 20.04+, 22.04+, 24.04+ 20.04+, 22.04+, 24.04+

الأنظمة المدعومة الأخرى:

  • يعمل الوكيل على أنظمة أكثر من تلك المذكورة في الوثائق. ومع ذلك، نحن لا نختبر أو نقدم دعما للتوزيعات غير المدرجة في القائمة المدعومة. على وجه الخصوص، FreeBSD غير معتمد. يمكنك تجربة FreeBSD 8. إذا واجهت مشاكل، يمكنك فتح مشكلة في مستودع GitHub الخاص بنا وقد نتمكن من مساعدتك.

يعتمد عامل Linux على حزم النظام هذه للعمل بشكل صحيح:

  • بايثون 2.6+
  • OpenSSL 1.0+
  • OpenSSH 5.3+
  • أدوات نظام الملفات: sfdisk, fdisk, mkfs, parted
  • أدوات كلمة المرور: chpasswd, sudo
  • أدوات معالجة النصوص: sed, grep
  • أدوات الشبكة: ip-route
  • دعم Kernel لتركيب أنظمة ملفات UDF

تأكد من أن الجهاز الظاهري الخاص بك لديه حق الوصول إلى عنوان IP 168.63.129.16. لمزيد من المعلومات، راجع ما هو عنوان IP 168.63.129.16؟.

التثبيت

تستخدم الطريقة المدعومة لتثبيت وترقية عامل Azure Linux VM RPM أو حزمة DEB من مستودع حزمة التوزيع الخاص بك. يدمج جميع موفري التوزيع المعتمدين حزمة Azure Linux VM Agent في صورهم ومستودعاتهم. قد تعطل بعض توزيعات لينكس ميزة تحديث الوكيل التلقائي في Azure Linux VM. قد تحتوي بعض المستودعات أيضا على نسخ أقدم. قد تواجه الإصدارات القديمة مشاكل مع الإضافات الحديثة، لذا نوصي بتثبيت أحدث إصدار مستقر.

يجب التأكد من أن وكيل Azure Linux VM يتم التحديث بشكل صحيح. نوصي بأن يكون الخيار AutoUpdate.Enabled=Y في /etc/waagent.conf الملف لأن التعليق على ذلك الخيار يؤدي أيضا إلى انقطاع افتراضي. هذا AutoUpdate.Enabled=N لا يسمح لوكيل Azure Linux الافتراضي بالتحديث بشكل صحيح.

للحصول على خيارات التثبيت المتقدمة، مثل التثبيت من مصدر أو إلى مواقع أو بادئات مخصصة، راجع Microsoft Azure Linux VM Agent. بخلاف هذه السيناريوهات، لا ندعم أو نوصي بترقية أو إعادة تثبيت Azure Linux VM Agent من المصدر.

خيارات سطر الأوامر

الإشارات

  • verbose: يزيد إسهاب الأمر المحدد.
  • force: يتخطى التأكيد التفاعلي لبعض الأوامر.

الأوامر

  • help: يسرد الأوامر والعلامات المدعومة.

  • deprovision: محاولات لتنظيف النظام وجعله مناسبا لإعادة التزويد. تحذف العملية:

    • جميع مفاتيح مضيف SSH، إذا كانت Provisioning.RegenerateSshHostKeyPairy موجودة في ملف التكوين.
    • Nameserver التكوين في /etc/resolv.conf.
    • كلمة مرور الجذر من /etc/shadow، إذا كانت Provisioning.DeleteRootPasswordy موجودة في ملف التكوين.
    • إيجارات عميل DHCP المخزنة مؤقتا.

    يعيد العميل تعيين اسم المضيف إلى localhost.localdomain.

    تحذير

    لا يضمن إلغاء التوفير مسح الصورة من جميع المعلومات الحساسة ومناسبة لإعادة التوزيع.

  • deprovision+user: ينفذ كل شيء في deprovision ويحذف آخر حساب مستخدم تم توفيره (تم الحصول عليه من /var/lib/waagent) والبيانات المقترنة به. استخدم هذه المعلمة عند إلغاء توفير صورة تم توفيرها مسبقا على Azure بحيث يمكن التقاطها وإعادة استخدامها.

  • version: يعرض إصدار waagent.

  • serialconsole: تكوين GRUB لوضع علامة ttyS0، أول منفذ تسلسلي، كوحدة تحكم التمهيد. يضمن هذا الخيار إرسال سجلات تمهيد النواة إلى المنفذ التسلسلي وإتاحتها لتصحيح الأخطاء.

  • daemon: يشغل waagent كخفية لإدارة التفاعل مع النظام الأساسي. يتم تحديد هذه الوسيطة إلى waagent في البرنامج النصي waagent init .

  • start: تشغيل waagent كعملية خلفية.

التكوين

يتحكم ملف التكوين /etc/waagent.conf في إجراءات waagent. فيما يلي مثال لملف التكوين:

Provisioning.Enabled=y
Provisioning.DeleteRootPassword=n
Provisioning.RegenerateSshHostKeyPair=y
Provisioning.SshHostKeyPairType=rsa
Provisioning.MonitorHostName=y
Provisioning.DecodeCustomData=n
Provisioning.ExecuteCustomData=n
Provisioning.AllowResetSysUser=n
Provisioning.PasswordCryptId=6
Provisioning.PasswordCryptSaltLength=10
ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.MountOptions=None
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0
LBProbeResponder=y
Logs.Verbose=n
OS.RootDeviceScsiTimeout=300
OS.OpensslPath=None
HttpProxy.Host=None
HttpProxy.Port=None
AutoUpdate.Enabled=y

خيارات التكوين من ثلاثة أنواع: Booleanأو Stringأو Integer. يمكنك تحديد Boolean خيارات التكوين ك y أو n. قد يتم استخدام الكلمة الأساسية None الخاصة لبعض إدخالات تكوين نوع السلسلة.

التزويد.ممكن

Type: Boolean
Default: y

يسمح هذا الخيار للمستخدم بتمكين أو تعطيل وظيفة التوفير في العامل. القيم الصالحة هي y و n. إذا تم تعطيل التوفير، يتم الاحتفاظ بمضيف SSH ومفاتيح المستخدم في الصورة ويتم تجاهل التكوين في واجهة برمجة تطبيقات توفير Azure.

إشعار

Provisioning.Enabled يتم تعيين المعلمة افتراضيا إلى n على Ubuntu Cloud Images التي تستخدم cloud-init للتزويد.

Provisioning.DeleteRootPassword

Type: Boolean
Default: n

إذا كانت القيمة هي y، يقوم العامل بمسح كلمة مرور الجذر في ملف /etc/shadow أثناء عملية التزويد.

Provisioning.RegenerateSshHostKeyPair

Type: Boolean
Default: y

إذا كانت القيمة هي y، يحذف العامل جميع أزواج مفاتيح مضيف SSH من /etc/ssh/ أثناء عملية التوفير، بما في ذلك ECDSA وDSA وRSA. يقوم العامل بإنشاء زوج مفاتيح جديد واحد.

تكوين نوع التشفير لزوج المفاتيح الجديدة باستخدام Provisioning.SshHostKeyPairType الإدخال. بعض التوزيعات تعيد إنشاء أزواج مفاتيح SSH لأي أنواع تشفير مفقودة عند إعادة تشغيل خادم SSH. مثال على ذلك بعد إعادة التشغيل.

Provisioning.SshHostKeyPairType

Type: String
Default: rsa

يمكنك تعيين هذا الخيار إلى نوع خوارزمية تشفير يدعمه البرنامج الخفي SSH على الجهاز الظاهري. القيم المدعومة عادة هي rsaو dsaو.ecdsa على Windows . إذا كنت تنوي استخدام putty.exe على Windows للاتصال بنشر Linux، فاستخدم rsa أو dsa.

Provisioning.MonitorHostName

Type: Boolean
Default: y

إذا كانت القيمة هي y، تراقب waagent جهاز Linux الظاهري لتغيير اسم المضيف، كما تم إرجاعه بواسطة hostname الأمر . ثم يقوم Waagent بتحديث تكوين الشبكة تلقائيا في الصورة ليعكس التغيير. لدفع تغيير الاسم إلى خوادم DNS، يتم إعادة تشغيل الشبكة على الجهاز الظاهري. تؤدي إعادة التشغيل هذه إلى فقدان الاتصال بالإنترنت بشكل موجز.

Provisioning.DecodeCustomData

Type: Boolean
Default: n

إذا كانت القيمة هي y، فإن waagent decodes CustomData من Base64.

Provisioning.ExecuteCustomData

Type: Boolean
Default: n

إذا كانت القيمة هي y، يتم تشغيل CustomData waagent بعد التوفير.

Provisioning.AllowResetSysUser

Type: Boolean
Default: n

يسمح هذا الخيار بإعادة تعيين كلمة المرور لمستخدم النظام. هذا الخيار معطل بشكل افتراضي.

Provisioning.PasswordCryptId

Type: String
Default: 6

يحدد هذا الخيار الخوارزمية التي crypt تستخدم عند إنشاء تجزئة كلمة مرور. القيم الصالحة هي:

  • 1MD5:
  • 2a: سمكة منفوخة
  • 5: SHA-256:
  • 6SHA-512:

Provisioning.PasswordCryptSaltLength

Type: String
Default: 10

يحدد هذا الخيار طول الملح العشوائي المستخدم في إنشاء تجزئة كلمة المرور.

ResourceDisk.Format

Type: Boolean
Default: y

إذا كانت القيمة هي y، فينسق waagent قرص المورد الذي يوفره النظام الأساسي ويحمله، ما لم يكن نوع نظام الملفات الذي طلبه المستخدم هو ResourceDisk.Filesystemntfs. يجعل العامل قسم Linux واحدا (المعرف 83) متاحا على القرص. لا يتم تنسيق هذا القسم إذا كان يمكن تحميله بنجاح.

ResourceDisk.Filesystem

Type: String
Default: ext4

يحدد هذا الخيار نوع نظام الملفات لقرص المورد. تختلف القيم المدعومة باختلاف توزيع Linux. إذا كانت السلسلة هي X، فيجب mkfs.X أن تكون موجودة على صورة Linux.

ResourceDisk.MountPoint

Type: String
Default: /mnt/resource

يحدد هذا الخيار المسار الذي يتم تحميل قرص المورد فيه. قرص المورد هو قرص مؤقت وقد يتم إفراغه عند إلغاء توفير الجهاز الظاهري.

ResourceDisk.MountOptions

Type: String
Default: None

يحدد هذا الخيار خيارات تحميل القرص لتمريرها إلى mount -o الأمر . القيمة هي قائمة قيم مفصولة بفواصل، على سبيل المثال، nodev,nosuid. لمزيد من المعلومات، راجع mount(8) الصفحة اليدوية.

ResourceDisk.EnableSwap

Type: Boolean
Default: n

إذا قمت بتعيين هذا الخيار، يقوم العامل بإنشاء ملف تبديل (/swapfile) على قرص المورد وإضافته إلى مساحة تبديل النظام.

ResourceDisk.SwapSizeMB

Type: Integer
Default: 0

يحدد هذا الخيار حجم ملف التبديل بالميغابايت.

Logs.Verbose

Type: Boolean
Default: n

إذا قمت بتعيين هذا الخيار، يتم تعزيز إسهاب السجل. يسجل Waagent إلى /var/log/waagent.log ويستخدم وظيفة النظام logrotate لتدوير السجلات.

OS.EnableRDMA

Type: Boolean
Default: n

إذا قمت بتعيين هذا الخيار، يحاول العامل تثبيت ثم تحميل برنامج تشغيل RDMA kernel الذي يطابق إصدار البرنامج الثابت على الأجهزة الأساسية.

نظام التشغيل. RootDeviceScsiTimeout

Type: Integer
Default: 300

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

نظام التشغيل. OpensslPath

Type: String
Default: None

يمكنك استخدام هذا الخيار لتحديد مسار بديل لثنائي openssl لاستخدامه لعمليات التشفير.

HttpProxy.Host ، HttpProxy.Port

Type: String
Default: None

إذا قمت بتعيين هذا الخيار، يستخدم العامل هذا الخادم الوكيل للوصول إلى الإنترنت.

AutoUpdate.Enabled

Type: Boolean
Default: y

تمكين أو تعطيل التحديث التلقائي لمعالجة حالة الهدف. القيمة الافتراضية هي y.

جمع السجل التلقائي في عامل ضيف Azure Linux

اعتبارا من الإصدار 2.7+، يحتوي عامل ضيف Azure Linux على ميزة لجمع بعض السجلات وتحميلها تلقائيا. تتطلب هذه الميزة systemdحاليا . يستخدم شريحة جديدة systemd تسمى azure-walinuxagent-logcollector.slice لإدارة الموارد أثناء تنفيذ المجموعة.

والغرض من ذلك هو تسهيل التحليل دون اتصال بالإنترنت. ينتج العامل ملف .zip لبعض سجلات التشخيص قبل تحميلها إلى مضيف الجهاز الظاهري. يمكن للفرق الهندسية ومحترفي الدعم استرداد الملف للتحقيق في المشكلات لمالك الجهاز الظاهري. للحصول على معلومات فنية حول الملفات التي يجمعها عامل ضيف Azure Linux، راجع ملف azurelinuxagent/common/logcollector_manifests.py في مستودع GitHub الخاص بالعامل.

يمكنك تعطيل هذا الخيار عن طريق تحرير /etc/waagent.conf. حَدِّث Logs.Collect إلى n.

صور Ubuntu Cloud

تستخدم Ubuntu Cloud Images cloud-init للقيام بالعديد من مهام التكوين التي سيديرها عامل Azure Linux VM. تنطبق الاختلافات التالية:

  • Provisioning.Enabled الإعدادات الافتراضية على n Ubuntu Cloud Images التي تستخدم cloud-init لتنفيذ مهام التزويد.

  • لا تؤثر معلمات التكوين التالية على Ubuntu Cloud Images التي تستخدم cloud-init لإدارة قرص المورد ومساحة التبادل:

    • ResourceDisk.Format
    • ResourceDisk.Filesystem
    • ResourceDisk.MountPoint
    • ResourceDisk.EnableSwap
    • ResourceDisk.SwapSizeMB

لتكوين نقطة تحميل قرص المورد ومساحة التبديل على Ubuntu Cloud Images أثناء التوفير، راجع الموارد التالية: