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
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 , storageaccesskey
ve mycontainer
güncelleştirmeniz myaccount
gerekir.
Ş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=true
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_other
aracı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.