إنشاء صورة قرص OpenBSD وتحميلها إلى Azure

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة

ستتعرف من خلال هذه المقالة على كيفية إنشاء قرص ثابت ظاهري (VHD) يحتوي على نظام التشغيل OpenBSD وتحميله. بعد تحميله، يمكنك استخدامه كصورة خاصة بك لإنشاء جهاز ظاهري (VM) في Azure من خلال Azure CLI.

المتطلبات الأساسية

تفترض هذه المقالة أن لديك العناصر التالية:

  • اشتراك Azure: إذا لم يكن لديك حساب، يمكنك إنشاء حساب في بضع دقائق. إذا كان لديك اشتراك MSDN، فراجع رصيد Azure الشهري لمشتركي Visual Studio. وإلا، تعرف على كيفية إنشاء حساب تجريبي مجاني.
  • Azure CLI: تأكد من تثبيت أحدث Azure CLI وتسجيل الدخول إلى حساب Azure الخاص بك باستخدام az login.
  • نظام التشغيل OpenBSD المثبت في ملف .vhd: يجب تثبيت نظام تشغيل OpenBSD المدعوم (الإصدار 6.6 AMD64) على VHD. توجد أدوات متعددة لإنشاء ملفات ‎.vhd. على سبيل المثال، يمكنك استخدام حل الظاهرية، مثل Hyper-V لإنشاء ملف ‎.vhd وتثبيت نظام التشغيل. للحصول على إرشادات حول كيفية تثبيت Hyper-V واستخدامه، راجع تثبيت Hyper-V وإنشاء جهاز ظاهري.

إعداد صورة OpenBSD ل Azure

على الجهاز الظاهري حيث قمت بتثبيت نظام التشغيل OpenBSD 6.1 الذي أضاف دعم Hyper-V، أكمل الإجراءات التالية:

  1. إذا لم يتم تمكين DHCP أثناء التثبيت، فمكن الخدمة:

    doas echo dhcp > /etc/hostname.hvn0
    
  2. إعداد وحدة تحكم تسلسلية:

    doas echo "stty com0 115200" >> /etc/boot.conf
    doas echo "set tty com0" >> /etc/boot.conf
    
  3. تكوين تثبيت الحزمة:

    doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
    
  4. بشكل افتراضي، root يتم تعطيل المستخدم على الأجهزة الظاهرية في Azure. يمكن للمستخدمين تشغيل الأوامر ذات الامتيازات المرتفعة باستخدام الأمر doas الموجود على جهاز OpenBSD الظاهري. يتم تمكين Doas بشكل افتراضي.

  5. تثبيت المتطلبات الأساسية لعامل Azure وتكوينها:

    doas pkg_add py-setuptools openssl git
    doas ln -sf /usr/local/bin/python2.7 /usr/local/bin/python
    doas ln -sf /usr/local/bin/python2.7-2to3 /usr/local/bin/2to3
    doas ln -sf /usr/local/bin/python2.7-config /usr/local/bin/python-config
    doas ln -sf /usr/local/bin/pydoc2.7  /usr/local/bin/pydoc
    
  6. يمكنك العثور على أحدث إصدار من عامل Azure على GitHub. تثبيت العامل:

    doas git clone https://github.com/Azure/WALinuxAgent
    doas cd WALinuxAgent
    doas python setup.py install
    doas waagent -register-service
    

    هام

    بعد تثبيت عامل Azure، من الجيد التحقق من أنه قيد التشغيل:

    doas ps auxw | grep waagent
    root     79309  0.0  1.5  9184 15356 p1  S      4:11PM    0:00.46 python /usr/local/sbin/waagent -daemon (python2.7)
    doas cat /var/log/waagent.log
    
  7. إلغاء توفير النظام لتنظيفه وجعله مناسبا لإلغاء التوفير. يحذف الأمر التالي أيضًا آخر حساب مستخدم تم توفيره والبيانات المقترنة:

    doas waagent -deprovision+user -force
    

إشعار

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

والآن، يمكنك إيقاف تشغيل الجهاز الظاهري.

تحضير VHD

تنسيق VHDX غير مدعوم في Azure، فقط VHD ثابت. يمكنك تحويل القرص إلى تنسيق VHD ثابت باستخدام Hyper-V Manager أو PowerShell convert-vhd cmdlet. إليك مثال:

Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed

إنشاء موارد التخزين وتحميلها

أنشئ أولاً مجموعة موارد باستخدام az group create. ينشئ المثال التالي مجموعة موارد باسم myResourceGroup في الموقع eastus:

az group create --name myResourceGroup --location eastus

لتحميل VHD، أنشئ حساب تخزين باستخدام az storage create. يجب أن تكون أسماء حسابات التخزين فريدة، لذا أدخل اسمك الخاص. ينشئ المثال التالي حساب تخزين باسم mystorageaccount:

az storage account create --resource-group myResourceGroup \
    --name mystorageaccount \
    --location eastus \
    --sku Premium_LRS

للتحكم في الوصول إلى حساب التخزين، احصل على مفتاح التخزين باستخدام قائمة مفاتيح حساب التخزين az:

STORAGE_KEY=$(az storage account keys list \
    --resource-group myResourceGroup \
    --account-name mystorageaccount \
    --query "[?keyName=='key1']  | [0].value" -o tsv)

لفصل أجهزة VHD التي تقوم بتحميلها منطقيًا، أنشئ حاوية داخل حساب التخزين باستخدام az storage container create:

az storage container create \
    --name vhds \
    --account-name mystorageaccount \
    --account-key ${STORAGE_KEY}

وأخيرا، قم بتحميل VHD الخاص بك مع az storage blob upload:

az storage blob upload \
    --container-name vhds \
    --file ./OpenBSD61.vhd \
    --name OpenBSD61.vhd \
    --account-name mystorageaccount \
    --account-key ${STORAGE_KEY}

إنشاء جهاز ظاهري من VHD الخاص بك

يمكنك إنشاء جهاز ظاهري باستخدام نموذج برنامج نصي أو مباشرة باستخدام az vm create. لتحديد OpenBSD VHD الذي قمت بتحميله، استخدم المعلمة --image :

az vm create \
    --resource-group myResourceGroup \
    --name myOpenBSD61 \
    --image "https://mystorageaccount.blob.core.windows.net/vhds/OpenBSD61.vhd" \
    --os-type linux \
    --admin-username azureuser \
    --ssh-key-value ~/.ssh/id_rsa.pub

احصل على عنوان IP لجهاز OpenBSD الظاهري الخاص بك باستخدام az vm list-ip-addresses:

az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61

والآن، يمكنك SSH إلى جهاز OpenBSD الظاهري كالمعتاد:

ssh azureuser@<ip address>
  • لمعرفة المزيد حول دعم Hyper-V على OpenBSD 6.1، اقرأ OpenBSD 6.1.
  • لإنشاء جهاز ظاهري من قرص مدار، اقرأ az disk.