نشر الأجهزة الظاهرية على جهاز Azure Stack Edge عبر Azure PowerShell

ينطبق على:Yes for Pro GPU SKU Azure Stack Edge Pro - GPUAzureYes for Pro 2 SKU Stack Edge Pro 2AzureYes for Pro R SKU Stack Edge Pro RAzureYes for Mini R SKU Stack Edge Mini R

توضح هذه المقالة كيفية إنشاء جهاز ظاهري (VM) وإدارته على جهاز Azure Stack Edge باستخدام Azure PowerShell.

سير عمل نشر الجهاز الظاهري

سير عمل النشر رفيع المستوى لنشر الجهاز الظاهري هو كما يلي:

  1. الاتصال إلى Resource Manager Azure المحلي لجهازك.
  2. حدد الاشتراك المضمن على الجهاز.
  3. أحضر صورة الجهاز الظاهري الخاص بك.
  4. إنشاء مجموعة موارد في الاشتراك المضمن. ستحتوي مجموعة الموارد على الجهاز الظاهري وجميع الموارد ذات الصلة.
  5. قم بإنشاء حساب تخزين محلي على الجهاز لتخزين VHD الذي سيتم استخدامه لإنشاء صورة VM.
  6. Upload صورة مصدر Windows/Linux في حساب التخزين لإنشاء قرص مدار.
  7. استخدم القرص المدار لإنشاء صورة جهاز ظاهري.
  8. تمكين الحوسبة على منفذ جهاز لإنشاء محول افتراضي.
  9. يؤدي ذلك إلى إنشاء شبكة ظاهرية باستخدام المبدل الظاهري المرفق بالمنفذ الذي قمت بتمكين الحوسبة عليه.
  10. قم بإنشاء جهاز ظاهري باستخدام صورة الجهاز الظاهري التي تم إنشاؤها مسبقا والشبكة الظاهرية وواجهة (واجهات) الشبكة الظاهرية للاتصال داخل الشبكة الظاهرية وتعيين عنوان IP عام للوصول إلى الجهاز الظاهري عن بعد. يمكنك اختياريا تضمين أقراص البيانات لتوفير مساحة تخزين أكبر للجهاز الظاهري.

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

قبل أن تتمكن من نشر الأجهزة الظاهرية على جهاز Azure Stack Edge، يجب عليك تكوين العميل للاتصال بالجهاز عبر Azure Resource Manager عبر Azure PowerShell. للحصول على إرشادات مفصلة، راجع الاتصال إلى Azure Resource Manager على جهاز Azure Stack Edge.

تأكد من أنه يمكنك استخدام الخطوات التالية للوصول إلى الجهاز من عميلك. لقد قمت بالفعل بإجراء هذا التكوين عند الاتصال ب Azure Resource Manager، والآن تقوم بالتحقق من نجاح التكوين.

  1. تحقق من أن اتصال Azure Resource Manager يعمل عن طريق تشغيل الأمر التالي:

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. للاتصال بواجهات برمجة تطبيقات الأجهزة المحلية للمصادقة، أدخل:

    login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d
    

    للاتصال عبر Azure Resource Manager، أدخل اسم المستخدم EdgeArmUser وكلمة المرور الخاصة بك.

  3. إذا قمت بتكوين حساب ل Kubernetes، يمكنك تخطي هذه الخطوة. وإلا، تأكد من تمكين واجهة شبكة للحوسبة عن طريق القيام بما يلي:

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

    Screenshot of the Compute configuration network settings pane.

    ج. ضمن تمكين للحساب على واجهة الشبكة، حدد نعم. سيقوم Azure Stack Edge بإنشاء وإدارة محول ظاهري يتوافق مع واجهة الشبكة هذه. لا تقم بإدخال عناوين IP محددة ل Kubernetes في الوقت الحالي. قد يستغرق الأمر عدة دقائق لتمكين الحوسبة.

    ملاحظة

    إذا كنت تقوم بإنشاء أجهزة ظاهرية لوحدة معالجة الرسومات، فحدد واجهة شبكة متصلة بالإنترنت. يتيح لك القيام بذلك تثبيت ملحق GPU على جهازك.

الاستعلام عن اشتراك مضمن على الجهاز

بالنسبة إلى Azure Resource Manager، يتم دعم اشتراك ثابت واحد فقط مرئي للمستخدم. هذا الاشتراك فريد لكل جهاز، ولا يمكن تغيير اسم الاشتراك ومعرف الاشتراك.

