Cara memasang kontainer Azure Blob Storage di Linux dengan BlobFuse2
Perhatian
Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan rencanakan yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.
Artikel ini memperlihatkan kepada Anda cara menginstal dan mengonfigurasi BlobFuse2, memasang kontainer blob Azure, dan mengakses data dalam kontainer. Langkah-langkah dasarnya adalah:
Cara menginstal BlobFuse2
Anda memiliki dua opsi untuk menginstal BlobFuse2:
- Instal BlobFuse2 dari repositori perangkat lunak Microsoft untuk Linux - Ini adalah metode penginstalan yang lebih disukai. BlobFuse2 tersedia di repositori untuk beberapa distribusi Linux umum.
- Buat biner BlobFuse2 dari kode sumber - Anda dapat membangun biner BlobFuse2 dari kode sumber jika tidak tersedia di repositori untuk distribusi Anda.
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:
Mengonfigurasikan repositori paket Microsoft
Mengonfigurasi Repositori Paket Linux untuk Produk Microsoft.
Sebagai contoh, pada distribusi Redhat 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 Redhat Enterprise Linux 7.
Instal BlobFuse2
Opsi 2: Membangun biner dari kode sumber
Untuk membangun biner BlobFuse2 dari kode sumber:
Pasang dependensi:
Instal Git:
sudo apt-get install git
Instal dependensi BlobFuse2.
On Ubuntu:
sudo apt-get install libfuse3-dev fuse3 -y
Mengklon repositori:
sudo git clone https://github.com/Azure/azure-storage-fuse/ sudo cd ./azure-storage-fuse sudo git checkout main
Bangun BlobFuse2:
go get go build -tags=fuse3
Tip
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 penembolokan
- 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:
- Mengonfigurasi pengaturan untuk BlobFuse2
- File konfigurasi BlobFuse2
- Variabel lingkungan BlobFuse2
- Perintah pemasangan BlobFuse2
Untuk mengonfigurasi BlobFuse2 untuk pemasangan:
- Mengonfigurasi penembolokan.
- Buat direktori kosong untuk memasang kontainer blob.
- Otorisasi akses ke akun penyimpanan Anda.
Mengonfigurasi cache
BlobFuse2 menyediakan performa seperti asli dengan menggunakan teknik penembolokan file lokal. Konfigurasi dan perilaku penembolokan bervariasi, tergantung pada apakah Anda melakukan streaming file besar atau mengakses file yang lebih kecil.
Mengonfigurasi penembolokan untuk streaming file besar
BlobFuse2 mendukung streaming untuk operasi baca dan tulis sebagai alternatif untuk penembolokan disk untuk file. Dalam mode streaming, BlobFuse2 menyimpan blok file besar dalam memori baik untuk membaca maupun menulis. Pengaturan konfigurasi yang terkait dengan penembolokan 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
Untuk memulai dengan cepat dengan beberapa pengaturan untuk skenario streaming dasar, lihat contoh file konfigurasi streaming.
Mengonfigurasi penembolokan untuk file yang lebih 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 penembolokan file:
Menggunakan disk berkinerja tinggi lokal
Jika Anda menggunakan disk lokal yang ada untuk penembolokan file, pilih disk yang memberikan 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
- Perwakilan 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 ke ./config.yaml
lokasi ~/mycontainer
:
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
, open
readdir
create
rmdir
opendir
read
, write
, close
, , unlink
, truncate
, , stat
dan .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 Gen2 1 | NFS 3.0 1 | SFTP 1 |
---|---|---|---|---|
Tujuan umum standar v2 | ||||
Blob Block Premium |
1 protokol Azure Data Lake Storage Gen2, Network File System (NFS) 3.0, dan SSH File Transfer Protocol (SFTP) mendukung semua memerlukan akun penyimpanan dengan namespace hierarki diaktifkan.