تتناول هذه المقالة كيفية نشر وتكوين تجمع أقراص Azure (معاينة). قبل نشر مجموعة أقراص، اقرأ المقالات المفاهيميةوالتخطيطية .
لكي يعمل تجمع الأقراص بشكل صحيح، يجب إكمال الخطوات التالية:
سجل اشتراكك في المعاينة.
تفويض شبكة فرعية إلى تجمع الأقراص.
قم بتعيين موفر الموارد لأذونات التحكم في الوصول المستندة إلى دور تجمع الأقراص (RBAC) لإدارة موارد القرص.
إنشاء تجمع الأقراص.
إضافة أقراص إلى تجمع الأقراص.
المتطلبات الأساسية
لنشر تجمع أقراص بنجاح، يجب أن يكون لديك:
مجموعة من الأقراص المدارة التي تريد إضافتها إلى تجمع أقراص.
شبكة افتراضية مزودة بشبكة فرعية مخصصة تم نشرها لتجمع الأقراص.
يجب أن تكون المنافذ الصادرة 53 و443 و5671 مفتوحة.
تأكد من أن إعداد الشبكة لا يحظر أيا من التبعيات الصادرة المطلوبة لتجمع الأقراص. يمكنك استخدام وحدة Azure PowerShell النمطية أو Azure CLI للحصول على القائمة الكاملة لجميع التبعيات الصادرة.
في القائمة اليمنى، ضمن الإعدادات، حدد موفرو الموارد .
ابحث عن موفر الموارد Microsoft.StoragePoolوحدد تسجيل.
بمجرد تسجيل اشتراكك، يمكنك نشر مجموعة أقراص.
إذن الشبكة الفرعية للمفوض
لكي يعمل تجمع الأقراص مع الأجهزة العميلة، يجب تفويض شبكة فرعية إلى تجمع أقراص Azure. عند إنشاء تجمع أقراص، يمكنك تحديد شبكة ظاهرية والشبكة الفرعية المفوضة. يمكنك إما إنشاء شبكة فرعية جديدة أو استخدام شبكة فرعية موجودة والتفويض إلى موفر موارد Microsoft.StoragePool/diskPools.
انتقل إلى جزء الشبكات الظاهرية في مدخل Azure وحدد الشبكة الظاهرية لاستخدامها في تجمع الأقراص.
حدد الشبكات الفرعية من جزء الشبكة الظاهرية وحدد +الشبكة الفرعية.
إنشاء شبكة فرعية جديدة عن طريق إكمال الحقول المطلوبة التالية في جزء إضافة شبكة فرعية : - تفويض الشبكة الفرعية: حدد Microsoft.StoragePool
لكي يتمكن القرص من استخدامه في تجمع أقراص، يجب أن يفي بالمتطلبات التالية:
يجب أن يكون موفر موارد StoragePool قد تم تعيين دور RBAC يحتوي على أذونات القراءةوالكتابة لكل قرص مدار في تجمع الأقراص.
يجب أن يكون إما SSD متميزا أو SSD قياسيا أو قرصا فائقا في نفس منطقة توافر الخدمات مثل مجموعة الأقراص.
بالنسبة للأقراص فائقة ، يجب أن يكون حجم قطاع القرص 512 بايت.
لا يمكن تكوين مجموعات الأقراص لتحتوي على محركات أقراص SSD متميزة/قياسية وأقراص فائقة. يمكن أن يحتوي تجمع الأقراص الذي تم تكوينه للأقراص الفائقة على أقراص فائقة فقط. وبالمثل ، يمكن أن تحتوي مجموعة الأقراص التي تم تكوينها لمحركات الأقراص ذات الحالة الصلبة المتميزة أو القياسية فقط على محركات أقراص SSD متميزة وقياسية.
يجب أن يكون قرصا مشتركا بقيمة maxShares اثنين أو أكثر.
ابحث عن مجموعة الموارد التي تحتوي على الأقراص أو كل قرص نفسه وحددها.
حدد Access control (IAM).
حدد إضافة تعيين دور (معاينة)، وحدد عامل تشغيل تجمع الأقراص في قائمة الأدوار.
إذا كنت تفضل ذلك، يمكنك إنشاء دورك المخصص بدلا من ذلك. يجب أن يكون للدور المخصص لتجمعات الأقراص أذونات RBAC التالية للعمل: Microsoft.Compute/disks/write وMicrosoft.Compute/disks/read.
بالنسبة إلى تعيين حق الوصول إلى، حدد المستخدم أو المجموعة أو أصل الخدمة.
حدد + حدد الأعضاء ثم ابحث عن موفر موارد StoragePool، وحدده، واحفظه.
إنشاء تجمع أقراص
للحصول على الأداء الأمثل، قم بنشر مجموعة الأقراص في نفس منطقة توافر الخدمات الخاصة بعملائك. إذا كنت تقوم بنشر مجموعة أقراص لسحابة Azure VMware Solution وتحتاج إلى إرشادات حول تحديد منطقة توافر الخدمات، فقم بملء هذا النموذج.
املأ التفاصيل المطلوبة، وحدد نفس المنطقة ومنطقة توافر الخدمات مثل العملاء الذين سيستخدمون مجموعة الأقراص.
حدد الشبكة الفرعية التي تم تفويضها إلى موفر موارد StoragePool والشبكة الظاهرية المقترنة بها.
حدد التالي لإضافة أقراص إلى تجمع الأقراص.
إضافة أقراص
المتطلبات الأساسية
لإضافة قرص، يجب أن يفي بالمتطلبات التالية:
يجب أن يكون إما SSD متميزا أو SSD قياسيا أو قرصا فائقا في نفس منطقة توافر الخدمات مثل مجموعة الأقراص.
حاليا، يمكنك فقط إضافة محركات أقراص SSD متميزة ومحركات أقراص SSD قياسية في البوابة الإلكترونية. يجب إضافة أقراص Ultra إما مع وحدة Azure PowerShell النمطية أو Azure CLI.
بالنسبة للأقراص فائقة ، يجب أن يكون حجم قطاع القرص 512 بايت.
يجب أن يكون قرصا مشتركا بقيمة maxShares اثنين أو أكثر.
لا يمكن تكوين مجموعات الأقراص لتحتوي على محركات أقراص SSD متميزة/قياسية وأقراص فائقة. يمكن أن يحتوي تجمع الأقراص الذي تم تكوينه للأقراص الفائقة على أقراص فائقة فقط. وبالمثل ، يمكن أن تحتوي مجموعة الأقراص التي تم تكوينها لمحركات الأقراص ذات الحالة الصلبة المتميزة أو القياسية فقط على محركات أقراص SSD متميزة وقياسية.
يجب منح أذونات RBAC إلى المورد الذي يوفره تجمع الأقراص لإدارة القرص الذي تخطط لإضافته.
إذا كان القرص يفي بهذه المتطلبات، فيمكنك إضافته إلى تجمع أقراص عن طريق تحديد +إضافة قرص في جزء تجمع الأقراص.
تمكين بروتوكول iSCSI
حدد جزء iSCSI .
حدد تمكين iSCSI.
أدخل اسم هدف iSCSI ، وسيتم إنشاء IQN المستهدف عبر iSCSI استنادا إلى هذا الاسم.
يتم تعيين وضع ACL إلى ديناميكي بشكل افتراضي. لاستخدام مجموعة الأقراص الخاصة بك كحل تخزين ل Azure VMware Solution، يجب تعيين وضع ACL إلى ديناميكي.
حدد Review + create.
يقوم البرنامج النصي المقدم بما يلي:
يقوم بتثبيت الوحدة النمطية اللازمة لإنشاء مجموعات الأقراص واستخدامها.
إنشاء قرص وتعيين أذونات RBAC له. إذا قمت بذلك بالفعل ، فيمكنك التعليق على هذه الأقسام من البرنامج النصي.
إنشاء تجمع أقراص وإضافة القرص إليه.
إنشاء هدف iSCSI وتمكينه.
استبدل المتغيرات الموجودة في هذا البرنامج النصي بالمتغيرات الخاصة بك قبل تشغيل البرنامج النصي. ستحتاج أيضا إلى تعديله لاستخدام قرص ultra موجود إذا قمت بملء نموذج ultra Disk (القرص الفائق).
# Install the required module for Disk Pool
Install-Module -Name Az.DiskPool -RequiredVersion 0.3.0 -Repository PSGallery
# Sign in to the Azure account and setup the variables
$subscriptionID = "<yourSubID>"
Set-AzContext -Subscription $subscriptionID
$resourceGroupName= "<yourResourceGroupName>"
$location = "<desiredRegion>"
$diskName = "<desiredDiskName>"
$availabilityZone = "<desiredAvailabilityZone>"
$subnetId='<yourSubnetID>'
$diskPoolName = "<desiredDiskPoolName>"
$iscsiTargetName = "<desirediSCSITargetName>" # This will be used to generate the iSCSI target IQN name
$lunName = "<desiredLunName>"
# You can skip this step if you have already created the disk and assigned proper RBAC permission to the resource group the disk is deployed to
$diskconfig = New-AzDiskConfig -Location $location -DiskSizeGB 1024 -AccountType Premium_LRS -CreateOption Empty -zone $availabilityZone -MaxSharesCount 2
$disk = New-AzDisk -ResourceGroupName $resourceGroupName -DiskName $diskName -Disk $diskconfig
$diskId = $disk.Id
$scopeDef = "/subscriptions/" + $subscriptionId + "/resourceGroups/" + $resourceGroupName
$rpId = (Get-AzADServicePrincipal -SearchString "StoragePool Resource Provider").id
New-AzRoleAssignment -ObjectId $rpId -RoleDefinitionName "Virtual Machine Contributor" -Scope $scopeDef
# Create a Disk Pool
# If you want to create a disk pool configured for ultra disks, add -AdditionalCapability "DiskPool.Disk.Sku.UltraSSD_LRS" to the command
New-AzDiskPool -Name $diskPoolName -ResourceGroupName $resourceGroupName -Location $location -SubnetId $subnetId -AvailabilityZone $availabilityZone -SkuName Standard_S1
$diskpool = Get-AzDiskPool -ResourceGroupName $resourceGroupName -Name $DiskPoolName
# Add disks to the Disk Pool
Update-AzDiskPool -ResourceGroupName $resourceGroupName -Name $diskPoolName -DiskId $diskId
$lun = New-AzDiskPoolIscsiLunObject -ManagedDiskAzureResourceId $diskId -Name $lunName
# Create an iSCSI Target and expose the disks as iSCSI LUNs
New-AzDiskPoolIscsiTarget -DiskPoolName $diskPoolName -Name $iscsiTargetName -ResourceGroupName $resourceGroupName -Lun $lun -AclMode Dynamic
Write-Output "Print details of the iSCSI target exposed on Disk Pool"
Get-AzDiskPoolIscsiTarget -name $iscsiTargetName -DiskPoolName $diskPoolName -ResourceGroupName $resourceGroupName | fl
يقوم البرنامج النصي المقدم بما يلي:
تثبيت الملحق الضروري لإنشاء مجموعات الأقراص واستخدامها.
إنشاء قرص وتعيين أذونات RBAC له. إذا قمت بذلك بالفعل ، فيمكنك التعليق على هذه الأقسام من البرنامج النصي.
إنشاء تجمع أقراص وإضافة القرص إليه.
إنشاء هدف iSCSI وتمكينه.
استبدل المتغيرات الموجودة في هذا البرنامج النصي بالمتغيرات الخاصة بك قبل تشغيل البرنامج النصي. ستحتاج أيضا إلى تعديله لاستخدام قرص ultra موجود إذا قمت بملء نموذج ultra Disk (القرص الفائق).
# Add disk pool CLI extension
az extension add -n diskpool
#az extension add -s https://azcliprod.blob.core.windows.net/cli-extensions/diskpool-0.2.0-py3-none-any.whl
#Select subscription
az account set --subscription "<yourSubscription>"
##Initialize input parameters
resourceGroupName='<yourRGName>'
location='<desiredRegion>'
zone=<desiredZone>
subnetId='<yourSubnetID>'
diskName='<desiredDiskName>'
diskPoolName='<desiredDiskPoolName>'
targetName='<desirediSCSITargetName>'
lunName='<desiredLunName>'
#You can skip this step if you have already created the disk and assigned permission in the prerequisite step. Below is an example for premium disks.
az disk create --name $diskName --resource-group $resourceGroupName --zone $zone --location $location --sku Premium-LRS --max-shares 2 --size-gb 1024
#You can deploy all your disks into one resource group and assign StoragePool Resource Provider permission to the group
storagePoolObjectId=$(az ad sp list --filter "displayName eq 'StoragePool Resource Provider'" --query "[0].objectId" -o json)
storagePoolObjectId="${storagePoolObjectId%"}"
storagePoolObjectId="${storagePoolObjectId#"}"
az role assignment create --assignee-object-id $storagePoolObjectId --role "Virtual Machine Contributor" --scope /subscriptions/$subscriptionId/resourceGroups/$resourceGroupName --resource-group $resourceGroupName
#Create a disk pool
#To create a disk pool configured for ultra disks, add --additional-capabilities "DiskPool.Disk.Sku.UltraSSD_LRS" to your command
az disk-pool create --name $diskPoolName \
--resource-group $resourceGroupName \
--location $location \
--availability-zones $zone \
--subnet-id $subnetId \
--sku name="Standard_S1" \
#Initialize an iSCSI target. You can have 1 iSCSI target per disk pool
az disk-pool iscsi-target create --name $targetName \
--disk-pool-name $diskPoolName \
--resource-group $resourceGroupName \
--acl-mode Dynamic
#Add the disk to disk pool
diskId=$(az disk show --name $diskName --resource-group $resourceGroupName --query "id" -o json)
diskId="${diskId%"}"
diskId="${diskId#"}"
az disk-pool update --name $diskPoolName --resource-group $resourceGroupName --disks $diskId
#Expose disks added in the Disk Pool as iSCSI Lun
az disk-pool iscsi-target update --name $targetName \
--disk-pool-name $diskPoolName \
--resource-group $resourceGroupName \
--luns name=$lunName managed-disk-azure-resource-id=$diskId