BlobFuse v1 ile Azure Blob Depolama'yı dosya sistemi olarak bağlama

Önemli

BlobFuse2 , BlobFuse'un en son sürümüdür ve bu makalede açıklanan BlobFuse v1 sürümü üzerinde birçok önemli iyileştirmeye sahiptir. BlobFuse2'de yapılan iyileştirmeler hakkında bilgi edinmek için BlobFuse2 geliştirmeleri listesine bakın.

BlobFuse , Azure Blob Depolama için bir sanal dosya sistemi sürücüsüdür. BlobFuse, Linux dosya sistemi aracılığıyla depolama hesabınızdaki mevcut blok blob verilerinize erişmenizi sağlar. BlobFuse, sınırlayıcı olarak eğik çizgi '/' ile sanal dizin düzenini kullanır.

Bu kılavuzda, BlobFuse v1'i kullanma ve Linux'ta Blob Depolama kapsayıcısı bağlama ve verilere erişme adımları gösterilmektedir. BlobFuse v1 hakkında daha fazla bilgi edinmek için benioku ve wiki'ye bakın.

Uyarı

BlobFuse, istekleri Yalnızca Blob REST API'lerine çevirdiğinden 100% POSIX uyumluluğunu garanti etmez. Örneğin, yeniden adlandırma işlemleri POSIX'te atomiktir, ancak BlobFuse'ta değildir. Yerel dosya sistemi ile BlobFuse arasındaki farkların tam listesi için BlobFuse kaynak kodu deposunu ziyaret edin.

Linux'ta BlobFuse v1'i yükleme

BlobFuse ikili dosyaları Ubuntu, Debian, SUSE, Oracle Linux ve RHEL dağıtımları için Linux için Microsoft yazılım depolarında kullanılabilir. BlobFuse'u bu dağıtımlara yüklemek için listedeki depolardan birini yapılandırın. Dağıtımınız için ikili dosyalar mevcut değilse, Azure Depolama yükleme adımlarını izleyerek ayrıca kaynak kodundan ikili dosyalar oluşturabilirsiniz.

BlobFuse, Ubuntu sürümleri için Linux deposunda yayımlanır: 16.04, 18.04 ve 20.04, RHEL sürümleri: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, Debian sürümleri: 9.0, 10.0, SUSE sürümü: 15, Oracle Linux 8.1. Bu sürümlerden birinin dağıtıldığından emin olmak için şu komutu çalıştırın:

cat /etc/*-release

Microsoft paket deposunu yapılandırma

Microsoft Ürünleri için Linux Paket Deposunu yapılandırın.

Örnek olarak, Red Hat Enterprise Linux 8 dağıtımında:

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

Benzer şekilde, URL'yi .../rhel/7/... Red Hat Enterprise Linux 7 dağıtımına işaret etmek için değiştirin.

BlobFuse v1'i yükleme

sudo yum install blobfuse

Montaja hazırlanma

BlobFuse, açık dosyaları arabelleğe almak ve önbelleğe almak için dosya sisteminde geçici bir yol gerektirerek yerel düzeyde performans sağlar. Bu geçici yol için en yüksek performanslı diski seçin veya en iyi performans için ramdisk kullanın.

Uyarı

BlobFuse, tüm açık dosya içeriğini geçici yolda depolar. Tüm açık dosyaları barındırmak için yeterli alana sahip olduğundan emin olun.

(İsteğe bağlı) Geçici yol için ramdisk kullanma

Aşağıdaki örnek, 16 GB ramdisk ve BlobFuse için bir dizin oluşturur. Gereksinimlerinize göre boyutu seçin. Bu ramdisk, BlobFuse'un boyutu 16 GB'a kadar olan dosyaları açmasına olanak tanır.

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

Ssd'yi geçici yol olarak kullanma

Azure'da, VM'lerinizde bulunan geçici diskleri (SSD) BlobFuse için düşük gecikmeli bir önbellek sunmak amacıyla kullanabilirsiniz. Kullanılan sağlama aracıya bağlı olarak kısa ömürlü disk, cloud-init için '/mnt' veya waagent VM'ler için '/mnt/resource' üzerine bağlanır.

Kullanıcınızın geçici yola erişebildiğinden emin olun:

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

Depolama hesabınıza erişimi yetkilendirme

Depolama hesabınıza erişimi yetkilendirmek için hesap erişim anahtarını, paylaşılan erişim imzasını, yönetilen kimliği veya hizmet sorumlusunu kullanabilirsiniz. Yetkilendirme bilgileri komut satırında, yapılandırma dosyasında veya ortam değişkenlerinde sağlanabilir. Ayrıntılar için, BlobFuse'un Readme dosyasında geçerli kimlik doğrulama ayarları bölümüne bakın.

Örneğin, hesap erişim anahtarlarıyla yetkilendirildiğiniz ve bunları bir yapılandırma dosyasında depoladığınız varsayılır. Yapılandırma dosyası aşağıdaki biçime sahip olmalıdır:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

accountName, tam URL'yi değil depolama hesabınızın adıdır. Depolama bilgilerinizle myaccount, storageaccesskey ve mycontainer güncelleştirmeniz gerekir.

Şu dosyayı kullanarak oluşturun:

sudo touch /path/to/fuse_connection.cfg

Bu dosyayı oluşturup düzenledikten sonra, diğer kullanıcıların okuyabilmesi için erişimi kısıtladığınızdan emin olun.

sudo chmod 600 /path/to/fuse_connection.cfg

Uyarı

Yapılandırma dosyasını Windows'da oluşturduysanız, dosyayı temizleyip Unix biçimine dönüştürmek için komutunu çalıştırdığınızdan dos2unix emin olun.

Bağlama için boş bir dizin oluşturun

sudo mkdir ~/mycontainer

Mount

Uyarı

Bağlama seçeneklerinin tam listesi için BlobFuse deposunu denetleyin.

BlobFuse'u bağlamak için aşağıdaki komutu kullanıcınızla çalıştırın. Bu komut'/path/to/fuse_connection.cfg' içinde belirtilen kapsayıcıyı '/mycontainer' konumuna bağlar.

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

Uyarı

ADLS hesabı kullanıyorsanız, --use-adls=true eklemeniz gerekir.

Artık normal dosya sistemi API'leri aracılığıyla blok bloblarınıza erişiminiz olmalıdır. Dizine bağlanan kullanıcı, varsayılan olarak erişimin güvenliğini sağlayan tek kişidir. Tüm kullanıcılara erişime izin vermek için seçeneği -o allow_otheraracılığıyla bağlayabilirsiniz.

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

Bağlamayı kalıcı hale

Bağlamayı kalıcı hale getirmeyi öğrenmek için BlobFuse wiki'sinde Bağlamayı Kalıcı Hale Getirme'ye bakın.

Özellik desteği

Bu özellik için destek, Data Lake Storage 2. Nesil, Ağ Dosya Sistemi (NFS) 3.0 protokolü veya SSH Dosya Aktarım Protokolü (SFTP) etkinleştirilerek etkilenebilir. Bu özelliklerden herhangi birini etkinleştirdiyseniz bu özelliğin desteğini değerlendirmek için bkz . Azure Depolama hesaplarında Blob Depolama özelliği desteği.

Sonraki Adımlar