يحتوي الاشتراك على كافة الموارد المطلوبة لإنشاء الأجهزة الظاهرية.

هام

يتم إنشاء الاشتراك عند تمكين الأجهزة الظاهرية من مدخل Azure، ويعيش محليا على جهازك.

يتم استخدام الاشتراك لنشر الأجهزة الظاهرية.

  1. لإدراج الاشتراك، قم بتشغيل الأمر التالي:

    Get-AzSubscription
    

    فيما يلي بعض الأمثلة على الإخراج:

    PS C:\WINDOWS\system32> Get-AzSubscription
    
    Name                          Id                                   TenantId
    ----                          --                                   --------
    Default Provider Subscription ...                                  ...
    
    
    PS C:\WINDOWS\system32>
    
  2. احصل على قائمة بموفري الموارد المسجلين الذين يعملون على الجهاز. تتضمن القائمة عادة الحوسبة والشبكة والتخزين.

    Get-AzResourceProvider
    

    ملاحظة

    يتم تسجيل موفري الموارد مسبقا، ولا يمكن تعديلهم أو تغييرهم.

    فيما يلي بعض الأمثلة على الإخراج:

    PS C:\WINDOWS\system32>  Get-AzResourceProvider
    
    ProviderNamespace : Microsoft.AzureBridge
    RegistrationState : Registered
    ResourceTypes     : {locations, operations, locations/ingestionJobs}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Compute
    RegistrationState : Registered
    ResourceTypes     : {virtualMachines, virtualMachines/extensions, locations, operations...}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Network
    RegistrationState : Registered
    ResourceTypes     : {operations, locations, locations/operations, locations/usages...}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Resources
    RegistrationState : Registered
    ResourceTypes     : {tenants, locations, providers, checkresourcename...}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Storage
    RegistrationState : Registered
    ResourceTypes     : {storageaccounts, storageAccounts/blobServices, storageAccounts/tableServices,
                        storageAccounts/queueServices...}
    Locations         : {DBELocal}
    
    PS C:\WINDOWS\system32>
    

قم بإنشاء مجموعة موارد

ابدأ بإنشاء مجموعة موارد Azure جديدة واستخدمها كحاوية منطقية لجميع الموارد المتعلقة بالجهاز الظاهري، مثل حساب التخزين والقرص وواجهة الشبكة والقرص المدار.

هام

يتم إنشاء جميع الموارد في نفس موقع الجهاز ، ويتم تعيين الموقع إلى DBELocal.

  1. تعيين بعض المعلمات.

    $ResourceGroupName = "<Resource group name>" 
    
  2. قم بإنشاء مجموعة موارد للموارد التي ستقوم بإنشائها للجهاز الظاهري.

    New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
    

    فيما يلي بعض الأمثلة على الإخراج:

    PS C:\WINDOWS\system32> New-AzResourceGroup -Name myaseazrg -Location DBELocal
    
    ResourceGroupName : myaseazrg
    Location          : dbelocal
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/.../resourceGroups/myaseazrg
    
    PS C:\WINDOWS\system32>
    

إنشاء حساب تخزين محلي

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

قبل إنشاء حساب تخزين محلي، يجب تكوين العميل للاتصال بالجهاز عبر Azure Resource Manager عبر Azure PowerShell. للحصول على إرشادات مفصلة، راجع الاتصال إلى Azure Resource Manager على جهاز Azure Stack Edge.

  1. تعيين بعض المعلمات.

    $StorageAccountName = "<Storage account name>"    
    
  2. أنشئ حساب تخزين محلي جديد على جهازك.

    New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -Location DBELocal -SkuName Standard_LRS
    

    ملاحظة

    باستخدام Azure Resource Manager، يمكنك إنشاء حسابات تخزين محلية فقط، مثل التخزين المتكرر محليا (قياسي أو متميز). لإنشاء حسابات تخزين متدرجة، راجع البرنامج التعليمي: نقل البيانات عبر حسابات التخزين باستخدام Azure Stack Edge Pro باستخدام وحدة معالجة الرسومات.

    فيما يلي مثال على ذلك:

    PS C:\WINDOWS\system32> New-AzStorageAccount -Name myaseazsa -ResourceGroupName myaseazrg -Location DBELocal -SkuName Standard_LRS
    
    StorageAccountName ResourceGroupName PrimaryLocation SkuName      Kind    AccessTier CreationTime
    ------------------ ----------------- --------------- -------      ----    ---------- ------------
    myaseazsa          myaseazrg         DBELocal        Standard_LRS Storage            6/10/2021 11:45...
    
    PS C:\WINDOWS\system32>
    

