كيفية تحميل حاوية Azure Blob Storage على Linux باستخدام BlobFuse2
توضح هذه المقالة كيفية تثبيت وتكوين BlobFuse2، وإدخال حاوية Azure blob، والوصول إلى البيانات في الحاوية. تتمثل الخطوات الأساسية فيما يلي:
لديك خياران لتثبيت BlobFuse2:
- تثبيت BlobFuse2 من مستودعات برامج Microsoft لنظام التشغيل Linux - هذه هي الطريقة المفضلة للتثبيت. يتوفر BlobFuse2 في المستودعات للعديد من توزيعات Linux الشائعة.
- إنشاء ثنائيات BlobFuse2 من التعليمات البرمجية المصدر - يمكنك إنشاء ثنائيات BlobFuse2 من التعليمات البرمجية المصدر إذا لم تكن متوفرة في المستودعات للتوزيع الخاص بك.
لمشاهدة التوزيعات المدعومة، راجع إصدارات BlobFuse2.
للحصول على معلومات حول دعم libfuse، راجع BlobFuse2 README.
للتحقق من إصدار Linux، شغّل الأمر التالي:
cat /etc/*-release
إذا لم تتوفر ثنائيات للتوزيع، يمكنك الخيار 2: إنشاء الثنائيات من التعليمات البرمجية المصدر.
لتثبيت BlobFuse2 من المستودعات:
كوّن مستودع حزمة Linux لمنتجات Microsoft.
على سبيل المثال، على توزيع Red Hat Enterprise Linux 8:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
وبالمثل، قم بتغيير عنوان URL للإشارة .../rhel/7/...
إلى توزيع Red Hat Enterprise Linux 7.
لإنشاء ثنائيات BlobFuse2 من التعليمات البرمجية المصدر:
تثبيت تأمينات التشغيل:
ثبّت Git:
sudo apt-get install git
تثبيت تبعيات BlobFuse2.
من Ubuntu:
sudo apt-get install libfuse3-dev fuse3 -y
استنساخ المستودع:
sudo git clone https://github.com/Azure/azure-storage-fuse/ sudo cd ./azure-storage-fuse sudo git checkout main
بناء BlobFuse2:
go get go build -tags=fuse3
تلميح
إذا كنت بحاجة إلى تثبيت Go، فشاهد تنزيل Go وتثبيته.
يمكنك تكوين BlobFuse2 باستخدام إعدادات مختلفة. تتضمن بعض الإعدادات النموذجية ما يلي:
- موقع التسجيل وخياراته
- مسار ملف مؤقت للتخزين المؤقت
- معلومات حول حساب تخزين Azure وحاوية الكائن الثنائي كبير الحجم التي ستُركّب
يمكن تكوين الإعدادات في ملف تكوين YAML، باستخدام متغيرات البيئة، أو كمعلمات تم تمريرها إلى أوامر BlobFuse2. الأسلوب المفضل هو استخدام ملف التكوين.
للحصول على تفاصيل حول كل معلمة من معلمات التكوين ل BlobFuse2 وكيفية تحديدها، راجع هذه المقالات:
لتكوين BlobFuse2 للتركيب:
- تكوين التخزين المؤقت.
- إنشاء دليل فارغ لتحميل حاوية الكائن الثنائي كبير الحجم.
- تخويل الوصول إلى حساب التخزين الخاص بك.
يوفر 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
في 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
و.rename
opendir
readdir
rmdir
open
read
create
write
close
unlink
truncate
stat
ومع ذلك، يجب أن تكون على دراية ببعض الاختلافات الرئيسية في الوظائف:
يوضح هذا الجدول كيفية دعم هذه الميزة في حسابك وتأثيرها على الدعم عند تمكين قدرات معينة:
نوع حساب التخزين | Blob Storage (الدعم الافتراضي) | Data Lake Storage 1 | NFS 3.0 1 | SFTP 1 |
---|---|---|---|---|
معيار الأغراض العامة v2 |
![]() |
![]() |
![]() |
![]() |
Premium كتلة blobs |
![]() |
![]() |
![]() |
![]() |
يتطلب كل من Azure Data Lake Storage وبروتوكول Network File System (NFS) 3.0 وبروتوكول نقل الملفات SSH (SFTP) حساب تخزين مع تمكين مساحة اسم هرمية.