البرنامج التعليمي: إنشاء وإدارة أجهزة افتراضية لينكس مع Azure CLI
ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة
توفر أجهزة Azure الظاهرية بيئة حوسبة مرنة وقابلة للتكوين بالكامل. يغطي هذا البرنامج التعليمي عناصر نشر جهاز Azure الظاهري الأساسية، مثل تحديد حجم الجهاز الظاهري وتحديد صورة الجهاز الظاهري ونشر الجهاز الظاهري. ستتعلم كيفية:
- إنشاء جهاز ظاهري وتوصيله
- تحديد واستخدام صور الجهاز الظاهري
- عرض واستخدام أحجام محددة للجهاز الظاهري
- تحجيم جهاز ظاهري
- عرض وفهم حالة الجهاز الظاهري
يستخدم هذا البرنامج التعليمي CLI داخل Azure Cloud Shell، الذي يتم تحديثه باستمرار إلى أحدث إصدار.
إذا اخترت تثبيت CLI واستخدامه محليًّا، فإن هذا البرنامج التعليمي يتطلب تشغيل الإصدار 2.0.30 من Azure CLI أو إصدار لاحق. قم بتشغيل az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
إنشاء مجموعة الموارد
أنشئ مجموعة موارد باستخدام الأمر az group create.
مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها. يجب إنشاء مجموعة موارد قبل جهاز ظاهري. في هذا المثال، يتم إنشاء مجموعة موارد باسم myResourceGroupVM في منطقة eastus2.
az group create --name myResourceGroupVM --location eastus2
عند إنشاء أو تعديل الجهاز الظاهري، يتم تحديد مجموعة الموارد، والتي يمكن رؤيتها في جميع أنحاء هذا البرنامج التعليمي.
إنشاء جهاز ظاهري
أنشئ جهازًا ظاهريًا باستخدام الأمر az vm create.
عند إنشاء جهاز ظاهري، تتوفر العديد من الخيارات، مثل صورة نظام التشغيل، وحجم القرص، وبيانات الاعتماد الإدارية. ينشئ المثال التالي جهازا ظاهريا يسمى myVM يقوم بتشغيل SUSE Linux Enterprise Server (SLES). يتم إنشاء حساب مستخدم اسمه azureuser على الجهاز الظاهري، ويتم إنشاء مفاتيح SSH إذا لم تكن موجودة في موقع المفتاح الافتراضي (~/.ssh):
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image SuseSles15SP3 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
قد يستغرق إنشاء جهاز ظاهري بضع دقائق. بمجرد إنشاء جهاز ظاهري، يقوم Azure CLI بإخراج معلومات حول الجهاز الظاهري. publicIpAddress
لاحظ ، يمكن استخدام هذا العنوان للوصول إلى الجهاز الظاهري.
{
"fqdns": "",
"id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVM"
}
الاتصال بالجهاز الظاهري
يمكنك الآن الاتصال بالجهاز الظاهري باستخدام SSH في Azure Cloud Shell أو من الكمبيوتر المحلي. استبدال عنوان IP المثال بـ publicIpAddress
المشار إليه في الخطوة السابقة.
ssh azureuser@52.174.34.95
بمجرد تسجيل الدخول إلى الجهاز الظاهري، يمكنك تثبيت التطبيقات وتكوينها. عند الانتهاء، يمكنك إغلاق جلسة عمل SSH كالمعتاد:
exit
فهم صور الجهاز الظاهري
يتضمن Azure Marketplace العديد من الصور التي يمكن استخدامها لإنشاء أجهزة ظاهرية. في الخطوات السابقة، تم إنشاء جهاز ظاهري باستخدام صورة Ubuntu. في هذه الخطوة، يتم استخدام Azure CLI للبحث في السوق عن صورة Ubuntu، والتي يتم استخدامها بعد ذلك لنشر جهاز ظاهري ثان.
لمشاهدة قائمة بالصور الأكثر استخدامًا، استخدم الأمر az vm image list.
az vm image list --output table
يقوم إخراج الأمر بإرجاع صور الجهاز الظاهري الأكثر رواجًا على Azure.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
يمكن الاطلاع على قائمة كاملة عن طريق إضافة المعلمة --all
. كما يمكن تصفية قائمة الصور بواسطة --publisher
أو –-offer
. في هذا المثال، تتم تصفية القائمة لجميع الصور، المنشورة بواسطة OpenLogic، مع عرض يطابق 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
مثال على الإخراج الجزئي:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
إشعار
قام Canonical بتغيير أسماء العروض التي يستخدمونها لأحدث الإصدارات. قبل Ubuntu 20.04، اسم العرض هو UbuntuServer. بالنسبة إلى Ubuntu 20.04 ، يكون اسم العرض و 0001-com-ubuntu-server-focal
ل Ubuntu 22.04 هو 0001-com-ubuntu-server-jammy
.
لنشر جهاز ظاهري باستخدام صورة معينة، لاحظ القيمة في العمود Urn، الذي يتكون من الناشر والعرض ووحدة إدارة المخزون ورقم الإصدار اختياريًّا لـ تحديد الصورة. عند تحديد الصورة، يُمكن استبدال رقم إصدار الصورة بـ latest
، والذي يُحدد أحدث إصدار من التوزيع. في هذا المثال، يتم استخدام المعلمة --image
لتحديد أحدث إصدار من Ubuntu 22.04.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys
فهم أحجام الجهاز الظاهري
يحدد حجم الجهاز الظاهري مقدار موارد الحوسبة، مثل وحدة المعالجة المركزية، ووحدة معالجة الرسومات، والذاكرة المتوفرة للجهاز الظاهري. يحتاج الجهاز الظاهري إلى تحجيمه بالحجم المناسب لحمل العمل المتوقع. إذا زاد حمل العمل، يمكن أن يتم إعادة حجم جهاز ظاهري موجود.
أحجام الجهاز الظاهري
يصنف الجدول التالي الأحجام إلى حالات استخدام.
النوع | الوصف |
---|---|
الغرض العام | متوازن من وحدة المعالجة المركزية إلى الذاكرة. مثالي للتطوير/ الاختبار والتطبيقات الصغيرة إلى المتوسطة وحلول البيانات. |
الحوسبة المحسنة | عالي من وحدة المعالجة المركزية إلى الذاكرة. جيد لتطبيقات النقل المتوسطة وأجهزة الشبكة وعمليات الدُّفعة. |
الذاكرة المحسنة | عالي الذاكرة إلى النواة. يكون ممتازًا لقواعد البيانات العلائقية، وذاكرة التخزين المؤقت المتوسطة إلى الكبيرة، والتحليلات داخل الذاكرة. |
التخزين المحسن | ارتفاع معدل نقل القرص والإخراج والإدخال. مثالي لقواعد البيانات الضخمة وSQL وNoSQL. |
الجرافيك | تستهدف الأجهزة الظاهرية المتخصصة عرض الرسومات الثقيلة وتحرير الفيديو. |
أداء عال | أقوى جهاز افتراضي لوحدة المعالجة المركزية لدينا مع واجهات شبكة اختيارية عالية معدل النقل (RDMA). |
البحث عن أحجام الجهاز الظاهري المتوفرة
لمشاهدة قائمة أحجام الجهاز الظاهري المتوفرة في منطقة معينة، استخدم الأمر az vm list-sizes.
az vm list-sizes --location eastus2 --output table
مثال على الإخراج الجزئي:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
إنشاء جهاز ظاهري بحجم معين
في المثال السابق على إنشاء جهاز ظاهري، لم يتم توفير حجم، مما يؤدي إلى حجم افتراضي. يمكن تحديد حجم الجهاز الظاهري عند الإنشاء باستخدام az vm create والمعلمة --size
.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image SuseSles15SP3 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
تحجيم جهاز ظاهري
بعد نشر الجهاز الظاهري، يمكن تغيير حجمه لزيادة تخصيص الموارد أو تقليله. يمكنك عرض الحالي لحجم الجهاز الظاهري باستخدام az vm show:
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
قبل تغيير حجم الجهاز الظاهري، تحقق مما إذا كان الحجم المطلوب متوفرًا على مجموعة Azure الحالية. يقوم الأمر az vm list-vm-resize-options بإرجاع قائمة الأحجام.
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
إذا كان الحجم المطلوب متوفرًا، يمكن تغيير حجم الجهاز الظاهري من حالة التشغيل، ولكن يتم إعادة تشغيله أثناء العملية. استخدم الأمر az vm resize لتنفيذ تغيير الحجم.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3
إذا لم يكن الحجم المطلوب على المجموعة الحالية، يحتاج الجهاز الظاهري إلى أن يتم إلغاء تخصيصه قبل أن تحدث عملية تغيير الحجم. استخدم الأمر az vm deallocate لإيقاف الجهاز الظاهري وإلغاء تخصيصه. لاحظ أنه عند تشغيل الجهاز الظاهري مرة أخرى، قد تتم إزالة أية بيانات على القرص المؤقت. كما يتغير عنوان IP العام ما لم يتم استخدام عنوان IP ثابت.
az vm deallocate --resource-group myResourceGroupVM --name myVM
بمجرد إلغاء تخصيصه، قد يحدث تغيير بالحجم.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1
بعد تغيير الحجم، يمكن بدء تشغيل الجهاز الظاهري.
az vm start --resource-group myResourceGroupVM --name myVM
حالات الطاقة للجهاز الظاهري
يمكن أن يكون لدى جهاز Azure الظاهري واحدة من العديد من حالات الطاقة. هذه الحالة تمثل الحالة الحالية للجهاز الظاهري من وجهة نظر Hypervisor.
حالات الطاقة
دولة السلطة | الوصف |
---|---|
البدء | تشير إلى أن الجهاز الظاهري يتم بدؤه. |
قيد التشغيل | تشير إلى أن الجهاز الظاهري قيد التشغيل. |
إيقاف | يشير إلى أن الجهاز الظاهري يتم إيقافه. |
متوقفة | يشير إلى أن الجهاز الظاهري قد تم إيقافه. لا تزال الأجهزة الظاهرية في الحالة المتوقفة تتحمل رسوم الحساب. |
توزيع الصفقات | يشير إلى أن الجهاز الظاهري يتم إلغاء تخصيصه. |
تم إلغاء التخصيص | يشير إلى أن الجهاز الظاهري قد تمت إزالته من Hypervisor، ولكن لا يزال متوفرًا في وحدة التحكم. في حالة إلغاء التخصيص، لا تتحمل الأجهزة الظاهرية رسوم الحساب. |
- | يشير إلى أن حالة الطاقة للجهاز الظاهري غير معروفة. |
العثور على حالة الطاقة
لاسترداد حالة جهاز ظاهري معين، استخدم الأمر az vm get-instance-view. تأكد من تحديد اسم صالح لجهاز ظاهري ومجموعة الموارد.
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
إخراج:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
لاسترداد حالة الطاقة لجميع الأجهزة الظاهرية في اشتراكك، استخدم الأجهزة الظاهرية - قائمة جميع واجهات برمجة التطبيقات مع تعيين المعلمة statusOnly إلى صحيح.
مهام الإدارة
أثناء دورة حياة الجهاز الظاهري، قد ترغب في تشغيل مهام إدارية، مثل بدء تشغيل أو إيقاف أو حذف جهاز ظاهري. بالإضافة إلى هذا، قد ترغب في إنشاء برامج نصية لأتمتة مهام متكررة ومعقدة. باستخدام واجهة سطر الأوامر في Azure، يمكن تشغيل مهام إدارة شائعة متعددة من سطر الأوامر أو في البرامج النصية.
الحصول على عنوان IP
يعمل هذا الأمر على عرض عناوين IP الخاصة والعامة لجهاز ظاهري.
az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table
إيقاف تشغيل جهاز ظاهري
az vm stop --resource-group myResourceGroupVM --name myVM
بدء تشغيل جهاز ظاهري
az vm start --resource-group myResourceGroupVM --name myVM
حذف موارد الأجهزة الظاهرية
استناداً إلى كيفية حذف جهاز ظاهري، قد يقوم فقط بحذف مورد الجهاز الظاهري، وليس موارد الشبكة والقرص. يمكنك تغيير السلوك الافتراضي لحذف موارد أخرى عند حذف الجهاز الظاهري. لمزيد من المعلومات، راجع حذف جهاز ظاهري والموارد المرفقة.
يؤدي حذف مجموعة موارد أيضا إلى حذف كافة الموارد في مجموعة الموارد، مثل الجهاز الظاهري والشبكة الظاهرية والقرص. تُعيد المعلمة --no-wait
التحكم إلى الموجه دون انتظار إكمال العملية. المعلمة --yes
تؤكد رغبتك في حذف الموارد دون مطالبة إضافية للقيام بذلك.
az group delete --name myResourceGroupVM --no-wait --yes
الخطوات التالية
في هذا البرنامج التعليمي، تعلمت إنشاء جهاز ظاهري أساسي وإدارته مثل كيفية:
- إنشاء جهاز ظاهري وتوصيله
- تحديد واستخدام صور الجهاز الظاهري
- عرض واستخدام أحجام محددة للجهاز الظاهري
- تحجيم جهاز ظاهري
- عرض وفهم حالة الجهاز الظاهري
تقدم إلى البرنامج التعليمي التالي لمعرفة المزيد عن أقراص الجهاز الظاهري.