للحصول على مفاتيح الوصول لحساب تخزين محلي موجود قمت بإنشائه، قم بتوفير اسم مجموعة الموارد المقترنة واسم حساب التخزين المحلي.

Get-AzStorageAccountKey

فيما يلي مثال على ذلك:

PS C:\WINDOWS\system32> Get-AzStorageAccountKey
    
cmdlet Get-AzStorageAccountKey at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
ResourceGroupName: myaseazrg
Name: myaseazsa
    
KeyName    Value                                                                                       Permissions
-------    -----                                                                                       ------
key1       gv3OF57tuPDyzBNc1M7fhil2UAiiwnhTT6zgiwE3TlF/CD217Cvw2YCPcrKF47joNKRvzp44leUe5HtVkGx8RQ==    Full
key2       kmEynIs3xnpmSxWbU41h5a7DZD7v4gGV3yXa2NbPbmhrPt10+QmE5PkOxxypeSqbqzd9si+ArNvbsqIRuLH2Lw==    Full
    
PS C:\WINDOWS\system32>

إضافة URI blob إلى الملف المضيف

لقد قمت بالفعل بإضافة عنوان URI الكتلي في ملف المضيفين للعميل الذي تستخدمه للاتصال ب Azure Blob Storage في تعديل ملف المضيف لدقة اسم نقطة النهايةللاتصال ب Azure Resource Manager على جهاز Azure Stack Edge الخاص بك. تم استخدام هذا الإدخال لإضافة URI blob:

<Device IP address> <storage name>.blob.<appliance name>.<dnsdomain>

تثبيت الشهادات

إذا كنت تستخدم HTTPS، فستحتاج إلى تثبيت الشهادات المناسبة على جهازك. هنا، يمكنك تثبيت شهادة نقطة نهاية blob. لمزيد من المعلومات، راجع استخدام الشهادات مع Azure Stack Edge Pro مع جهاز GPU.

Upload VHD

انسخ أي صور قرص لاستخدامها في نقاط الصفحات في حساب التخزين المحلي الذي قمت بإنشائه مسبقا. يمكنك استخدام أداة مثل AzCopy لتحميل القرص الثابت الظاهري (VHD) إلى حساب التخزين.

استخدم الأوامر التالية مع AzCopy 10:

  1. قم بتعيين بعض المعلمات بما في ذلك الإصدار المناسب من واجهات برمجة التطبيقات ل AzCopy. في هذا المثال، تم استخدام AzCopy 10.

    $Env:AZCOPY_DEFAULT_SERVICE_API_VERSION="2019-07-07"    
    $ContainerName = <Container name>
    $ResourceGroupName = <Resource group name>
    $StorageAccountName = <Storage account name>
    $VHDPath = "Full VHD Path"
    $VHDFile = <VHD file name>
    
  2. انسخ VHD من المصدر (في هذه الحالة ، النظام المحلي) إلى حساب التخزين الذي أنشأته على جهازك في الخطوة السابقة.

    $StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value    
    $endPoint = (Get-AzStorageAccount -name $StorageAccountName -ResourceGroupName $ResourceGroupName).PrimaryEndpoints.Blob    
    $StorageAccountContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Endpoint $endpoint    
    $StorageAccountSAS = New-AzStorageAccountSASToken -Service Blob -ResourceType Container,Service,Object -Permission "acdlrw" -Context $StorageAccountContext -Protocol HttpsOnly        
    <Path to azcopy.exe> cp "$VHDPath\$VHDFile" "$endPoint$ContainerName$StorageAccountSAS"    
    

    فيما يلي مثال على ذلك:

    PS C:\windows\system32> $ContainerName = "testcontainer1"
    PS C:\windows\system32> $ResourceGroupName = "myaseazrg"
    PS C:\windows\system32> $StorageAccountName = "myaseazsa"
    PS C:\windows\system32> $VHDPath = "C:\Users\alkohli\Downloads\Ubuntu1604"           
    PS C:\windows\system32> $VHDFile = "ubuntu13.vhd"
    
    PS C:\windows\system32> $StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value
    PS C:\windows\system32> $endPoint = (Get-AzStorageAccount -name $StorageAccountName -ResourceGroupName $ResourceGroupName).PrimaryEndpoints.Blob
    PS C:\windows\system32> $StorageAccountContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Endpoint $endpoint
    PS C:\windows\system32> $StorageAccountSAS = New-AzStorageAccountSASToken -Service Blob -ResourceType Container,Service,Object -Permission "acdlrw" -Context $StorageAccountContext -Protocol HttpsOnly
    
    PS C:\windows\system32> C:\azcopy\azcopy_windows_amd64_10.10.0\azcopy.exe cp "$VHDPath\$VHDFile" "$endPoint$ContainerName$StorageAccountSAS"
    INFO: Scanning...
    INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
    
    Job 72a5e3dd-9210-3e43-6691-6bebd4875760 has started
    Log file is located at: C:\Users\alkohli\.azcopy\72a5e3dd-9210-3e43-6691-6bebd4875760.log
    
    INFO: azcopy.exe: A newer version 10.11.0 is available to download
    

