Cara memasang Azure Blob Storage sebagai sistem file dengan BlobFuse v1

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.

Penting

BlobFuse2 adalah versi terbaru BlobFuse dan memiliki banyak peningkatan signifikan atas versi yang dibahas dalam artikel ini, BlobFuse v1. Untuk mempelajari tentang peningkatan yang dilakukan di BlobFuse2, lihat daftar penyempurnaan BlobFuse2.

BlobFuse adalah driver sistem file virtual untuk Azure Blob Storage. BlobFuse memungkinkan Anda untuk mengakses data blob blok yang ada di akun penyimpanan Anda melalui sistem file Linux. BlobFuse menggunakan skema direktori virtual dengan tanda garis miring '/' sebagai pemisah.

Panduan ini menunjukkan kepada Anda cara menggunakan BlobFuse v1 dan memasang kontainer Blob Storage di Linux dan mengakses data. Untuk mempelajari selengkapnya tentang BlobFuse v1, lihat readme dan wiki.

Peringatan

BlobFuse tidak menjamin 100% kepatuhan terhadap POSIX karena hanya menerjemahkan permintaan ke REST API Blob. Misalnya, operasi ganti nama di POSIX adalah atomik, tetapi tidak di dalam BlobFuse. Untuk daftar lengkap perbedaan antara sistem file asli dan BlobFuse, kunjungi repositori kode sumber BlobFuse.

Menginstal BlobFuse v1 di Linux

Biner Blobfuse tersedia di repositori perangkat lunak Microsoft untuk Linux untuk distribusi Ubuntu, Debian, SUSE, CentOS, Oracle Linux, dan RHEL. Untuk menginstal BlobFuse pada distribusi tersebut, konfigurasikan salah satu repositori dari daftar. Anda juga dapat membangun biner dari kode sumber setelah langkah-langkah penginstalan Azure Storage jika tidak ada biner yang tersedia untuk distribusi Anda.

BlobFuse diterbitkan dalam repositori Linux untuk versi Ubuntu: 16.04, 18.04, dan 20.04, versi RHEL: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, versi CentOS: 7.0, 8.0, versi Debian: 9.0, 10.0, versi SUSE: 15, Oracle Linux 8.1. Jalankan perintah ini untuk memastikan kalau Anda telah memiliki salah satu versi yang digunakan:

cat /etc/*-release

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.

Menginstal BlobFuse v1

sudo yum install blobfuse

Bersiap untuk pemasangan

BlobFuse menyediakan kinerja seperti asli dengan memakai jalur sementara dalam sistem file untuk buffer dan cache semua file yang terbuka. Untuk jalur sementara ini, pilih disk dengan performa terbaik, atau gunakan ramdisk untuk mendapatkan performa terbaik.

Catatan

BlobFuse menyimpan semua isi file yang terbuka di jalur sementara. Pastikan memiliki cukup ruang untuk mengakomodasi semua file yang terbuka.

(Opsional) Menggunakan ramdisk untuk jalur sementara

Berikut adalah contoh membuat ramdisk 16 GB dan direktori untuk BlobFuse. Pilihlah ukuran sesuai kebutuhan Anda. Ramdisk ini memungkinkan BlobFuse 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/blobfusetmp
sudo chown <youruser> /mnt/ramdisk/blobfusetmp

Menggunakan SSD sebagai jalur sementara

Di Azure, Anda dapat menggunakan disk sementara (SSD) yang tersedia di VM Anda untuk menyediakan buffer latensi rendah untuk BlobFuse. Tergantung pada agen provisi yang digunakan, disk sementara akan dipasang pada '/mnt' untuk cloud-init atau '/mnt/resource' untuk mesin virtual waagen.

Pastikan pengguna Anda memiliki akses ke jalur sementara:

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

Otorisasi akses ke akun penyimpanan Anda

Anda dapat mengotorisasi akses ke akun penyimpanan Anda dengan menggunakan kunci akses akun, tanda tangan akses bersama, identitas terkelola, atau perwakilan layanan. Informasi otorisasi dapat diberikan pada baris perintah, dalam file konfigurasi, atau dalam variabel lingkungan. Untuk detailnya, lihat Penyiapan autentikasi yang valid di readme BlobFuse.

Misalnya, Anda mengotorisasi dengan kunci akses akun dan menyimpannya dalam file konfigurasi. File konfigurasi harus memiliki format berikut:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

accountName adalah nama akun penyimpanan Anda, dan bukan URL lengkap. Anda perlu memperbarui myaccount, , storageaccesskeydan mycontainer dengan informasi penyimpanan Anda.

Buat file ini menggunakan:

sudo touch /path/to/fuse_connection.cfg

Setelah Anda membuat dan mengedit file ini, pastikan untuk membatasi akses sehingga tidak ada pengguna lain yang bisa membacanya.

sudo chmod 600 /path/to/fuse_connection.cfg

Catatan

Jika Anda telah membuat file konfigurasi pada Windows, pastikan jalankan dos2unix untuk membersihkan dan mengonversi file ke format Unix.

Membuat direktori kosong untuk pemasangan

sudo mkdir ~/mycontainer

Pemasangan

Catatan

Untuk daftar lengkap opsi pemasangan, periksa repositori BlobFuse.

Untuk memasang BlobFuse, jalankan perintah berikut dengan pengguna Anda. Perintah ini memasangkan kontainer yang ditentukan dalam '/path/to/fuse_connection.cfg' ke lokasi '/mycontainer'.

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

Catatan

Jika Anda menggunakan akun ADLS, Anda harus menyertakan --use-adls=true.

Anda sekarang telah memiliki akses ke blob blok Anda melalui API sistem file reguler. Pengguna yang memasang direktori adalah satu-satunya orang yang dapat mengaksesnya, secara default, yang mengamankan akses tersebut. Untuk mengizinkan akses ke semua pengguna, Anda dapat memasang melalui opsi -o allow_other.

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

Pertahankan dudukan tersebut

Untuk mempelajari cara mempertahankan pemasangan, lihat Bertahan di wiki BlobFuse.

Dukungan fitur

Dukungan untuk fitur ini mungkin terpengaruh dengan mengaktifkan Data Lake Storage Gen2, protokol Network File System (NFS) 3.0, atau SSH File Transfer Protocol (SFTP). Jika Anda telah mengaktifkan salah satu kemampuan ini, lihat Dukungan fitur Blob Storage di akun Azure Storage untuk menilai dukungan untuk fitur ini.

Langkah berikutnya