مقدمة حول FreeBSD على Azure

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

توفر هذه المقالة نظرة عامة على تشغيل جهاز ظاهري FreeBSD (VM) في Azure.

نظرة عامة

FreeBSD ل Azure هو نظام تشغيل كمبيوتر متقدم يستخدم لتشغيل الخوادم الحديثة وأسطح المكتب والأنظمة الأساسية المضمنة.

توفر Microsoft صور FreeBSD على Azure مع عامل ضيف Azure VM الذي تم تكوينه مسبقا. حالياً، يتم تقديم إصدارات FreeBSD التالية كصور بواسطة Microsoft:

  • FreeBSD 10.4 في Azure Marketplace
  • FreeBSD 11.2 في Azure Marketplace
  • FreeBSD 11.3 في Azure Marketplace
  • FreeBSD 12.0 في Azure Marketplace

تتضمن إصدارات FreeBSD التالية أيضا عامل Azure VM Guest. يتم تقديمها كصور من قبل مؤسسة FreeBSD:

  • FreeBSD 11.4 في Azure Marketplace
  • FreeBSD 12.2 في Azure Marketplace
  • FreeBSD 13.0 في Azure Marketplace

العامل مسؤول عن الاتصال بين الجهاز الظاهري FreeBSD ونسيج Azure لعمليات مثل توفير الجهاز الظاهري عند الاستخدام الأول (اسم المستخدم أو كلمة المرور أو مفتاح SSH واسم المضيف) وتمكين الوظائف لملحقات الأجهزة الظاهرية الانتقائية.

أما بالنسبة للإصدارات المستقبلية من FreeBSD، فإن الاستراتيجية هي البقاء على اطلاع وجعل أحدث الإصدارات متاحة بعد وقت قصير من نشرها من قبل فريق هندسة إصدار FreeBSD.

إنشاء جهاز ظاهري FreeBSD من خلال Azure CLI على FreeBSD

أولا، تحتاج إلى تثبيت Azure CLI من خلال الأمر التالي على جهاز FreeBSD:

curl -L https://aka.ms/InstallAzureCli | bash

إذا لم يتم تثبيت bash على جهاز FreeBSD، فقم بتشغيل الأمر التالي قبل التثبيت:

sudo pkg install bash

إذا لم يتم تثبيت Python على جهاز FreeBSD، فقم بتشغيل الأوامر التالية قبل التثبيت:

sudo pkg install python38
cd /usr/local/bin 
sudo rm /usr/local/bin/python 
sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python

أثناء التثبيت، يطلب Modify profile to update your $PATH and enable shell/tab completion now? (Y/n)منك . إذا أجبت y وأدخلت /etc/rc.conf ك a path to an rc file to update، فقد ترى ERROR: [Errno 13] Permission denied. لحل هذه المشكلة، يجب منح إذن الكتابة للمستخدم الحالي مقابل الملف etc/rc.conf.

يمكنك الآن تسجيل الدخول إلى Azure وإنشاء جهاز FreeBSD VM خاصتك. يوضح المثال التالي كيفية إنشاء جهاز ظاهري FreeBSD 11.0. يمكنك أيضا إضافة المعلمة --public-ip-address-dns-name باسم DNS فريد عالميا ل IP عام تم إنشاؤه حديثا.

az login 
az group create --name myResourceGroup --location eastus
az vm create --name myFreeBSD11 \
    --resource-group myResourceGroup \
    --image MicrosoftOSTC:FreeBSD:11.0:latest \
    --admin-username azureuser \
    --generate-ssh-keys

ثم يمكنك تسجيل الدخول إلى الجهاز الظاهري FreeBSD الخاص بك من خلال عنوان IP الذي طبع في إخراج النشر السابق.

ssh azureuser@xx.xx.xx.xx -i /etc/ssh/ssh_host_rsa_key

ملحقات VM لـ FreeBSD

يتم دعم ملحقات الجهاز الظاهري التالية في FreeBSD.

VMAccess

يمكن لملحق VMAccess:

  • إعادة تعيين كلمة مرور مستخدم sudo الأصلي.
  • إنشاء مستخدم sudo جديد مع تحديد كلمة المرور.
  • تعيين مفتاح المضيف العام باستخدام المفتاح المُحدد.
  • إعادة تعيين مفتاح المضيف العام المقدم أثناء توفير الجهاز الظاهري إذا لم يتم توفير مفتاح المضيف.
  • افتح منفذ SSH (22) واستعادة sshd_config إذا reset_ssh تم تعيين إلى true.
  • أزِل المستخدم الموجود.
  • التحقق من الأقراص.
  • إصلاح قرص مضاف.

CustomScript

يمكن لملحق CustomScript :

  • إذا تم توفيره، فبادر بتنزيل البرامج النصية المخصصة من Azure Storage أو وحدة التخزين العامة الخارجية (على سبيل المثال، GitHub).
  • تشغيل البرنامج النصي لنقطة الإدخال.
  • دعم الأوامر المُضمَّنة.
  • تحويل السطر الجديد على غرار Windows في البرامج النصية shell وPython تلقائياً.
  • إزالة قائمة المواد في البرامج النصية shell وPython تلقائياً.
  • حماية البيانات الحساسة في CommandToExecute.

إشعار

جهاز FreeBSD VM لا يدعم إلا CustomScript الإصدار 1.x حتى الآن.

المصادقة: أسماء المستخدمين وكلمات المرور ومفاتيح SSH

عند إنشاء جهاز ظاهري FreeBSD باستخدام مدخل Microsoft Azure، يجب توفير اسم مستخدم أو كلمة مرور أو مفتاح عام SSH.

يجب ألا تتطابق أسماء المستخدمين لنشر FreeBSD VM على Azure مع أسماء حسابات النظام (UID <100) الموجودة بالفعل في الجهاز الظاهري ("الجذر"، على سبيل المثال).

حالياً، يتم دعم مفتاح RSA SSH فقط. يجب أن يبدأ مفتاح SSH متعدد الأسطر بـ ---- BEGIN SSH2 PUBLIC KEY ---- وينتهي بـ ---- END SSH2 PUBLIC KEY ----.

الحصول على امتيازات المستخدم الفائق

حساب المستخدم المحدد أثناء نشر مثيل الجهاز الظاهري على Azure هو حساب متميز. تم تثبيت حزمة sudo في صورة FreeBSD المنشورة.

بعد تسجيل الدخول من خلال حساب المستخدم هذا، يمكنك تشغيل الأوامر كجذر باستخدام بناء جملة الأمر.

$ sudo <COMMAND>

يمكنك اختيارياً الحصول على shell الجذر باستخدام sudo -s.

المشكلات المعروفة

يحتوي الإصدار 2.2.2.2 من Azure VM Guest Agent على مشكلة معروفة تتسبب في فشل التزويد لـ FreeBSD VM على Azure. تم تسجيل الإصلاح بواسطة الإصدار 2.2.3 من Azure VM Guest Agent والإصدارات الأحدث.