إنشاء قرص مدار من VHD

ستقوم الآن بإنشاء قرص مدار من VHD الذي تم تحميله.

  1. تعيين بعض المعلمات.

    $DiskName = "<Managed disk name>"
    
  2. إنشاء قرص مدار من VHD الذي تم تحميله. للحصول على عنوان URL المصدر لدقة VHD، انتقل إلى الحاوية الموجودة في حساب التخزين الذي يحتوي على VHD في "مستكشف التخزين". حدد VHD، ثم انقر بزر الماوس الأيمن فوق خصائص، ثم حدد خصائص. في مربع الحوار خصائص Blob، حدد عنوان URI.

    $StorageAccountId = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id    
    $DiskConfig = New-AzDiskConfig -Location DBELocal -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "Source URL for your VHD"
    New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $DiskConfig
    

    فيما يلي مثال على الإخراج:.

    PS C:\WINDOWS\system32> $DiskName = "myazmd"
    PS C:\WINDOWS\system32> $StorageAccountId = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id
    PS C:\WINDOWS\system32> $DiskConfig = New-AzDiskConfig -Location DBELocal -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "https://myaseazsa.blob.myasegpu.wdshcsso.com/testcontainer1/ubuntu13.vhd"
    PS C:\WINDOWS\system32> New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $DiskConfig
    
    ResourceGroupName            : myaseazrg
    ManagedBy                    :
    Sku                          : Microsoft.Azure.Management.Compute.Models.DiskSku
    Zones                        :
    TimeCreated                  : 6/24/2021 12:19:56 PM
    OsType                       :
    HyperVGeneration             :
    CreationData                 : Microsoft.Azure.Management.Compute.Models.CreationDat
                                   a
    DiskSizeGB                   : 30
    DiskSizeBytes                : 32212254720
    UniqueId                     : 53743801-cbf2-4d2f-acb4-971d037a9395
    EncryptionSettingsCollection :
    ProvisioningState            : Succeeded
    DiskIOPSReadWrite            : 500
    DiskMBpsReadWrite            : 60
    DiskState                    : Unattached
    Encryption                   : Microsoft.Azure.Management.Compute.Models.Encryption
    Id                           : /subscriptions/.../r
                                   esourceGroups/myaseazrg/providers/Microsoft.Compute/d
                                   isks/myazmd
    Name                         : myazmd
    Type                         : Microsoft.Compute/disks
    Location                     : DBELocal
    Tags                         : {}
    
    PS C:\WINDOWS\system32>
    

إنشاء صورة جهاز ظاهري من القرص المدار

