إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة
توفر أوبونتو صورا سحابية رسمية جاهزة لAzure (cloudimg) تشمل جميع المكونات اللازمة لنجاح التوفير على Azure، مثل Cloud init، والنواة المحسنة لAzure، وتوافق وكيل الضيوف في Azure، والإعدادات الافتراضية المعدلة للأداء للبيئات الافتراضية. هذه الصور هي نقطة البداية الموصى بها عند إنشاء VHD مخصص لأنها تتوافق مع متطلبات توفير أجهزة Azure الافتراضية وتقلل من خطوات الإعداد اليدوية المطلوبة.
تنشر أوبونتو هذه الصور بعدة صيغ، بما في ذلك أقراص Azure الافتراضية الجاهزة للاستخدام (VHDs)، على https://cloud-images.ubuntu.com/ الموقع. إذا كنت بحاجة لبناء صورة أوبونتو متخصصة لأزور، يمكنك البدء بهذه النسخ المعتمدة من VHD وتخصيصها حسب الحاجة. أحدث إصدارات الصور متوفرة في المواقع التالية:
- أوبونتو 20.04/البؤرة: focal-server-cloudimg-amd64-azure.vhd.tar.gz
- Ubuntu 22.04/جمي: jammy-server-cloudimg-amd64-azure.vhd.tar.gz
- أوبونتو 24.04 / نوبل: noble-server-cloudimg-amd64-azure.vhd.tar.gz
المتطلبات الأساسية
تفترض هذه المقالة أنك قمت بالفعل بتثبيت نظام تشغيل Ubuntu Linux (OS) على VHD. توجد أدوات متعددة لإنشاء ملفات .vhd. مثال على ذلك هو حل ظاهري مثل Hyper-V. للحصول على الإرشادات، راجع تثبيت دور Hyper-V وتكوين جهاز ظاهري (VM).
ملاحظات تثبيت Ubuntu
- لمزيد من النصائح حول إعداد Linux ل Azure، راجع ملاحظات تثبيت Linux العامة.
- تنسيق VHDX غير مدعوم في Azure، فقط VHD ثابت. يمكنك تحويل القرص إلى تنسيق VHD باستخدام Hyper-V Manager أو
Convert-VHDcmdlet. - عند تثبيت نظام Linux، نوصي باستخدام الأقسام القياسية بدلا من إدارة وحدة التخزين المنطقية (LVM)، والتي غالبا ما تكون الافتراضية للعديد من التثبيتات. تتجنب هذه الأقسام القياسية تعارض اسم LVM مع الأجهزة الظاهرية المستنسخة، خاصة إذا كان قرص نظام التشغيل بحاجة إلى إرفاقه بجهاز ظاهري آخر لاستكشاف الأخطاء وإصلاحها. يمكن أيضا استخدام LVM أو RAID على أقراص البيانات.
- لا تقم بتكوين قسم تبديل أو ملف تبديل على قرص نظام التشغيل. يمكنك تكوين
cloud-initعامل التوفير لإنشاء ملف تبديل أو قسم تبديل على قرص المورد المؤقت. لمزيد من المعلومات حول هذه العملية، راجع إنشاء قسم SWAP لجهاز افتراضي Azure Linux. - يجب أن يكون لجميع أقراص VHD على Azure حجم ظاهري محاذاته إلى 1 ميغابايت. عند التحويل من قرص خام إلى VHD، يجب التأكد من أن حجم القرص الخام هو مضاعف 1 ميغابايت قبل التحويل. لمزيد من المعلومات، راجع ملاحظات تثبيت Linux.
يمكنك رفع صورة أوبونتو جاهزة مباشرة إلى Azure واستخدام ملف VHD الناتج لإنشاء آلات افتراضية جديدة. إذا كانت هذه هي المرة الأولى التي ترفع فيها .vhd ملفا، راجع إنشاء جهاز افتراضي لينكس من قرص مخصص.
خطوات يدوية
إشعار
قبل محاولة إنشاء صورة Ubuntu المخصصة الخاصة بك ل Azure، ضع في اعتبارك استخدام الصور التي تم إنشاؤها مسبقا واختبارها من صفحة ويب Ubuntu Cloud Images بدلا من ذلك.
إذا كنت تستخدم ويندوز لاستخراج الصورة الجاهزة، يرجى استخدام Windows WSL وتشغيل الأمر التالي
sudo tar --sparse -xvzf <image name>-azure.vhd.tar.gz
في الجزء الأوسط من Hyper-V Manager، حدد الجهاز الظاهري.
حدد Connect لفتح نافذة الجهاز الظاهري.
استبدل المستودعات الحالية في الصورة لاستخدام مستودع Azure الخاص ب Ubuntu.
قبل أن تقوم بالتعديل
/etc/apt/sources.list/etc/apt/sources.list.d/ubuntu.sources، ننصحك بعمل نسخة احتياطية:بالنسبة لإصدار أوبونتو 22.04 وما قبله
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bakبالنسبة لأوبونتو 24.04 وما بعده
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bakبالنسبة لإصدار أوبونتو 22.04 وما قبله
sudo sed -i 's#http://archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo sed -i 's#http://[a-z][a-z]\.security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list sudo apt updateبالنسبة لأوبونتو 24.04 وما بعده
sudo sed -i 's#http://archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list.d/ubuntu.sources sudo sed -i 's#http://[a-z][a-z]\.archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list.d/ubuntu.sources sudo sed -i 's#http://security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list.d/ubuntu.sources sudo sed -i 's#http://[a-z][a-z]\.security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list.d/ubuntu.sources sudo apt updateصور Ubuntu Azure تستخدم Azure-Tailored Kernels Azure-tailored kernel. تحديث نظام التشغيل إلى أحدث نواة مخصصة من Azure وتثبيت أدوات Azure Linux (بما في ذلك تبعيات Hyper-V):
sudo apt update sudo apt install linux-azure linux-image-azure linux-headers-azure linux-tools-common linux-cloud-tools-common linux-tools-azure linux-cloud-tools-azure sudo apt full-upgrade sudo rebootتعديل خط تمهيد kernel ل GRUB لتضمين معلمات kernel إضافية ل Azure. للقيام بهذه الخطوة، افتح
/etc/default/grubفي محرر نص، وابحث عن المتغير المسمىGRUB_CMDLINE_LINUX_DEFAULT(أو أضفه إذا لزم الأمر)، وقم بتحريره لتضمين المعلمات التالية:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"احفظ هذا الملف واغلقه، ثم قم بالتشغيل
sudo update-grub. تضمن هذه الخطوة إرسال جميع رسائل وحدة التحكم إلى المنفذ التسلسلي الأول، والذي يمكن أن يساعد الدعم التقني ل Azure في تصحيح المشكلات.تأكد من تثبيت خادم SSH وتكوينه للبدء في وقت التمهيد. عادةً ما يكون هذا الإعداد هو الإعداد الافتراضي.
تثبيت
cloud-init(عامل التوفير) وعامل Azure Linux (معالج ملحقات الضيف).Cloud-initيستخدمnetplanلتكوين تكوين شبكة النظام (أثناء التوفير وكل تمهيد لاحق) وتقسيمgdiskأقراص الموارد.sudo apt update sudo apt install cloud-init gdisk netplan.io walinuxagent && systemctl stop walinuxagentإشعار
walinuxagentقد تقوم الحزمة بإزالةNetworkManagerالحزم وNetworkManager-gnome، إذا تم تثبيتها.قم بإزالة
cloud-initالتكوينات الافتراضية والعيوب المتبقيةnetplanالتي قد تتعارض معcloud-initالتوفير على Azure: For Ubuntu 22.04 وما أقدمهsudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg sudo rm -f /etc/cloud/ds-identify.cfg sudo rm -f /etc/netplan/*.yamlبالنسبة لأوبونتو 24.04 وما بعده
sudo rm -f /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg sudo rm -f /etc/cloud/ds-identify.cfg sudo rm -f /etc/netplan/*.yamlتكوين
cloud-initلتوفير النظام باستخدام مصدر بيانات Azure:sudo tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg <<EOF datasource_list: [ Azure ] EOF sudo tee /etc/cloud/cloud.cfg.d/90-azure.cfg <<EOF system_info: package_mirrors: - arches: [i386, amd64] failsafe: primary: http://archive.ubuntu.com/ubuntu security: http://security.ubuntu.com/ubuntu search: primary: - http://azure.archive.ubuntu.com/ubuntu/ security: [] - arches: [armhf, armel, default] failsafe: primary: http://ports.ubuntu.com/ubuntu-ports security: http://ports.ubuntu.com/ubuntu-ports EOF sudo tee /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg <<EOF reporting: logging: type: log telemetry: type: hyperv EOFتكوين عامل Azure Linux للاعتماد عليه
cloud-initلإجراء التوفير. لمزيد من المعلومات حول هذه الخيارات، انظر إلى مشروع WALinuxAgent.sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf sudo sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf sudo sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.confsudo tee -a /etc/waagent.conf <<EOF # For Azure Linux agent version >= 2.2.45, this is the option to configure, # enable, or disable the provisioning behavior of the Linux agent. # Accepted values are auto (default), waagent, cloud-init, or disabled. # A value of auto means that the agent will rely on cloud-init to handle # provisioning if it is installed and enabled, which in this case it will. Provisioning.Agent=auto EOFتنظيف
cloud-initوسجلات وقت تشغيل عامل Azure Linux:sudo cloud-init clean --logs --seed sudo rm -rf /var/lib/cloud/ sudo systemctl stop walinuxagent.service sudo rm -rf /var/lib/waagent/ sudo rm -f /var/log/waagent.logإلغاء توفير الجهاز الظاهري وإعداده للتزويد على Azure.
إشعار
يقوم
sudo waagent -force -deprovision+userالأمر بتعميم الصورة عن طريق محاولة تنظيف النظام وجعله مناسبا لإعادة التزويد. يحذف الخيار+userآخر حساب مستخدم تم تزويده والبيانات المرتبطة به.sudo waagent -force -deprovision+user sudo rm -f ~/.bash_historyتحذير
لا يضمن إلغاء التوفير باستخدام الأمر السابق مسح الصورة من جميع المعلومات الحساسة ومناسبة لإعادة التوزيع.
حدد Action>Shut down في Hyper-V Manager.
يقبل Azure فقط VHDs ذات الحجم الثابت. إذا لم يكن قرص نظام التشغيل الخاص بالجهاز الظاهري VHD ثابتا الحجم، فاستخدم
Convert-VHDPowerShell cmdlet وحدد-VHDType Fixedالخيار. لمزيد من المعلومات، انظر إلى مستنداتConvert-VHDفي Convert-VHD.لإحضار جهاز ظاهري من الجيل 2 على Azure، اتبع الخطوات التالية:
تغيير الدليل إلى
boot EFIالدليل:cd /boot/efi/EFIانسخ
ubuntuالدليل إلى دليل جديد يسمىboot:sudo cp -r ubuntu/ bootقم بتغيير الدليل إلى دليل التمهيد الذي تم إنشاؤه حديثا:
cd bootإعادة تسمية
shimx64.efiالملف:sudo mv shimx64.efi bootx64.efiإعادة تسمية
grub.cfgالملف إلىbootx64.cfg:sudo mv grub.cfg bootx64.cfg
المحتوى ذو الصلة
أنت الآن جاهز لاستخدام Ubuntu Linux VHD لإنشاء أجهزة ظاهرية جديدة في Azure. إذا كانت هذه هي المرة الأولى التي تقوم فيها بتحميل ملف .vhd إلى Azure، فراجع إنشاء جهاز ظاهري يعمل بنظام التشغيل Linux من قرص مخصص.