أحجام التركيب

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

[[[volume reference-data]]]
Size = 100
Mount = data              # The name of the mountpoint to use with this volume

حدد نقطة التحميل المسماة data في قسم التكوين على العقدة:

[[[configuration cyclecloud.mounts.data]]]
mountpoint = /mount
fs_type = ext4

يقوم هذا التكوين بإعداد cyclecloud.mountpoint اسم data يستخدم كافة وحدات التخزين مع Mount = data. يمكنك تنسيق وحدة التخزين هذه باستخدام ext4 نظام الملفات، وتظهر في /mount.

Devices

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

[[node scheduler]]
  [[[configuration cyclecloud.mounts.data]]]
  mountpoint = /data
  Azure.LUN=0

في Azure، يمكنك تعيين الأجهزة باستخدام أرقام الوحدات المنطقية (LUN).

في معظم الحالات، يقوم Azure CycleCloud تلقائيا بتعيين الأجهزة لك. يعد تحديد الأجهزة يدويا استخداما متقدما. من المفيد عندما تتضمن الصورة التي تستخدمها لعقدتك وحدات تخزين تقوم الصورة بإرفاقها تلقائيا. يعد تحديد الأجهزة يدويا مفيدا أيضا عندما يكون ترتيب الأجهزة مهما.

Note

استخدم الاسم boot المحجوز لتعديل وحدة تخزين التمهيد المضمنة.

الاستخدام المتقدم

المثال السابق هو مثال بسيط إلى حد ما: تركيب لقطة واحدة منسقة مسبقا إلى عقدة. ومع ذلك، يمكنك استخدام تقنيات تركيب أكثر تقدما، بما في ذلك RAIDing أجهزة متعددة معا، وتشفير الأجهزة، وتنسيق أنظمة الملفات الجديدة. على سبيل المثال، التكوين التالي RAIDs عدة وحدات تخزين معا وتشفيرها قبل تحميلها كجهاز واحد على عقدة:

[[node scheduler]]
....
  [[[volume vol1]]]
  VolumeId = vol-1234abcd
  Mount = giant

  [[[volume vol2]]]
  VolumeId = vol-5678abcd
  Mount = giant

  [[[volume vol3]]]
  VolumeId = vol-abcd1234
  Mount = giant

  [[[configuration cyclecloud.mounts.giant]]]
  mountpoint = /mnt/giant
  fs_type = xfs
  raid_level = 0
  encryption.bits = 256
  encryption.key = "0123456789abcdef9876543210"

يوضح هذا المثال إرفاق ثلاثة وحدات تخزين إلى العقدة المسماة scheduler، وسمت نقطة التحميل الخاصة بها giant. يشير تكوين نقطة التحميل إلى أنك تقوم ب RAID هذه وحدات التخزين الثلاثة معا باستخدام raid_level = 0 ل RAID0، وتنسيقها باستخدام xfs نظام الملفات، وتركيب الجهاز الناتج في /mnt/giant. يمكنك أيضا استخدام تشفير مستوى الكتلة مع AES 256 بت وتحديد مفتاح التشفير في القالب.

تشفير القرص

يدعم CycleCloud التشفير من جانب الخادم (SSE) لنظام التشغيل ووحدات تخزين قرص البيانات باستخدام مجموعات تشفير قرص Azure. يستخدم Azure المفاتيح المدارة للنظام الأساسي (PMK) بشكل افتراضي. لاستخدام المفاتيح المدارة من قبل العميل (CMK)، قم بإعداد مجموعة تشفير قرص Azure وKey Vault باستخدام المفتاح الخاص بك. راجع الوثائق لإعداد مجموعة تشفير القرص.

Resource ID سجل مجموعة تشفير القرص عند إنشائها. يمكنك العثور على هذا المعرف في بوابة Azure تحت قسم الخصائص في شفرة مجموعات تشفير الأقراص.

لتطبيق SSE مع CMK على وحدات تخزين عقدة CycleCloud، أضف التعليمات البرمجية التالية إلى تعريفك [[[volume]]] :

DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME

على سبيل المثال:

[[node scheduler]]
....
  [[[volume encryptedVolume]]]
  VolumeId = vol-1234abcd
  Mount = encrypted

  # Insert your RESOURCE ID here:
  DiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet

  [[[configuration cyclecloud.mounts.encrypted]]]
  mountpoint = /mnt/encrypted
  fs_type = ext4
  raid_level = 0

Note

قدم CycleCloud 8.5 بناء الجملة المبسط. بالنسبة للإصدارات السابقة، استخدم Azure.Encryption.DiskEncryptionSetId بدلا من ذلك:

Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME. لا تحتاج إلى تعيين Azure.Encryption.Type.

يدعم CycleCloud 8.5 أيضا تشفير القرص السري. يحمي هذا النظام جميع الأقسام الهامة للقرص ويجعل محتوى القرص المحمي متاحا فقط للجهاز الظاهري. تشفير القرص السري لكل قرص ويتطلب تعيين نوع تشفير الأمان إلى DiskWithVMGuestState.

على سبيل المثال، لاستخدام التشفير السري على قرص نظام التشغيل:

[[node scheduler]]
  [[[volume boot]]]

  ConfidentialDiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
  SecurityEncryptionType = DiskWithVMGuestState

لمزيد من المعلومات، راجع مرجع تكوين وحدة التخزين.

خيارات تكوين التحميل

