BlobFuse2 ile Linux'ta Azure Blob Depolama kapsayıcısı bağlama
Bu makalede BlobFuse2'yi yükleme ve yapılandırma, Azure blob kapsayıcısı bağlama ve kapsayıcıdaki verilere erişme adımları gösterilmektedir. Temel adımlar şunlardır:
BlobFuse2'yi yükleme
BlobFuse2'yi yüklemek için iki seçeneğiniz vardır:
- Linux için Microsoft yazılım depolarından BlobFuse2'yi yükleme - Tercih edilen yükleme yöntemi budur. BlobFuse2, çeşitli yaygın Linux dağıtımları için depolarda kullanılabilir.
- Kaynak koddan BlobFuse2 ikili dosyalarını oluşturma - Dağıtımınız için depolarda kullanılamıyorsa kaynak koddan BlobFuse2 ikili dosyalarını oluşturabilirsiniz.
Seçenek 1: Linux için Microsoft yazılım depolarından BlobFuse2'yi yükleme
Desteklenen dağıtımları görmek için bkz . BlobFuse2 sürümleri.
Libfuse desteği hakkında bilgi için bkz . BlobFuse2 BENİOKU.
Linux sürümünüzü denetlemek için aşağıdaki komutu çalıştırın:
cat /etc/*-release
Dağıtımınız için kullanılabilir ikili dosya yoksa, Seçenek 2: Kaynak koddan ikili dosyalar oluşturabilirsiniz.
Depolardan BlobFuse2 yüklemek için:
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.
BlobFuse2'yi yükleme
Seçenek 2: Kaynak koddan ikili dosyaları oluşturma
Kaynak koddan BlobFuse2 ikili dosyalarını oluşturmak için:
Bağımlılıkları yükleyin:
Git'i yükleme:
sudo apt-get install git
BlobFuse2 bağımlılıklarını yükleyin.
Ubuntu'da:
sudo apt-get install libfuse3-dev fuse3 -y
Depoyu kopyalayın:
sudo git clone https://github.com/Azure/azure-storage-fuse/ sudo cd ./azure-storage-fuse sudo git checkout main
BlobFuse2 derlemesi:
go get go build -tags=fuse3
İpucu
Go'yı yüklemeniz gerekiyorsa bkz . Go'yi indirme ve yükleme.
BlobFuse2'yi yapılandırma
BlobFuse2'yi çeşitli ayarları kullanarak yapılandırabilirsiniz. Tipik ayarlardan bazıları şunlardır:
- Günlüğe kaydetme konumu ve seçenekleri
- Önbelleğe alma için geçici dosya yolu
- Bağlanacak Azure depolama hesabı ve blob kapsayıcısı hakkında bilgi
Ayarlar bir YAML yapılandırma dosyasında, ortam değişkenleri kullanılarak veya BlobFuse2 komutlarına geçirilen parametreler olarak yapılandırılabilir. Tercih edilen yöntem yapılandırma dosyasını kullanmaktır.
BlobFuse2 yapılandırma parametrelerinin her biri ve bunların nasıl belirtileceğinin ayrıntıları için şu makalelere bakın:
- BlobFuse2 ayarlarını yapılandırma
- BlobFuse2 yapılandırma dosyası
- BlobFuse2 ortam değişkenleri
- BlobFuse2 bağlama komutları
BlobFuse2'yi bağlama için yapılandırmak için:
- Önbelleğe almayı yapılandırın.
- Blob kapsayıcısını bağlamak için boş bir dizin oluşturun.
- Depolama hesabınıza erişim yetkisi verin.
Önbelleğe almayı yapılandırma
BlobFuse2, yerel dosya önbelleğe alma tekniklerini kullanarak yerel benzeri performans sağlar. Önbelleğe alma yapılandırması ve davranışı, büyük dosyaların akışını yaptığınıza veya daha küçük dosyalara eriştiğinize bağlı olarak değişir.
Büyük dosyaları akışla aktarma için önbelleğe almayı yapılandırma
BlobFuse2, dosyalar için disk önbelleğine alternatif olarak okuma ve yazma işlemlerinin akışını destekler. Akış modunda BlobFuse2, hem okuma hem de yazma için bellekteki büyük dosya bloklarını önbelleğe alır. Akış için önbelleğe alma ile ilgili yapılandırma ayarları, yapılandırma dosyanızdaki ayarların stream:
altındadır:
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
Daha küçük dosyalar için önbelleğe almayı yapılandırma
Daha küçük dosyalar, yapılandırma dosyasında altında file_cache:
belirtilen geçici bir yola önbelleğe alınır:
file_cache:
path: <path to local disk cache>
Not
BlobFuse2, tüm açık dosya içeriğini geçici yolda depolar. Tüm açık dosyaları içerecek kadar alanınız olduğundan emin olun.
Dosya önbelleğe alma için geçici yolu yapılandırmak için üç yaygın seçeneğiniz vardır:
Yerel yüksek performanslı disk kullanma
Dosya önbelleğe alma için mevcut bir yerel disk kullanıyorsanız, katı hal diski (SSD) gibi mümkün olan en iyi performansı sağlayan bir disk seçin.
RAM diski kullanma
Aşağıdaki örnek, BlobFuse2 için 16 GB'lık bir RAM diski ve bir dizin oluşturur. Gereksinimlerinizi karşılayan bir boyut seçin. BlobFuse2, boyutu 16 GB'a kadar olan dosyaları açmak için RAM diskini kullanır.
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 kullanma
Azure'da, BlobFuse2 için düşük gecikme süreli bir arabellek sağlamak üzere VM'lerinizde bulunan SSD kısa ömürlü diskleri kullanabilirsiniz. Kullandığınız sağlama aracısına bağlı olarak, kısa ömürlü diski cloud-init için /mnt veya Microsoft Azure Linux Agent (waagent) VM'leri için /mnt/resource üzerine bağlayın.
Kullanıcınızın geçici yola erişimi olduğundan emin olun:
sudo mkdir /mnt/resource/blobfuse2tmp -p
sudo chown <youruser> /mnt/resource/blobfuse2tmp
Blob kapsayıcısını bağlamak için boş bir dizin oluşturma
Blob kapsayıcısını bağlamak üzere boş bir dizin oluşturmak için:
mkdir ~/mycontainer
Depolama hesabınıza erişimi yetkilendirme
Kapsayıcıyı takan kullanıcı için depolama hesabına erişim vermelisiniz. Erişim vermenin en yaygın yolları aşağıdaki seçeneklerden birini kullanmaklardır:
- Depolama hesabı erişim anahtarı
- Paylaşılan erişim imzası
- Yönetilen kimlik
- Hizmet sorumlusu
Yetkilendirme bilgilerini bir yapılandırma dosyasında veya ortam değişkenlerinde sağlayabilirsiniz. Daha fazla bilgi için bkz . BlobFuse2 ayarlarını yapılandırma.
Blob kapsayıcısını bağlama
Önemli
BlobFuse2 çakışan bağlama yollarını desteklemez. BlobFuse2'nin birden çok örneğini çalıştırırsanız, her örneğin benzersiz ve çakışmayan bir bağlama noktası olduğundan emin olun.
BlobFuse2, aynı bağlama yolunda NFS ile birlikte bulunmayı desteklemez. BlobFuse2'yi NFS ile aynı bağlama yolunda çalıştırmanın sonuçları tanımlanmamıştır ve veri bozulmasına neden olabilir.
BlobFuse2 kullanarak bir Azure blok blob kapsayıcısını bağlamak için aşağıdaki komutu çalıştırın. komutu içinde ./config.yaml
belirtilen kapsayıcıyı konumuna ~/mycontainer
bağlar:
sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml
Not
Bağlama seçeneklerinin tam listesi için bkz . BlobFuse2 bağlama komutları.
Artık Linux dosya sistemi ve ilgili API'ler aracılığıyla blok bloblarınıza erişiminiz olmalıdır. Dağıtımınızı test etmek için yeni bir dizin ve dosya oluşturmayı deneyin:
cd ~/mycontainer
mkdir test
echo "hello world" > test/blob.txt
Verilere erişme
Genellikle Yerel Linux dosya sistemiyle çalıştığınız gibi BlobFuse2'ye bağlı depolama ile çalışabilirsiniz. Dosya yolunda sınırlayıcı olarak eğik çizgi (/
) ile sanal dizin düzenini kullanır ve , , opendir
, readdir
, , rmdir
, open
, , close
unlink
stat
read
create
write
truncate
ve rename
gibi mkdir
temel dosya sistemi işlemlerini destekler.
Ancak, işlevsellikte bazı önemli farkların farkında olmanız gerekir:
Özellik desteği
Bu tabloda, bu özelliğin hesabınızda nasıl desteklendiği ve belirli özellikleri etkinleştirdiğinizde destek üzerindeki etkisi gösterilir:
Storage account type | Blob Depolama (varsayılan destek) | Data Lake Storage 1 | NFS 3.0 1 | SFTP 1 |
---|---|---|---|---|
Standart genel amaçlı v2 | ||||
Premium blok blobları |
1 Azure Data Lake Storage, Ağ Dosya Sistemi (NFS) 3.0 protokolü ve SSH Dosya Aktarım Protokolü (SFTP) desteği, hiyerarşik ad alanı etkinleştirilmiş bir depolama hesabı gerektirir.