Bagikan melalui


Cara memasang kontainer Azure Blob Storage di Linux dengan BlobFuse2

Artikel ini memperlihatkan kepada Anda cara menginstal dan mengonfigurasi BlobFuse2, memasang kontainer blob Azure, dan mengakses data dalam kontainer. Langkah-langkah dasarnya adalah:

Menginstal BlobFuse2

Mengonfigurasi BlobFuse2

Memasang kontainer blob

Mengakses data

Cara menginstal BlobFuse2

Anda memiliki dua opsi untuk menginstal BlobFuse2:

Opsi 1: Instal BlobFuse2 dari repositori perangkat lunak Microsoft untuk Linux

Untuk melihat distribusi yang didukung, lihat Rilis BlobFuse2.

Untuk informasi tentang dukungan libfuse, lihat README BlobFuse2.

Untuk memeriksa versi Linux Anda, jalankan perintah berikut:

cat /etc/*-release

Jika tidak ada biner yang tersedia untuk distribusi Anda, Anda dapat Opsi 2: Membangun biner dari kode sumber.

Untuk menginstal BlobFuse2 dari repositori:

Konfigurasi repositori paket Microsoft

Menginstal BlobFuse2

Mengonfigurasikan repositori paket Microsoft

Mengonfigurasi Repositori Paket Linux untuk Produk Microsoft.

Sebagai contoh, pada distribusi Red Hat Enterprise Linux 8:

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

Demikian pula, ubah URL untuk .../rhel/7/... menunjuk ke distribusi Red Hat Enterprise Linux 7.

Instal BlobFuse2

sudo yum install blobfuse2

Demikian pula, ubah nama paket menjadi blobfuse2-<version> untuk menginstal versi tertentu.

Opsi 2: Membangun biner dari kode sumber

Untuk membangun biner BlobFuse2 dari kode sumber:

  1. Pasang dependensi:

    1. Instal Git:

      sudo apt-get install git
      
    2. Instal dependensi BlobFuse2.

      Pada Ubuntu:

      sudo apt-get install libfuse3-dev fuse3 -y
      
  2. Mengklon repositori:

    sudo git clone https://github.com/Azure/azure-storage-fuse/
    sudo cd ./azure-storage-fuse
    sudo git checkout main
    
  3. Membangun BlobFuse2:

    go get
    go build -tags=fuse3
    

Tips

Jika Anda perlu menginstal Go, lihat Mengunduh dan menginstal Go.

Cara mengonfigurasi BlobFuse2

Anda dapat mengonfigurasi BlobFuse2 dengan menggunakan berbagai pengaturan. Beberapa pengaturan umum meliputi:

  • Lokasi dan opsi pengelogan
  • Jalur file sementara untuk penyimpanan sementara
  • Informasi tentang akun penyimpanan Azure dan kontainer blob yang akan dipasang

Pengaturan dapat dikonfigurasi dalam file konfigurasi YAML, menggunakan variabel lingkungan, atau sebagai parameter yang diteruskan ke perintah BlobFuse2. Metode yang disukai adalah menggunakan file konfigurasi.

Untuk detail tentang setiap parameter konfigurasi untuk BlobFuse2 dan cara menentukannya, lihat artikel berikut:

Untuk mengonfigurasi BlobFuse2 untuk pemasangan:

  1. Mengonfigurasi penembolokan.
  2. Buat direktori kosong untuk memasang wadah blob.
  3. Otorisasi akses ke akun penyimpanan Anda.

Mengonfigurasi cache

BlobFuse2 menyediakan kinerja seperti asli dengan menggunakan teknik pencachean file lokal. Konfigurasi dan perilaku cache bervariasi, tergantung pada apakah Anda melakukan streaming terhadap file berukuran besar atau mengakses file yang lebih kecil.

Mengonfigurasi cache untuk streaming berkas besar

BlobFuse2 mendukung streaming untuk operasi baca dan tulis sebagai alternatif penyimpanan dalam disk untuk berkas. Dalam mode streaming, BlobFuse2 menyimpan blok file besar dalam memori baik untuk membaca maupun menulis. Pengaturan konfigurasi yang terkait dengan cache untuk streaming berada di bawah stream: pengaturan dalam file konfigurasi Anda:

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

Mengonfigurasi cache untuk file-file kecil

File yang lebih kecil di-cache ke jalur sementara yang ditentukan di bawah file_cache: dalam file konfigurasi:

file_cache:
    path: <path to local disk cache>

Catatan

BlobFuse2 menyimpan semua isi file yang terbuka di jalur sementara. Pastikan Anda memiliki cukup ruang untuk memuat semua file yang terbuka.

Anda memiliki tiga opsi umum untuk mengonfigurasi jalur sementara untuk caching file:

Menggunakan disk berkinerja tinggi lokal

Jika Anda menggunakan disk lokal yang sudah ada untuk penyimpanan cache file, pilihlah disk yang menawarkan performa terbaik, seperti disk solid-state (SSD).

Menggunakan disk RAM

Contoh berikut membuat disk RAM 16 GB dan direktori untuk BlobFuse2. Pilih ukuran yang memenuhi kebutuhan Anda. BlobFuse2 menggunakan disk RAM untuk membuka file berukuran hingga 16 GB.

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
Menggunakan SSD

Di Azure, Anda dapat menggunakan disk ephemeral SSD yang tersedia di VM Anda untuk menyediakan buffer latensi rendah untuk BlobFuse2. Bergantung pada agen provisi yang Anda gunakan, pasang disk ephemeral pada /mnt untuk cloud-init atau /mnt/resource untuk VM Microsoft Azure Linux Agent (waagent).

Pastikan pengguna Anda memiliki akses ke jalur sementara:

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

Membuat direktori kosong untuk memasang kontainer blob

Untuk membuat direktori kosong untuk memasang kontainer blob:

mkdir ~/mycontainer

Otorisasi akses ke akun penyimpanan Anda

Anda harus memberikan akses ke akun penyimpanan untuk pengguna yang memasang kontainer. Cara paling umum untuk memberikan akses adalah dengan menggunakan salah satu opsi berikut:

  • Kunci akses akun penyimpanan
  • Tanda tangan akses bersama
  • Identitas terkelola
  • Prinsipal layanan

Anda dapat memberikan informasi otorisasi dalam file konfigurasi atau dalam variabel lingkungan. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan untuk BlobFuse2.

Cara memasang kontainer blob

Penting

BlobFuse2 tidak mendukung jalur pemasangan yang tumpang tindih. Jika Anda menjalankan beberapa instans BlobFuse2, pastikan setiap instans memiliki titik pemasangan yang unik dan tidak tumpang tindih.

BlobFuse2 tidak mendukung koeksistensi dengan NFS pada jalur pemasangan yang sama. Hasil menjalankan BlobFuse2 pada jalur pemasangan yang sama dengan NFS tidak ditentukan dan dapat mengakibatkan kerusakan data.

Untuk memasang kontainer blob blok Azure dengan menggunakan BlobFuse2, jalankan perintah berikut. Perintah memasang kontainer yang ditentukan pada lokasi ./config.yaml:

sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml

Catatan

Untuk daftar lengkap opsi pemasangan, lihat perintah pemasangan BlobFuse2.

Anda sekarang harus memiliki akses ke blob blok Anda melalui sistem file Linux dan API terkait. Untuk menguji penyebaran Anda, coba buat direktori dan file baru:

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

Cara mengakses data

Secara umum, Anda dapat bekerja dengan penyimpanan yang dipasang di BlobFuse2 seperti Anda bekerja dengan sistem file Linux asli. Ini menggunakan skema direktori virtual dengan garis miring/ () sebagai pemisah di jalur file dan mendukung operasi sistem file dasar seperti mkdir, opendirreaddirrmdiropenreadcreate, write, close, , unlink, truncate, , statdan .rename

Namun, Anda harus mengetahui beberapa perbedaan utama dalam fungsionalitas:

Dukungan fitur

Tabel ini memperlihatkan bagaimana fitur ini didukung di akun Anda dan efek pada dukungan saat Anda mengaktifkan kemampuan tertentu:

Jenis akun penyimpanan Blob Storage (dukungan default) Data Lake Storage 1 NFS 3.0 1 SFTP 1
Standar serba guna v2 Ya Ya Ya Ya
Blok Blob Premium Ya Ya Ya Ya

1 Protokol Azure Data Lake Storage, Network File System (NFS) 3.0, dan SSH File Transfer Protocol (SFTP) semuanya memerlukan akun penyimpanan dengan namespace hierarki diaktifkan.

Lihat juga

Langkah berikutnya