Option Definition
mountpoint المكان حيث تقوم بتحميل الأجهزة بعد تطبيق أي تكوين إضافي. إذا لم تحدد نقطة تحميل، يصبح اسم التحميل جزءا من نقطة التحميل. على سبيل المثال، إذا قمت بتسمية التحميل dataالخاص بك ، تعيين نقطة التحميل افتراضيا إلى /media/data.
options أي خيارات غير افتراضية لاستخدامها عند تحميل الجهاز.
fs_type نظام الملفات المراد استخدامه عند التنسيق و/أو التحميل. الخيارات المتوفرة هي: ext3، ext4، xfs.
size حجم نظام الملفات المراد إنشاؤه عند تنسيق الأجهزة. إذا حذفت هذه المعلمة، يستخدم الأمر كافة المساحة على الجهاز. حدد الحجم باستخدام M للميغابايت (على سبيل المثال، 150M ل 150 ميغابايت)، أو G للجيجابايت (على سبيل المثال، 200G ل 20 غيغابايت)، أو النسب المئوية (على سبيل المثال، 100% لاستخدام كل المساحة المتوفرة).
disabled إذا كان صحيحا، فلن يتم إنشاء نقطة التحميل. هذا الإعداد مفيد للتبديل السريع بين التحميلات للاختبار وتعطيل التحميل التلقائي المؤقت. الافتراضي: False.
raid_level نوع تكوين RAID لاستخدامه عند استخدام أجهزة أو وحدات تخزين متعددة. القيمة الافتراضية هي 0، مما يعني RAID0. يمكنك استخدام مستويات RAID الأخرى مثل 1 أو 10.
raid_device_symlink عند إنشاء جهاز RAID، حدد هذه السمة لإنشاء ارتباط رمزي إلى جهاز RAID. بشكل افتراضي، لا يتم تعيين هذه السمة ولا يتم إنشاء ارتباط symlink. قم بتعيين هذه السمة إذا كنت بحاجة إلى الوصول إلى جهاز RAID الأساسي.
devices قائمة الأجهزة التي تقوم بإنشاء نقطة التحميل. بشكل عام، لا تحتاج إلى تحديد هذه المعلمة لأن CycleCloud يعينها لك استنادا إلى أقسام [[وحدة التخزين]]. ومع ذلك، يمكنك تحديد الأجهزة يدويا إذا كنت تريد ذلك.
vg_name على Linux، يمكنك تكوين الأجهزة باستخدام Logical Volume Manager (LVM). يتم تعيين اسم مجموعة وحدة التخزين تلقائيا، ولكن يمكنك تعيين هذه السمة إذا كنت تريد استخدام اسم معين. الافتراضي هو cyclecloud-vgX، حيث X هو رقم معين تلقائيا.
lv_name يتم تكوين الأجهزة على Linux باستخدام Logical Volume Manager (LVM). يقوم النظام تلقائيا بتعيين هذه القيمة، لذلك لا تحتاج إلى تحديدها. إذا كنت تريد استخدام اسم وحدة تخزين منطقية مخصص، فحدده بهذه السمة. الإعدادات الافتراضية لـ lv0.
order بتحديد ترتيب، يمكنك التحكم في الترتيب الذي يتم تحميل نقاط التحميل به. قيمة الطلب الافتراضية لكافة نقاط التحميل هي 1000، باستثناء ephemeral القيمة 0 (ephemeral يتم تحميلها أولا بشكل افتراضي). يمكنك تجاوز هذا السلوك حسب الحاجة.
encryption.bits عدد البتات التي يجب استخدامها عند تشفير نظام الملفات. القيم القياسية هي 128 أو 256 تشفير AES بت. يجب توفير هذه القيمة إذا كنت تريد التشفير.
encryption.key مفتاح التشفير المراد استخدامه عند تشفير نظام الملفات. إذا حذفت هذا المفتاح، يقوم النظام بإنشاء مفتاح عشوائي 2048 بت. يكون المفتاح الذي تم إنشاؤه تلقائيا مفيدا عندما تقوم بتشفير الأقراص التي لا تستمر بين عمليات إعادة التشغيل (على سبيل المثال، عند تشفير الأجهزة سريعة الزوال).
encryption.name اسم نظام الملفات المشفرة، المستخدم عند حفظ مفاتيح التشفير. الافتراضيات إلى cyclecloud_cryptX، حيث X هو رقم تم إنشاؤه تلقائيا.
encryption.key_path موقع الملف حيث تتم كتابة المفتاح على القرص. الافتراضيات إلى /root/cyclecloud_cryptX.key، حيث X هو رقم تم إنشاؤه تلقائيا.

الإعدادات الافتراضية لتكوين التحميل

استخدم هذه الخيارات لتعيين الإعدادات الافتراضية للنظام لنقاط التحميل. يستخدم النظام هذه الإعدادات الافتراضية ما لم تحدد خلاف ذلك:

Options Definition
cyclecloud.mount_defaults.fs_type نوع نظام الملفات لاستخدامه في عمليات التحميل إذا لم تحدد واحدا. الافتراضي: ext3 أو ext4، اعتمادا على النظام الأساسي.
cyclecloud.mount_defaults.size حجم نظام الملفات الافتراضي لاستخدامه إذا لم تحدد واحدا. الافتراضي: 50 غيغابايت.
cyclecloud.mount_defaults.raid_level مستوى الغارة الافتراضي لاستخدامه إذا قمت بتعيين أجهزة متعددة إلى نقطة التحميل. الافتراضي: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits مستوى التشفير الافتراضي إذا لم تحدد واحدا. الافتراضي: غير محدد.