Aracılığıyla paylaş


BlobFuse v1 ile Azure Blob Depolama 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ği için %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 kullanılabilir ikili dosya yoksa Azure Depolama yükleme adımlarını izleyerek kaynak kodundan ikili dosyaları da 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, Redhat 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/... Redhat Enterprise Linux 7 dağıtımına işaret etmek için değiştirin.

BlobFuse v1'i yükleme

sudo yum install blobfuse

Bağlamaya hazırlanma

BlobFuse, açık dosyaları arabelleğe almak ve önbelleğe almak için dosya sisteminde geçici bir yol gerektirerek yerel benzeri 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.

Not

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, BlobFuse için düşük gecikme süreli bir arabellek sağlamak üzere VM'lerinizde bulunan kısa ömürlü diskleri (SSD) 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 bkz . BlobFuse benioku dosyasında geçerli kimlik doğrulama ayarları .

Ö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 , storageaccesskeyve mycontainer güncelleştirmeniz myaccountgerekir.

Şu dosyaları 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

Not

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ğlamak için boş bir dizin oluşturma

sudo mkdir ~/mycontainer

Bağlama

Not

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

Not

BIR ADLS hesabı kullanıyorsanız, eklemeniz --use-adls=truegerekir.

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 getirmek için bkz . BlobFuse wiki'sinde kalıcılık .

Ö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