مشاركة عبر


كيفية تحميل Azure Blob Storage كنظام ملفات باستخدام BlobFuse v1

هام

BlobFuse2 هو أحدث إصدار من BlobFuse ولديه العديد من التحسينات الهامة على الإصدار الذي تمت مناقشته في هذه المقالة، BlobFuse v1. للتعرف على التحسينات التي تم إجراؤها في BlobFuse2، راجع قائمة تحسينات BlobFuse2.

BlobFuse هو برنامج تشغيل نظام ملفات ظاهري لتخزين Azure Blob. يتيح لك Blobfuse الوصول إلى كتلة بيانات كائن ثنائي كبير الحجم الموجودة في حساب التخزين من خلال نظام ملفات Linux. يستخدم Blobfuse مخطط الدليل الظاهري مع الشرطة المائلة للأمام «/» كمحدِّد.

يوضح لك هذا الدليل كيفية استخدام BlobFuse v1 وإدخال حاوية Blob Storage على Linux والوصول إلى البيانات. لمعرفة المزيد حول BlobFuse v1، راجع readme و wiki.

تحذير

لا يضمن Blobfuse الامتثال لـ POSIX بنسبة 100% لأنه ببساطة يترجم الطلبات إلى واجهات برمجة تطبيقات REST للكائن الثنائي كبير الحجم. على سبيل المثال، عمليات إعادة التسمية دقيقة في POSIX، ولكن ليس في BlobFuse. للحصول على قائمة كاملة بالاختلافات بين نظام الملفات الأصلي وBlobFuse، تفضل بزيارةمستودع التعليمات البرمجية المصدر BlobFuse.

تثبيت BlobFuse v1 على Linux

تتوفر ثنائيات BlobFuse على مستودعات برامج Microsoft لتوزيعات Linux ل Ubuntu وD debian وSUSE وOracle Linux و RHEL. لتثبيت BlobFuse على هذه التوزيعات، كوّن أحد المستودعات من القائمة. يمكنك أيضًا إنشاء الثنائيات من التعليمات البرمجية المصدر باتباع خطوات تثبيت تخزين Azure إذا لم تكن هناك ثنائيات متوفرة للتوزيع الخاص بك.

يتم نشر BlobFuse في مستودع Linux لإصدارات Ubuntu: 16.04، 18.04 و20.04، إصدارات RHEL: 7.5، 7.8، 7.9، 8.0، 8.1، 8.2، إصدارات Debian: 9.0، 10.0، إصدار SUSE: 15، Oracle Linux 8.1. قم بتشغيل هذا الأمر للتأكد من نشر أحد هذه الإصدارات:

cat /etc/*-release

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

كوّن مستودع حزمة 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.

تثبيت BlobFuse v1

sudo yum install blobfuse

الاستعداد للإدخال

يوفر BlobFuse أداءً شبيهًا بالأداء الأصلي من خلال طلب مسار مؤقت في نظام الملفات لتخزين أي ملفات مفتوحة مؤقتًا. بالنسبة لهذا المسار المؤقت، اختر القرص الأكثر أداء، أو استخدم قرص محرك الذاكرة العشوائية للحصول على أفضل أداء.

إشعار

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

(اختياري) استخدام محرك الذاكرة العشوائية للمسار المؤقت

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

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfusetmp
sudo chown <youruser> /mnt/ramdisk/blobfusetmp

استخدام محرك أقراص ذا الحالة الصلبة كمسار مؤقت

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

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

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

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

يمكنك تخويل الوصول إلى حساب التخزين الخاص بك باستخدام مفتاح الاختصار إلى الحساب أو توقيع الوصول المشترك أو الهوية المدارة أو أصل الخدمة. يمكن توفير معلومات التخويل في سطر الأوامر أو في ملف تكوين أو في متغيرات البيئة. للحصول على التفاصيل، راجع إعدادات المصادقة المؤكدة في الملف التمهيدي BlobFuse.

على سبيل المثال، لنفترض أنك تقوم بتخويل استخدام مفاتيح الاختصار إلى الحساب وتخزينها في ملف تكوين. يجب أن يكون URL بالتنسيق التالي:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

هذا accountName هو اسم حساب التخزين الخاص بك، وليس عنوان URL الكامل. تحتاج إلى تحديث myaccountو storageaccesskeyو mycontainer بمعلومات التخزين الخاصة بك.

أنشئ هذا الملف باستخدام:

sudo touch /path/to/fuse_connection.cfg

بمجرد إنشاء هذا الملف وتحريره، تأكد من تقييد الوصول حتى لا يتمكن أي مستخدم آخر من قراءته.

sudo chmod 600 /path/to/fuse_connection.cfg

إشعار

إذا قمت بإنشاء ملف التكوين على Windows، فتأكد من التشغيل dos2unix لتعقيم الملف وتحويله إلى تنسيق Unix.

إنشاء دليل فارغ للإدخال

sudo mkdir ~/mycontainer

تثبيت

إشعار

للحصول على قائمة كاملة بخيارات التركيب، تحقق من مستودع BlobFuse.

لتركيب BlobFuse، شغّل الأمر التالي مع المستخدم. يقوم هذا الأمر بإدخال الحاوية المحددة في «/path/to/fuse_connection.cfg» على الموقع «/mycontainer».

sudo blobfuse ~/mycontainer --tmp-path=/mnt/resource/blobfusetmp  --config-file=/path/to/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120

إشعار

إذا كنت تستخدم حساب ADLS، فيجب عليك تضمين --use-adls=true.

يجب أن يكون لديك الآن حق الوصول إلى الكتلة الكائن الثنائي كبير الحجم الخاصة بك من خلال واجهات برمجة تطبيقات نظام الملفات العادية. المستخدم الذي يقوم بتحميل الدليل هو الشخص الوحيد الذي يمكنه الوصول إليه، افتراضيًّا، مما يؤمن الوصول. للسماح بالوصول إلى جميع المستخدمين، يمكنك الإدخال عبر الخيار -o allow_other.

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

استمر في التحميل

لمعرفة كيفية الاستمرار في التركيب، راجع الاستمرار في موسوعة BlobFuse.

دعم الميزة

قد يتأثر دعم هذه الميزة بتمكين Data Lake Storage Gen2 أو بروتوكول نظام ملفات الشبكة (NFS) 3.0 أو بروتوكول نقل ملفات SSH (SFTP). إذا قمت بتمكين أي من هذه الإمكانات، فراجع دعم ميزة Blob Storage في حسابات Azure Storage لتقييم الدعم لهذه الميزة.

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