كيفية تحميل حاوية Azure Blob Storage على Linux باستخدام BlobFuse2

تنبيه

تشير هذه المقالة إلى CentOS، وهو توزيع Linux يقترب من حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك. لمزيد من المعلومات، راجع إرشادات نهاية العمر الافتراضي CentOS.

توضح هذه المقالة كيفية تثبيت وتكوين BlobFuse2، وإدخال حاوية Azure blob، والوصول إلى البيانات في الحاوية. تتمثل الخطوات الأساسية فيما يلي:

تثبيت BlobFuse2

تكوين BlobFuse2

تحميل حاوية كائن ثنائي كبير الحجم

الوصول إلى البيانات

كيفية تثبيت BlobFuse2

لديك خياران لتثبيت BlobFuse2:

الخيار 1: تثبيت BlobFuse2 من مستودعات برامج Microsoft لنظام Linux

لمشاهدة التوزيعات المدعومة، راجع إصدارات BlobFuse2.

للحصول على معلومات حول دعم libfuse، راجع BlobFuse2 README.

للتحقق من إصدار Linux، شغّل الأمر التالي:

cat /etc/*-release

إذا لم تتوفر ثنائيات للتوزيع، يمكنك الخيار 2: إنشاء الثنائيات من التعليمات البرمجية المصدر.

لتثبيت BlobFuse2 من المستودعات:

تكوين مستودع حزمة Microsoft

تثبيت BlobFuse2

تكوين مستودع حزم Microsoft

كوّن مستودع حزمة Linux لمنتجات Microsoft.

على سبيل المثال، على توزيع Redhat Enterprise Linux 8:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm

وبالمثل، قم بتغيير عنوان URL للإشارة .../rhel/7/... إلى توزيع Redhat Enterprise Linux 7.

تثبيت BlobFuse2

sudo yum install blobfuse2

الخيار 2: إنشاء الثنائيات من التعليمات البرمجية المصدر

لإنشاء ثنائيات BlobFuse2 من التعليمات البرمجية المصدر:

  1. تثبيت تأمينات التشغيل:

    1. ثبّت Git:

      sudo apt-get install git
      
    2. تثبيت تبعيات BlobFuse2.

      من Ubuntu:

      sudo apt-get install libfuse3-dev fuse3 -y
      
  2. استنساخ المستودع:

    sudo git clone https://github.com/Azure/azure-storage-fuse/
    sudo cd ./azure-storage-fuse
    sudo git checkout main
    
  3. بناء BlobFuse2:

    go get
    go build -tags=fuse3
    

تلميح

إذا كنت بحاجة إلى تثبيت Go، فشاهد تنزيل Go وتثبيته.

كيفية تكوين BlobFuse2

يمكنك تكوين BlobFuse2 باستخدام إعدادات مختلفة. تتضمن بعض الإعدادات النموذجية ما يلي:

  • موقع التسجيل وخياراته
  • مسار ملف مؤقت للتخزين المؤقت
  • معلومات حول حساب تخزين Azure وحاوية الكائن الثنائي كبير الحجم التي ستُركّب

يمكن تكوين الإعدادات في ملف تكوين YAML، باستخدام متغيرات البيئة، أو كمعلمات تم تمريرها إلى أوامر BlobFuse2. الأسلوب المفضل هو استخدام ملف التكوين.

للحصول على تفاصيل حول كل معلمة من معلمات التكوين ل BlobFuse2 وكيفية تحديدها، راجع هذه المقالات:

لتكوين BlobFuse2 للتركيب:

  1. تكوين التخزين المؤقت.
  2. إنشاء دليل فارغ لتحميل حاوية الكائن الثنائي كبير الحجم.
  3. تخويل الوصول إلى حساب التخزين الخاص بك.

تكوين التخزين المؤقت

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

تكوين التخزين المؤقت لتدفق الملفات الكبيرة

يدعم BlobFuse2 الدفق لعمليات القراءة والكتابة كبديل للتخزين المؤقت للأقراص للملفات. في وضع الدفق، يخزن BlobFuse2 كتل الملفات الكبيرة في الذاكرة مؤقتا للقراءة والكتابة. تقع إعدادات التكوين المتعلقة بالتخزين المؤقت للتدفق ضمن stream: الإعدادات الموجودة في ملف التكوين الخاص بك:

stream:
    block-size-mb:
        For read only mode, the size of each block to be cached in memory while streaming (in MB)
        For read/write mode, the size of newly created blocks
    max-buffers: The total number of buffers to store blocks in
    buffer-size-mb: The size for each buffer

للبدء بسرعة مع بعض الإعدادات لسيناريو تدفق أساسي، راجع نموذج ملف تكوين البث.

تكوين التخزين المؤقت للملفات الأصغر

يتم تخزين الملفات الأصغر مؤقتا إلى مسار مؤقت محدد ضمن file_cache: في ملف التكوين:

file_cache:
    path: <path to local disk cache>

إشعار

يخزن BlobFuse2 كافة محتويات الملف المفتوح في المسار المؤقت. تأكد من أن لديك مساحة كافية لاحتواء جميع الملفات المفتوحة.

لديك ثلاثة خيارات شائعة لتكوين المسار المؤقت للتخزين المؤقت للملفات:

استخدام قرص محلي عالي الأداء

إذا كنت تستخدم قرصا محليا موجودا للتخزين المؤقت للملفات، فاختر قرصا يوفر أفضل أداء ممكن، مثل قرص الحالة الصلبة (SSD).

استخدام قرص ذاكرة الوصول العشوائي

ينشئ المثال التالي قرص ذاكرة وصول عشوائي بسعة 16 غيغابايت ودليل BlobFuse2. اختر الحجم الذي يلبي متطلباتك. يستخدم BlobFuse2 قرص ذاكرة الوصول العشوائي لفتح الملفات التي يصل حجمها إلى 16 غيغابايت.

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfuse2tmp
sudo chown <youruser> /mnt/ramdisk/blobfuse2tmp
استخدام SSD

في Azure، يمكنك استخدام أقراص SSD سريعة الزوال المتوفرة على الأجهزة الظاهرية لتوفير مخزن مؤقت منخفض زمن الانتقال ل BlobFuse2. اعتمادا على عامل التوفير الذي تستخدمه، قم بتحميل القرص المؤقت على /mnt ل cloud-init أو /mnt/resource للأجهزة الظاهرية ل Microsoft Azure Linux Agent (waagent).

تأكد من أن المستخدم الخاص بك لديه حق الوصول إلى المسار المؤقت:

sudo mkdir /mnt/resource/blobfuse2tmp -p
sudo chown <youruser> /mnt/resource/blobfuse2tmp

إنشاء دليل فارغ لتحميل حاوية الكائن الثنائي كبير الحجم

لإنشاء دليل فارغ لتحميل حاوية الكائن الثنائي كبير الحجم:

mkdir ~/mycontainer

تخويل الوصول إلى حساب التخزين الخاص بك

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

  • مفتاح الوصول لحساب التخزين
  • توقيع الوصول المشترك
  • الهوية المُدارة
  • كيان الخدمة

يمكنك توفير معلومات التخويل في ملف تكوين أو في متغيرات البيئة. لمزيد من المعلومات، راجع تكوين إعدادات BlobFuse2.

كيفية تحميل حاوية كائن ثنائي كبير الحجم

هام

لا يدعم BlobFuse2 مسارات التحميل المتراكبة. إذا قمت بتشغيل مثيلات متعددة من BlobFuse2، فتأكد من أن كل مثيل يحتوي على نقطة تحميل فريدة وغير متداخلة.

لا يدعم BlobFuse2 التعايش مع NFS على نفس مسار التحميل. نتائج تشغيل BlobFuse2 على نفس مسار التحميل مثل NFS غير معرفة وقد تؤدي إلى تلف البيانات.

لتحميل حاوية كائن ثنائي كبير الحجم لكتلة Azure باستخدام BlobFuse2، قم بتشغيل الأمر التالي. يقوم الأمر بتحميل الحاوية المحددة في ./config.yaml على الموقع ~/mycontainer:

sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml

إشعار

للحصول على قائمة كاملة بخيارات التحميل، راجع أوامر تحميل BlobFuse2.

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

cd ~/mycontainer
mkdir test
echo "hello world" > test/blob.txt

كيفية الوصول إلى البيانات

بشكل عام، يمكنك العمل مع التخزين المُركّب على BlobFuse2 كما لو كنت تعمل مع نظام ملفات Linux الأصلي. ويستخدم نظام الدليل الظاهري مع شرطة مائلة للأمام (/) كمحدد في مسار الملف ويدعم عمليات نظام الملفات الأساسية مثل mkdirو.renameopendirreaddirrmdiropenreadcreatewritecloseunlinktruncatestat

ومع ذلك، يجب أن تكون على دراية ببعض الاختلافات الرئيسية في الوظائف:

دعم الميزة

يوضح هذا الجدول كيفية دعم هذه الميزة في حسابك وتأثيرها على الدعم عند تمكين قدرات معينة:

نوع حساب التخزين Blob Storage (الدعم الافتراضي) Data Lake Storage Gen2 1 NFS 3.0 1 SFTP 1
معيار الأغراض العامة v2 ‏‏نعم‬ نعم نعم ‏‏نعم‬
Premium كتلة blobs ‏‏نعم‬ نعم نعم ‏‏نعم‬

يتطلب كل من Azure Data Lake Storage Gen2 وبروتوكول نظام ملفات الشبكة (NFS) 3.0 وبروتوكول نقل الملفات SSH (SFTP) حساب تخزين مع تمكين مساحة اسم هرمية.

(راجع أيضًا )

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