ستقوم الآن بإنشاء صورة VM من القرص المدار.

  1. تعيين بعض المعلمات.

    $DiskSize = "<Size greater than or equal to size of source managed disk>"
    $OsType = "<linux or windows>" 
    $ImageName = "<Image name>"
    
  2. إنشاء صورة VM. أنواع أنظمة التشغيل المدعومة هي Linux و Windows.

    $imageConfig = New-AzImageConfig -Location DBELocal
    $ManagedDiskId = (Get-AzDisk -Name $DiskName -ResourceGroupName $ResourceGroupName).Id
    Set-AzImageOsDisk -Image $imageConfig -OsType $OsType -OsState 'Generalized' -DiskSizeGB $DiskSize -ManagedDiskId $ManagedDiskId 
    New-AzImage -Image $imageConfig -ImageName $ImageName -ResourceGroupName $ResourceGroupName  
    

    فيما يلي مثال على الإخراج.

    PS C:\WINDOWS\system32> $OsType = "linux"
    PS C:\WINDOWS\system32> $ImageName = "myaseazlinuxvmimage"
    PS C:\WINDOWS\system32> $DiskSize = 35
    PS C:\WINDOWS\system32> $imageConfig = New-AzImageConfig -Location DBELocal
    PS C:\WINDOWS\system32> $ManagedDiskId = (Get-AzDisk -Name $DiskName -ResourceGroupName $ResourceGroupName).Id
    PS C:\WINDOWS\system32> Set-AzImageOsDisk -Image $imageConfig -OsType $OsType -OsState 'Generalized' -DiskSizeGB $DiskSize -ManagedDiskId $ManagedDiskId
    
    ResourceGroupName    :
    SourceVirtualMachine :
    StorageProfile       : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile
    ProvisioningState    :
    HyperVGeneration     : V1
    Id                   :
    Name                 :
    Type                 :
    Location             : DBELocal
    Tags                 :
    
    PS C:\WINDOWS\system32> New-AzImage -Image $imageConfig -ImageName $ImageName -ResourceGroupName $ResourceGroupName
    
    ResourceGroupName    : myaseazrg
    SourceVirtualMachine :
    StorageProfile       : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile
    ProvisioningState    : Succeeded
    HyperVGeneration     : V1
    Id                   : /subscriptions/.../resourceG
                           roups/myaseazrg/providers/Microsoft.Compute/images/myaseazlin
                           uxvmimage
    Name                 : myaseazlinuxvmimage
    Type                 : Microsoft.Compute/images
    Location             : dbelocal
    Tags                 : {}
    
    PS C:\WINDOWS\system32> 
    

إنشاء جهاز ظاهري باستخدام موارد تم إنشاؤها مسبقا

قبل إنشاء الجهاز الظاهري ونشره، يجب إنشاء شبكة ظاهرية واحدة وإقران واجهة شبكة ظاهرية بها.

هام

تطبق القواعد التالية:

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

الاستعلام عن الشبكة الظاهرية التي تم إنشاؤها تلقائيا

عند تمكين الحوسبة من واجهة المستخدم المحلية لجهازك، يتم إنشاء شبكة ظاهرية يتم استدعاؤها ASEVNET تلقائيا، ضمن ASERG مجموعة الموارد.

استخدم الأمر التالي للاستعلام عن الشبكة الظاهرية الموجودة:

$ArmVn = Get-AzVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG 

إنشاء بطاقة واجهة شبكة افتراضية

ستقوم بإنشاء بطاقة واجهة شبكة ظاهرية باستخدام معرف الشبكة الفرعية للشبكة الظاهرية.

  1. تعيين بعض المعلمات.

    $IpConfigName = "<IP config name>"
    $NicName = "<Network interface name>"
    
  2. إنشاء واجهة شبكة افتراضية.

    $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id 
    $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig    
    

    بشكل افتراضي، يتم تعيين عنوان IP ديناميكيا لواجهة الشبكة من الشبكة الممكنة للحوسبة. استخدم إذا -PrivateIpAddress parameter كنت تقوم بتخصيص عنوان IP ثابت لواجهة الشبكة.

    فيما يلي مثال على ذلك:

    PS C:\WINDOWS\system32> $IpConfigName = "myazipconfig1"
    PS C:\WINDOWS\system32> $NicName = "myaznic1"
    PS C:\WINDOWS\system32> $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id 
    PS C:\WINDOWS\system32> $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id
    PS C:\WINDOWS\system32> $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig
    PS C:\WINDOWS\system32> $Nic
    
    Name                        : myaznic1
    ResourceGroupName           : myaseazrg
    Location                    : dbelocal
    Id                          : /subscriptions/.../re
                                  sourceGroups/myaseazrg/providers/Microsoft.Network/net
                                  workInterfaces/myaznic1
    Etag                        : W/"0b20057b-2102-4f34-958b-656327c0fb1d"
    ResourceGuid                : e7d4131f-6f01-4492-9d4c-a8ff1af7244f
    ProvisioningState           : Succeeded
    Tags                        :
    VirtualMachine              : null
    IpConfigurations            : [
                                    {
                                      "Name": "myazipconfig1",
                                      "Etag":
                                  "W/\"0b20057b-2102-4f34-958b-656327c0fb1d\"",
                                      "Id": "/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft.
                                  Network/networkInterfaces/myaznic1/ipConfigurations/my
                                  azipconfig1",
                                      "PrivateIpAddress": "10.126.76.60",
                                      "PrivateIpAllocationMethod": "Dynamic",
                                      "Subnet": {
                                        "Delegations": [],
                                        "Id": "/subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Ne
                                  twork/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet",
                                        "ServiceAssociationLinks": []
                                      },
                                      "ProvisioningState": "Succeeded",
                                      "PrivateIpAddressVersion": "IPv4",
                                      "LoadBalancerBackendAddressPools": [],
                                      "LoadBalancerInboundNatRules": [],
                                      "Primary": true,
                                      "ApplicationGatewayBackendAddressPools": [],
                                      "ApplicationSecurityGroups": []
                                    }
                                  ]
    DnsSettings                 : {
                                    "DnsServers": [],
                                    "AppliedDnsServers": [],
                                    "InternalDomainNameSuffix": "auwlfcx0dhxurjgisct43fc
                                  ywb.a--x.internal.cloudapp.net"
                                  }
    EnableIPForwarding          : False
    EnableAcceleratedNetworking : False
    NetworkSecurityGroup        : null
    Primary                     :
    MacAddress                  : 001DD84A58D1
    
    PS C:\WINDOWS\system32>
    

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

