كيفية تحميل حاوية Azure Blob Storage على Linux باستخدام BlobFuse2
تنبيه
تشير هذه المقالة إلى CentOS، وهو توزيع Linux يقترب من حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك. لمزيد من المعلومات، راجع إرشادات نهاية العمر الافتراضي CentOS.
توضح هذه المقالة كيفية تثبيت وتكوين BlobFuse2، وإدخال حاوية Azure blob، والوصول إلى البيانات في الحاوية. تتمثل الخطوات الأساسية فيما يلي:
كيفية تثبيت BlobFuse2
لديك خياران لتثبيت BlobFuse2:
- تثبيت BlobFuse2 من مستودعات برامج Microsoft لنظام التشغيل Linux - هذه هي الطريقة المفضلة للتثبيت. يتوفر BlobFuse2 في المستودعات للعديد من توزيعات Linux الشائعة.
- إنشاء ثنائيات BlobFuse2 من التعليمات البرمجية المصدر - يمكنك إنشاء ثنائيات BlobFuse2 من التعليمات البرمجية المصدر إذا لم تكن متوفرة في المستودعات للتوزيع الخاص بك.
الخيار 1: تثبيت BlobFuse2 من مستودعات برامج Microsoft لنظام Linux
لمشاهدة التوزيعات المدعومة، راجع إصدارات BlobFuse2.
للحصول على معلومات حول دعم libfuse، راجع BlobFuse2 README.
للتحقق من إصدار Linux، شغّل الأمر التالي:
cat /etc/*-release
إذا لم تتوفر ثنائيات للتوزيع، يمكنك الخيار 2: إنشاء الثنائيات من التعليمات البرمجية المصدر.
لتثبيت 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
الخيار 2: إنشاء الثنائيات من التعليمات البرمجية المصدر
لإنشاء ثنائيات 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
يمكنك تكوين 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
استخدام 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
و.rename
opendir
readdir
rmdir
open
read
create
write
close
unlink
truncate
stat
ومع ذلك، يجب أن تكون على دراية ببعض الاختلافات الرئيسية في الوظائف:
دعم الميزة
يوضح هذا الجدول كيفية دعم هذه الميزة في حسابك وتأثيرها على الدعم عند تمكين قدرات معينة:
نوع حساب التخزين | 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) حساب تخزين مع تمكين مساحة اسم هرمية.