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
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
, , storageaccesskey
dan 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.