New-AzPublicIPAddress -Name <Public IP> -ResourceGroupName <ResourceGroupName> -AllocationMethod Static -Location DBELocal
$publicIP = (Get-AzPublicIPAddress -Name <Public IP> -ResourceGroupName <Resource group name>).Id
$ipConfig = New-AzNetworkInterfaceIpConfig -Name <ConfigName> -PublicIpAddressId $publicIP -SubnetId $subNetId

إنشاء الجهاز الظاهري

يمكنك الآن استخدام صورة الجهاز الظاهري لإنشاء جهاز ظاهري وإرفاقه بالشبكة الظاهرية التي قمت بإنشائها مسبقا.

  1. قم بتعيين اسم المستخدم وكلمة المرور لتسجيل الدخول إلى الجهاز الظاهري الذي تريد إنشاؤه.

    $pass = ConvertTo-SecureString "<Password>" -AsPlainText -Force;
    $cred = New-Object System.Management.Automation.PSCredential("<Enter username>", $pass)
    

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

  2. تعيين المعلمات.

    $VmName = "<VM name>"
    $ComputerName = "<VM display name>"
    $OsDiskName = "<OS disk name>"
    
  3. إنشاء جهاز ظاهري VM.

    $VirtualMachine =  New-AzVMConfig -VmName $VmName -VMSize "Standard_D1_v2"
    
    $VirtualMachine =  Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $cred
    
    $VirtualMachine =  Set-AzVmOsDisk -VM $VirtualMachine -Name $OsDiskName -Caching "ReadWrite" -CreateOption "FromImage" -Linux -StorageAccountType Standard_LRS
    
    $nicID = (Get-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName).Id
    
    $VirtualMachine =  Add-AzVMNetworkInterface -Vm $VirtualMachine -Id $nicID
    
    $image = ( Get-AzImage -ResourceGroupName $ResourceGroupName -ImageName $ImageName).Id
    
    $VirtualMachine =  Set-AzVMSourceImage -VM $VirtualMachine -Id $image
    
    New-AzVM -ResourceGroupName $ResourceGroupName -Location DBELocal -VM $VirtualMachine -Verbose
    

    فيما يلي مثال على الإخراج.

    PS C:\WINDOWS\system32> $pass = ConvertTo-SecureString "Password1" -AsPlainText -Force;
    PS C:\WINDOWS\system32> $cred = New-Object System.Management.Automation.PSCredential("myazuser", $pass)
    PS C:\WINDOWS\system32> $VmName = "myazvm"
    >> $ComputerName = "myazvmfriendlyname"
    >> $OsDiskName = "myazosdisk1"
    PS C:\WINDOWS\system32> $VirtualMachine =  New-AzVMConfig -VmName $VmName -VMSize "Standard_D1_v2"
    PS C:\WINDOWS\system32> $VirtualMachine =  Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $cred
    PS C:\WINDOWS\system32> $VirtualMachine =  Set-AzVmOsDisk -VM $VirtualMachine -Name $OsDiskName -Caching "ReadWrite" -CreateOption "FromImage" -Linux -StorageAccountType Standard_LRS
    PS C:\WINDOWS\system32> $nicID = (Get-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName).Id
    PS C:\WINDOWS\system32> $nicID/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft.Network/networkInterfaces/myaznic1
    PS C:\WINDOWS\system32> $VirtualMachine =  Add-AzVMNetworkInterface -VM $VirtualMachine -Id $nicID
    PS C:\WINDOWS\system32> $image = ( Get-AzImage -ResourceGroupName $ResourceGroupName -ImageName $ImageName).Id
    PS C:\WINDOWS\system32> $VirtualMachine =  Set-AzVMSourceImage -VM $VirtualMachine -Id $image
    PS C:\WINDOWS\system32> New-AzVM -ResourceGroupName $ResourceGroupName -Location DBELocal -VM $VirtualMachine -Verbose
    WARNING: Since the VM is created using premium storage or managed disk, existing
    standard storage account, myaseazsa, is used for boot diagnostics.
    VERBOSE: Performing the operation "New" on target "myazvm".
    
    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    
  4. لمعرفة عنوان IP المعين للجهاز الظاهري الذي قمت بإنشائه، قم بالاستعلام عن واجهة الشبكة الظاهرية التي قمت بإنشائها. حدد موقع PrivateIPAddress IP وانسخ عنوان IP الخاص بالجهاز الظاهري الخاص بك. فيما يلي مثال على الإخراج.

    PS C:\WINDOWS\system32> $Nic
    
    Name                        : myaznic1
    ResourceGroupName           : myaseazrg
    Location                    : dbelocal
    Id                          : /subscriptions/.../re
                                  sourceGroups/myaseazrg/providers/Microsoft.Network/net
                                  workInterfaces/myaznic1
    Etag                        : W/"0b20057b-2102-4f34-958b-656327c0fb1d"
    ResourceGuid                : e7d4131f-6f01-4492-9d4c-a8ff1af7244f
    ProvisioningState           : Succeeded
    Tags                        :
    VirtualMachine              : null
    IpConfigurations            : [
                                    {
                                      "Name": "myazipconfig1",
                                      "Etag":
                                  "W/\"0b20057b-2102-4f34-958b-656327c0fb1d\"",
                                      "Id": "/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft.
                                  Network/networkInterfaces/myaznic1/ipConfigurations/my
                                  azipconfig1",
                                      "PrivateIpAddress": "10.126.76.60",
                                      "PrivateIpAllocationMethod": "Dynamic",
                                      "Subnet": {
                                        "Delegations": [],
                                        "Id": "/subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Ne
                                  twork/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet",
                                        "ServiceAssociationLinks": []
                                      },
                                      "ProvisioningState": "Succeeded",
                                      "PrivateIpAddressVersion": "IPv4",
                                      "LoadBalancerBackendAddressPools": [],
                                      "LoadBalancerInboundNatRules": [],
                                      "Primary": true,
                                      "ApplicationGatewayBackendAddressPools": [],
                                      "ApplicationSecurityGroups": []
                                    }
                                  ]
    DnsSettings                 : {
                                    "DnsServers": [],
                                    "AppliedDnsServers": [],
                                    "InternalDomainNameSuffix": "auwlfcx0dhxurjgisct43fc
                                  ywb.a--x.internal.cloudapp.net"
                                  }
    EnableIPForwarding          : False
    EnableAcceleratedNetworking : False
    NetworkSecurityGroup        : null
    Primary                     :
    MacAddress                  : 001DD84A58D1
    
    PS C:\WINDOWS\system32>
    

