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

تنبيه

تشير هذه المقالة إلى CentOS، وهو توزيع Linux يقترب من حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك. لمزيد من المعلومات، راجع إرشادات نهاية العمر الافتراضي CentOS.

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

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

تزويد الصور

  • ينشئ حساب مستخدم
  • تكوين أنواع مصادقة SSH
  • توزيع مفاتيح SSH العامة وأزواج المفاتيح
  • تعيين اسم المضيف
  • نشر اسم المضيف إلى نظام DNS الأساسي
  • الإبلاغ عن بصمة مفتاح مضيف SSH إلى النظام الأساسي
  • إدارة قرص المورد
  • تنسيق قرص المورد وتثبيته
  • تكوين مساحة التبديل

الشبكات

  • يدير المسارات لتحسين التوافق مع خوادم DHCP للنظام الأساسي
  • يضمن استقرار اسم واجهة الشبكة

Kernel

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

التشخيصات

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

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

  • يكتشف ويشغل عامل Virtual Machine Manager لنظام Linux عند تشغيله في بيئة System Center Virtual Machine Manager 2012 R2

ملحق الجهاز الظاهري

  • إدخال المكونات التي تأليف Microsoft والشركاء في أجهزة Linux الظاهرية لتمكين أتمتة البرامج والتكوين

يمكنك العثور على تنفيذ مرجع ملحق الجهاز الظاهري على GitHub.

الاتصالات

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

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

المتطلبات

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

إشعار

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

التوزيع x64 ARM64
Alma Linux 9.x+ 9.x+
CentOS 7.x+، 8.x+ 7.x+
Debian 10+ 11.x+
Flatcar Linux 3374.2.x+ 3374.2.x+
Azure Linux 2.x 2.x
openSUSE 12.3+ غير مدعوم
Oracle Linux 6.4+، 7.x+، 8.x+ غير مدعوم
Red Hat Enterprise Linux 6.7+، 7.x+، 8.x+، 9.x+ 8.6+, 9.0+
Rocky Linux 9.x+ 9.x+
SLES 12.x+، 15.x+ 15.x SP4+
Ubuntu 18.04+, 20.04+, 22.04+ 20.04+, 22.04+

هام

RHEL/Oracle Linux 6.10 هو الإصدار RHEL/OL 6 الوحيد مع دعم دورة الحياة الموسعة المتوفر. تنتهي الصيانة الممتدة في 30 يونيو 2024.

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

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

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

  • Python 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 في صورهم ومستودعاتهم. قد تقوم بعض توزيعات Linux بتعطيل ميزة التحديث التلقائي لعامل Azure Linux VM وقد تحتوي بعض المستودعات أيضا على إصدارات قديمة، وقد تواجه تلك مشكلات في الملحقات الحديثة، لذلك نوصي بتثبيت أحدث إصدار مستقر. للتأكد من تحديث عامل Azure Linux VM بشكل صحيح، نوصي بوجود الخيار AutoUpdate.Enabled=Y في /etc/waagent.conf الملف أو ببساطة التعليق على هذا الخيار سيؤدي إلى الإعدادات الافتراضية الخاصة به أيضا. عدم AutoUpdate.Enabled=N السماح بتحديث عامل Azure Linux VM بشكل صحيح.

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

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

الإشارات

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

الأوامر

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

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

    • جميع مفاتيح مضيف SSH، إذا كانت Provisioning.RegenerateSshHostKeyPairy موجودة في ملف التكوين.
    • Nameserver التكوين في /etc/resolv.conf.
    • كلمة مرور الجذر من /etc/shadow، إذا كانت yProvisioning.DeleteRootPassword موجودة في ملف التكوين.
    • إيجارات عميل 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 لا يدعم ecdsaملف putty.exe على 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 تستخدم عند إنشاء تجزئة كلمة مرور. القيم الصالحة هي:

  • 1: MD5
  • 2a: سمكة منفوخة
  • 5: SHA-256
  • 6: SHA-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 الذي يطابق إصدار البرنامج الثابت على الأجهزة الأساسية.

Os. RootDeviceScsiTimeout

Type: Integer
Default: 300

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

Os. 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 أثناء التوفير، راجع الموارد التالية: