ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة
تتناول هذه المقالة توسيع أقراص نظام التشغيل (OS) وأقراص البيانات لجهاز Linux الظاهري (VM). يمكنك إضافة أقراص بيانات لتوفير مساحة تخزين أكبر، ويمكنك أيضا توسيع قرص بيانات موجود. عادة ما يكون حجم القرص الثابت الظاهري الافتراضي لنظام التشغيل 30 غيغابايت على جهاز Linux الظاهري في Azure. تتناول هذه المقالة توسيع أقراص نظام التشغيل أو أقراص البيانات. لا يمكنك توسيع حجم وحدات التخزين المخططة.
يبلغ الحد الأقصى لسعة قرص نظام التشغيل 4095 غيغابايت. ومع ذلك، يتم تقسيم العديد من أنظمة التشغيل مع سجل التمهيد الرئيسي (MBR) بشكل افتراضي. يحد MBR من الحجم القابل للاستخدام إلى 2 TiB. إذا كنت بحاجة إلى أكثر من 2 تيرابايت، ففكر في إرفاق أقراص البيانات لتخزين البيانات. إذا كنت بحاجة إلى تخزين البيانات على قرص نظام التشغيل وتتطلب مساحة إضافية، فقم بتحويلها إلى جدول أقسام GUID (GPT).
تحذير
تأكد دائما من أن نظام الملفات الخاص بك في حالة صحية وأن نوع جدول قسم القرص (GPT أو MBR) يمكن أن يدعم الحجم الجديد. قم بنسخ بياناتك احتياطيا قبل إجراء عمليات توسيع القرص. لمزيد من المعلومات، راجع تشغيل سريع لنسخة احتياطية من Azure.
تحديد كائن قرص بيانات Azure داخل نظام التشغيل
عند توسيع قرص بيانات يحتوي على عدة أقراص بيانات على الجهاز الظاهري، قد يكون من الصعب ربط أرقام الوحدات المنطقية ل Azure (LUNs) بأجهزة Linux. إذا كان قرص نظام التشغيل يحتاج إلى توسيع، يتم تسميته بوضوح في مدخل Microsoft Azure على أنه قرص نظام التشغيل.
ابدأ بتحديد العلاقة بين استخدام القرص ونقطة التحميل والجهاز، باستخدام df
الأمر .
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
هنا يمكنك أن ترى، على سبيل المثال، أن /opt/db/data
نظام الملفات ممتلئ تقريبا ويقع على /dev/sdd1
القسم. يظهر إخراج df
مسار الجهاز سواء تم تحميل القرص باستخدام مسار الجهاز أو UUID (المفضل) في fstab. لاحظ عمود النوع، الذي يشير إلى تنسيق نظام الملفات. التنسيق مهم لاحقا.
الآن حدد موقع LUN الذي يرتبط /dev/sdd
ب عن طريق فحص محتويات /dev/disk/azure/scsi1
. يظهر إخراج الأمر التالي ls
أن الجهاز المعروف باسم /dev/sdd
داخل نظام التشغيل Linux موجود LUN1
عند البحث في مدخل Microsoft Azure.
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
توسيع قرص مدار من Azure
توسعة دون وقت تعطل
يمكنك توسيع الأقراص المدارة دون إلغاء تخصيص الجهاز الظاهري. لا يغير إعداد ذاكرة التخزين المؤقت للمضيف على القرص الخاص بك ما إذا كان يمكنك توسيع قرص بيانات أم لا دون إلغاء تخصيص الجهاز الظاهري الخاص بك.
تحتوي هذه الميزة على القيود التالية.
هام
لا ينطبق هذا القيد على Premium SSD v2 أو Ultra Disks.
إذا كان قرص Standard HDD أو Standard SSD أو Premium SSD 4 تيرابايت أو أقل، فقم بإلغاء تخصيص الجهاز الظاهري وفصل القرص قبل توسيعه إلى ما بعد 4 تيرابايت. إذا كان أحد أنواع الأقراص هذه أكبر من 4 تيرابايت بالفعل، يمكنك توسيعه دون إلغاء تخصيص الجهاز الظاهري وفصل القرص.
- معتمد فقط لأقراص البيانات.
- غير مدعوم للأقراص المشتركة.
- يجب تثبيت واستخدام أحد الخيارات التالية:
- أحدث إصدار من Azure CLI.
- أحدث وحدة نمطية ل Azure PowerShell.
- مدخل Microsoft Azure.
- قالب Azure Resource Manager مع إصدار API أحدث
2021-04-01
أو أحدث.
- غير متوفر على بعض الأجهزة الظاهرية الكلاسيكية. استخدم هذا البرنامج النصي للحصول على قائمة بمنتجات الأجهزة الظاهرية الكلاسيكية التي تدعم التوسع دون وقت تعطل.
التوسيع باستخدام Ultra Disks وPremium SSD v2
توسيع الأقراص الفائقة وأقراص Premium SSD v2 دون وقت تعطل له القيود الإضافية التالية:
- لا يمكنك توسيع قرص أثناء حدوث نسخة خلفية من البيانات أيضا على هذا القرص. مثال على ذلك هو عندما يتم إعادة تعبئة قرص من اللقطات.
- يمكنك توسيع الأجهزة الظاهرية باستخدام وحدات تحكم NVMe مع الأقراص الفائقة أو أقراص Premium SSD v2 دون وقت تعطل مع هذه المعاينة العامة. نظرا لأن هذا الإصدار هو معاينة عامة، يجب استخدامه فقط لاختبار وظائف التوسيع دون وقت تعطل. لا تقم بتوسيع الأجهزة الظاهرية في الإنتاج.
في المناطق التالية، يمكنك توسيع الأجهزة الظاهرية التي تستخدم وحدات تحكم NVMe مع الأقراص الفائقة أو أقراص Premium SSD v2 دون وقت تعطل. استخدم إما مدخل Azure أو Azure CLI أو الوحدة النمطية Azure PowerShell:
- جنوب شرق آسيا
- جنوب البرازيل
- وسط كندا
- وسط غرب ألمانيا
- وسط الهند (غير مدعوم حاليا على V6 VMs)
في المناطق التالية، يمكنك توسيع الأجهزة الظاهرية التي تستخدم وحدات تحكم NVMe مع الأقراص الفائقة أو أقراص Premium SSD v2 دون وقت تعطل. استخدم فقط Azure CLI أو وحدة Azure PowerShell النمطية. لا يمكنك حاليا استخدام مدخل Microsoft Azure:
- شرق آسيا
- غرب وسط الولايات المتحدة (غير مدعوم حاليا على V6 VMs)
السماح بما يصل إلى 10 دقائق حتى ينعكس الحجم الصحيح في أجهزة Windows الظاهرية وأجهزة Linux الظاهرية. بالنسبة لأجهزة Linux الظاهرية، يجب عليك تنفيذ وظيفة Linux rescan. بالنسبة إلى Windows VM الذي لا يحتوي على حمل عمل، يجب عليك تنفيذ وظيفة إعادة تفحص Windows. يمكنك إعادة التفحص على الفور، ولكن إذا كان الوقت في غضون 10 دقائق، فقد تحتاج إلى إعادة التفحص مرة أخرى لعرض الحجم الصحيح.
توسيع قرص Azure المدار
تأكد من تثبيت أحدث إصدار من واجهة Azure CLI وتسجيل الدخول إلى حساب Azure باستخدام az login.
تتطلب هذه المقالة جهاز ظاهري موجود في Azure مع قرص بيانات واحد على الأقل مُرفق ومُعد. إذا لم يكن لديك بالفعل جهاز ظاهري يمكنك استخدامه، فشاهد إنشاء جهاز ظاهري وإعداده باستخدام أقراص البيانات.
في العينات التالية، استبدل أسماء معلمات العنصر النائب مثل myResourceGroupوmyVM بقيمك الخاصة.
هام
إذا كان القرص الخاص بك يفي بالمتطلبات في توسيع دون وقت تعطل، يمكنك تخطي الخطوتين 1 و3.
لا يتم دعم تقليص قرص موجود وقد يؤدي إلى فقدان البيانات.
بعد توسيع الأقراص، قم بتوسيع وحدة التخزين في نظام التشغيل للاستفادة من القرص الأكبر.
لا يمكن تنفيذ العمليات على الأقراص الثابتة الظاهرية مع تشغيل الجهاز الظاهري. بادر بإلغاء تخصيص جهاز ظاهري مع az vm deallocate. في المثال التالي، سيتم إلغاء تخصيص الجهاز الظاهري المُسمى myVM في مجموعة الموارد المُسماة myResourceGroup:
az vm deallocate --resource-group myResourceGroup --name myVM
يجب إلغاء تخصيص الجهاز الظاهري لتوسيع القرص الثابت الظاهري. إيقاف الجهاز الظاهري مع
az vm stop
لا يحرر موارد الحوسبة. لتحرير موارد الحساب، استخدمaz vm deallocate
.عرض قائمة بالأقراص المُدارة في مجموعة موارد باستخدام قائمة أقراص az. يوضح المثال التالي قائمة بالأقراص المدارة في مجموعة الموارد المسماة myResourceGroup:
az disk list \ --resource-group myResourceGroup \ --query '[*].{Name:name,size:diskSizeGB,Tier:sku.tier}' \ --output table
بادر بتوسيع القرص المطلوب باستخدام az disk update. المثال التالي يوسِّع القرص المُدار المُسمى myDataDisk إلى 200 غيغابايت:
az disk update \ --resource-group myResourceGroup \ --name myDataDisk \ --size-gb 200
عندما توسِّع قرص مُدار، يتم تقريب الحجم المحدث إلى أقرب حجم للقرص المُدار.
ابدأ تشغيل جهازك الظاهري باستخدام az vm start. في المثال التالي، سيبدأ الجهاز الظاهري المُسمى myVM في مجموعة الموارد المُسماة myResourceGroup:
az vm start --resource-group myResourceGroup --name myVM
توسيع قسم القرص ونظام الملفات
يمكنك استخدام العديد من الأدوات لإجراء تغيير حجم القسم. الأدوات المفصلة في باقي هذه المقالة هي نفس الأدوات التي تستخدمها بعض العمليات التلقائية، مثل cloud-init. كما هو موضح هنا، growpart
توفر الأداة مع gdisk
الحزمة توافقا عالميا مع أقراص GPT لأن الإصدارات القديمة من بعض الأدوات مثل fdisk
لا تدعم GPT.
الكشف عن تغيير حجم القرص
إذا استخدمت الإجراء المذكور سابقا لتوسيع قرص بيانات دون وقت تعطل، فلن يتغير حجم القرص المبلغ عنه حتى تتم إعادة تفحص الجهاز. تحدث إعادة التفحص عادة فقط أثناء عملية التمهيد. لاستدعاء هذا rescan عند الطلب، استخدم الإجراء التالي. عند استخدام الأساليب الواردة في هذه المقالة، لاحظ أنه في هذا المثال، يتم تغيير حجم قرص البيانات حاليا /dev/sda
وتم تغيير حجمه من 256 غيغابايت إلى 512 غيغابايت.
حدد الحجم الذي تم التعرف عليه حاليا في السطر الأول من الإخراج من
fdisk -l /dev/sda
:sudo fdisk -l /dev/sda
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
1
إدراج حرف في ملف إعادة التفحص لهذا الجهاز. لاحظ الإشارة إلىsda
في المثال. يتغير معرف القرص إذا تم تغيير حجم جهاز قرص مختلف.echo 1 | sudo tee /sys/class/block/sda/device/rescan
تحقق من التعرف على حجم القرص الجديد الآن.
sudo fdisk -l /dev/sda
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
يستخدم الجزء المتبقي من هذه المقالة قرص نظام التشغيل للحصول على أمثلة الإجراء لزيادة حجم وحدة التخزين على مستوى نظام التشغيل. إذا كان القرص الموسع عبارة عن قرص بيانات، فاستخدم الإرشادات السابقة لتحديد جهاز قرص البيانات. اتبع هذه الإرشادات كإرشادات. استبدل جهاز قرص البيانات (على سبيل المثال، ) وأرقام /dev/sda
الأقسام وأسماء وحدات التخزين ونقاط التحميل وتنسيقات نظام الملفات، حسب الضرورة.
ضع في اعتبارك جميع إرشادات نظام التشغيل Linux كإرشادات عامة وأنه قد ينطبق على أي توزيع، ولكنه يطابق بشكل عام اصطلاحات ناشر السوق المسمى. راجع وثائق Red Hat لمتطلبات الحزمة على أي توزيع استنادا إلى Red Hat أو الذي يدعي توافق Red Hat.
زيادة حجم قرص نظام التشغيل
تنطبق الإرشادات التالية على توزيعات Linux المعتمدة.
قبل المتابعة، قم بعمل نسخة احتياطية كاملة من الجهاز الظاهري الخاص بك أو، كحد أدنى، أخذ لقطة من قرص نظام التشغيل الخاص بك.
في Ubuntu 16.x والإصدارات الأحدث، يتم توسيع القسم الجذر لقرص نظام التشغيل ونظام الملفات تلقائيا لاستخدام جميع المساحة المتجاورة الحرة على القرص الجذر بواسطة cloud-init. يجب أن تتوفر كمية صغيرة من المساحة الحرة لعملية تغيير الحجم. في هذه الحالة، التسلسل هو:
- قم بزيادة حجم قرص نظام التشغيل كما هو موضح سابقا.
- أعد تشغيل الجهاز الظاهري، ثم قم بالوصول إلى الجهاز الظاهري باستخدام حساب المستخدم الجذر .
- تحقق من أن قرص نظام التشغيل يعرض الآن زيادة حجم نظام الملفات.
كما هو موضح في المثال التالي، تم تغيير حجم قرص نظام التشغيل من المدخل إلى 100 غيغابايت.
/dev/sda1
يعرض نظام الملفات الذي تم تحميله /
الآن 97 غيغابايت.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
التوسيع دون دعم VM SKU الكلاسيكي لوقت التعطل
إذا كنت تستخدم VM SKU كلاسيكي، فقد لا يدعم توسيع الأقراص دون وقت تعطل.
استخدم البرنامج النصي PowerShell التالي لتحديد وحدات SKU للجهاز الظاهري المتوفرة مع:
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}