الاتصال بالجهاز الظاهري

بناء على ما إذا كنت قد أنشأت جهاز ظاهري Windows أو جهاز ظاهري Linux ، يمكن أن تكون تعليمات الاتصال مختلفة.

الاتصال بجهاز ظاهري لـ Linux

للاتصال بجهاز ظاهري Linux، قم بما يلي:

الاتصال إلى الجهاز الظاهري باستخدام عنوان IP الخاص الذي مررت به أثناء إنشاء الجهاز الظاهري.

  1. افتح جلسة SSH للاتصال بعنوان IP.

    ssh -l <username> <ip address>
    
  2. في المطالبة، أدخل كلمة المرور التي استخدمتها عند إنشاء الجهاز الظاهري.

    إذا كنت بحاجة إلى توفير مفتاح SSH، فاستخدم هذا الأمر.

    ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236

    فيما يلي مثال على الإخراج عند الاتصال بالجهاز الظاهري:

    PS C:\WINDOWS\system32> ssh -l myazuser "10.126.76.60"
    The authenticity of host '10.126.76.60 (10.126.76.60)' can't be established.
    ECDSA key fingerprint is SHA256:V649Zbo58zAYMKreeP7M6w7Na0Yf9QPg4SM7JZVV0E4.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '10.126.76.60' (ECDSA) to the list of known hosts.
    myazuser@10.126.76.60's password:
    Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-1013-azure x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
     System information disabled due to load higher than 1.0
    
      Get cloud support with Ubuntu Advantage Cloud Guest:
        http://www.ubuntu.com/business/services/cloud
    
    284 packages can be updated.
    192 updates are security updates. 
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    To run a command as administrator (user "root"), use "sudo <command>".
    See "man sudo_root" for details.
    
    myazuser@myazvmfriendlyname:~$ client_loop: send disconnect: Connection reset
    PS C:\WINDOWS\system32>
    

إذا استخدمت عنوان IP عاما أثناء إنشاء الجهاز الظاهري، فيمكنك استخدام عنوان IP هذا للاتصال بالجهاز الظاهري. للحصول على عنوان IP العام، قم بتشغيل الأمر التالي:

$publicIp = Get-AzPublicIpAddress -Name $PublicIp -ResourceGroupName $ResourceGroupName

في هذه الحالة ، يكون عنوان IP العام هو نفسه عنوان IP الخاص الذي قمت بتمريره أثناء إنشاء واجهة الشبكة الظاهرية.

الاتصال بجهاز ظاهري لـ Windows

للاتصال بجهاز ظاهري Windows، قم بما يلي:

الاتصال إلى جهاز Windows الظاهري باستخدام بروتوكول سطح المكتب البعيد (RDP) عبر عنوان IP الذي قمت بتمريره أثناء إنشاء الجهاز الظاهري.

  1. على العميل، افتح RDP.

  2. انتقل إلى ابدأ، ثم أدخل mstsc.

  3. في جزء "الاتصال بسطح المكتب البعيد" ، أدخل عنوان IP الخاص بالجهاز الظاهري وبيانات اعتماد الوصول التي استخدمتها في ملف معلمات قالب الجهاز الظاهري. وبعد ذلك حدد Connect.

    Screenshot of the Remote Desktop Connection pane for connecting via RDP to your Windows VM.

    ملاحظة

    قد تحتاج إلى الموافقة على الاتصال بجهاز غير موثوق به.

لقد قمت الآن بتسجيل الدخول إلى الجهاز الظاهري الذي يعمل على الجهاز.

إدارة الجهاز الظاهري

تصف الأقسام التالية بعض العمليات الشائعة التي يمكنك إنشاؤها على جهاز Azure Stack Edge Pro.

قائمة الأجهزة الظاهرية التي تعمل على الجهاز

لإرجاع قائمة بجميع الأجهزة الظاهرية التي تعمل على جهاز Azure Stack Edge، قم بتشغيل هذا الأمر:

Get-AzVM -ResourceGroupName <String> -Name <String>

لمزيد من المعلومات حول cmdlet هذا، راجع Get-AzVM.

تشغيل الجهاز الظاهري

لتشغيل جهاز ظاهري يعمل على جهازك، قم بتشغيل cmdlet التالي:

Start-AzVM [-Name] <String> [-ResourceGroupName] <String>

لمزيد من المعلومات حول cmdlet هذا، راجع بدء تشغيل AzVM.

تعليق الجهاز الظاهري أو إيقاف تشغيله

لإيقاف جهاز ظاهري يعمل على جهازك أو إيقاف تشغيله، قم بتشغيل cmdlet التالي:

Stop-AzVM [-Name] <String> [-StayProvisioned] [-ResourceGroupName] <String>

لمزيد من المعلومات حول cmdlet هذا، راجع cmdlet Stop-AzVM.

إضافة قرص بيانات

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

Add-AzRmVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty 
 
Update-AzVM -ResourceGroupName "<Resource Group Name string>" -VM $VirtualMachine

حذف الجهاز الظاهري

لإزالة جهاز ظاهري من جهازك، قم بتشغيل cmdlet التالي:

Remove-AzVM [-Name] <String> [-ResourceGroupName] <String>

لمزيد من المعلومات حول cmdlet هذا، راجع إزالة-AzVm cmdlet.

الخطوات التالية

Azure Resource Manager cmdlets