Memasang Blob Storage dengan menggunakan protokol NFS 3.0
Artikel ini menyediakan panduan tentang cara memasang kontainer di Azure Blob Storage dari mesin virtual Azure berbasis Linux atau sistem Linux yang berjalan secara lokal dengan menggunakan protokol NFS 3.0. Untuk mempelajari selengkapnya tentang dukungan protokol NFS 3.0 di Blob Storage, lihat Dukungan protokol NFS 3.0 untuk Azure Blob Storage.
Langkah 1: Buat jaringan virtual Azure
Akun penyimpanan Anda harus dimuat dalam jaringan virtual. Jaringan virtual memungkinkan klien untuk tersambung dengan aman ke akun penyimpanan Anda. Untuk mempelajari selengkapnya tentang Azure Virtual Network, dan cara membuat jaringan virtual, lihat dokumentasi Jaringan Virtual.
Catatan
Klien di jaringan virtual yang sama dapat memasang kontainer di akun Anda. Anda juga dapat memasang kontainer dari klien yang berjalan di jaringan lokal, tetapi harus terlebih dahulu menghubungkan jaringan lokal ke jaringan virtual Anda. Lihat Koneksi jaringan yang didukung.
Langkah 2: Mengonfigurasi keamanan jaringan
Saat ini, satu-satunya cara untuk mengamankan data dalam akun penyimpanan adalah dengan menggunakan pengaturan jaringan virtual dan keamanan jaringan lainnya. Lihat Rekomendasi keamanan jaringan untuk penyimpanan Blob.
Alat lain yang digunakan untuk mengamankan data, termasuk otorisasi kunci akun, keamanan Microsoft Entra, dan daftar kontrol akses (ACL) tidak dapat digunakan untuk mengotorisasi permintaan NFS 3.0. Bahkan, jika Anda menambahkan entri untuk pengguna atau grup bernama ke ACL blob atau direktori, file tersebut menjadi tidak dapat diakses pada klien untuk pengguna non-root. Anda harus menghapus entri tersebut untuk memulihkan akses ke pengguna non-root pada klien.
Penting
Protokol NFS 3.0 menggunakan port 111 dan 2048. Jika Anda tersambung dari jaringan lokal, pastikan klien Anda mengizinkan komunikasi keluar melalui port tersebut. Jika Anda telah memberikan akses ke VNet tertentu, pastikan bahwa setiap grup keamanan jaringan yang terkait dengan VNet tersebut tidak berisi aturan keamanan yang memblokir komunikasi masuk melalui port tersebut.
Langkah 3: Membuat dan mengonfigurasi akun penyimpanan
Untuk memasang kontainer dengan menggunakan NFS 3.0, Anda harus membuat akun penyimpanan. Anda tidak dapat mengaktifkan akun yang sudah ada.
Protokol NFS 3.0 didukung untuk akun penyimpanan v2 tujuan umum standar dan untuk akun penyimpanan blob blok premium. Untuk informasi lebih lanjut tentang jenis akun penyimpanan ini, lihat Ringkasan akun penyimpanan.
Untuk mengonfigurasi akun, pilih nilai berikut:
Pengaturan | Performa premium | Performa standar |
---|---|---|
Lokasi | Kawasan yang tersedia | Kawasan yang tersedia |
Performa | Premium | Standard |
Jenis akun | BlockBlobStorage | Tujuan umum v2 |
Replikasi | Penyimpanan berlebihan lokal (LRS), Penyimpanan berlebihan zona (ZRS) | Penyimpanan berlebihan lokal (LRS), Penyimpanan berlebihan zona (ZRS) |
Metode konektivitas | Titik akhir Publik (jaringan terpilih) atau titik akhir Pribadi | Titik akhir Publik (jaringan terpilih) atau titik akhir Pribadi |
Namespace hierarkis | Diaktifkan | Diaktifkan |
NFS V3 | Diaktifkan | Diaktifkan |
Anda dapat menerima nilai default untuk semua pengaturan lainnya.
Langkah 4: Membuat kontainer
Buat wadah di akun penyimpanan Anda dengan menggunakan salah satu alat atau SDK ini:
Alat | SDK |
---|---|
Portal Azure | .NET |
AzCopy | Java |
PowerShell | Python |
Azure CLI | JavaScript |
REST |
Catatan
Secara default, opsi root squash dari kontainer baru adalah Tanpa Root Squash. Namun, Anda dapat mengubahnya ke Root Squash atau Squash Semua. Untuk informasi tentang opsi squash ini, lihat dokumentasi sistem operasi Anda.
Gambar berikut menunjukkan opsi squash saat muncul di portal Microsoft Azure.
Langkah 5: Instal paket AZNFS Mount Helper
Paket AZNFS Mount Helper membantu klien Linux NFS mengakses berbagi Azure Blob NFS dengan andal bahkan ketika alamat IP titik akhir berubah. Paket ini menjalankan pekerjaan latar belakang yang disebut aznfswatchdog
yang memantau perubahan pada alamat IP titik akhir untuk berbagi yang dipasang. Jika perubahan terdeteksi, pekerjaan latar belakang ini memperbarui aturan Destination Network Address Translation (DNAT). Untuk mempelajari lebih lanjut, lihat AZNFS Mount Helper.
Tentukan apakah paket AZNFS Mount Helper diinstal pada klien Anda.
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS mounthelper is installed! \n"
Jika paket diinstal, maka pesan
AZNFS mounthelper is installed!
akan muncul.Jika paket belum diinstal, gunakan perintah berikut untuk menginstalnya.
wget -O - -q https://github.com/Azure/AZNFS-mount/releases/latest/download/aznfs_install.sh | bash
Catatan
AZNFS didukung pada distribusi Linux berikut:
- Ubuntu (18.04 LTS, 20.04 LTS, 22.04 LTS)
- RedHat7, RedHat8, RedHat9
- Rocky8, Rocky9
- SUSE (SLES 15)
Langkah 6: Pasang kontainer
Buat direktori di sistem Linux Anda lalu pasang kontainer di akun penyimpanan.
Pada sistem Linux Anda, buat direktori:
mkdir -p /nfsdata
Pasang kontainer dengan menggunakan salah satu metode berikut. Dalam kedua metode, ganti tempat penampung
<storage-account-name>
dengan nama akun penyimpanan Anda, lalu ganti<container-name>
dengan nama kontainer Anda.Agar berbagi dipasang otomatis saat reboot:
Buat entri di file /etc/fstab dengan menambahkan baris berikut:
<storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdata aznfs defaults,sec=sys,vers=3,nolock,proto=tcp,nofail,_netdev 0 0
Jalankan perintah berikut untuk segera memproses entri /etc/fstab dan mencoba memasang jalur sebelumnya:
mount /nfsdata
Untuk titik pemasangan sementara yang tidak bertahan di seluruh reboot, jalankan perintah berikut:
mount -t aznfs -o sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdata
Tip
Dengan menggunakan
-t aznfs
opsi pemasangan, Anda memastikan bahwa klien NFS selalu tetap terhubung dengan benar ke titik akhir penyimpanan meskipun IP titik akhir berubah setelah pemasangan. Berbagi NFS yang dipasang dengan menggunakan-t nfs
opsi pemasangan mungkin terputus dari titik akhir penyimpanan jika alamat IP titik akhir tersebut berubah.Parameter opsional lainnya tersedia dengan perintah mount. Parameter tersebut terutama memengaruhi perilaku sisi klien.
sys
adalah satu-satunya nilai yang saat ini didukung olehsec
opsi .Penting
Opsi
nconnect
pemasangan hanya berfungsi pada klien yang memiliki dukungan Azure nconnect.nconnect
Menggunakan opsi pada klien yang tidak didukung akan mengurangi throughput dan menyebabkan perintah ke waktu habis atau bekerja dengan tidak benar. Untuk mempelajari selengkapnya tentang cara memastikan bahwa klien Anda memiliki dukungan Azure nconnect, lihat Meningkatkan jumlah koneksi TCP.
Menyelesaikan kesalahan umum
Kesalahan | Penyebab/resolusi |
---|---|
Access denied by server while mounting |
Pastikan klien Anda berjalan dalam subnet yang didukung. Lihat Lokasi jaringan yang didukung. |
No such file or directory |
Pastikan untuk mengetik, daripada menyalin dan menempelkan, perintah pemasangan dan parameternya langsung ke dalam terminal. Jika Anda menyalin dan menempelkan bagian mana pun dari perintah ini ke terminal dari aplikasi lain, karakter tersembunyi dalam informasi yang ditempelkan dapat menyebabkan kesalahan ini muncul. Kesalahan ini juga mungkin muncul jika akun tidak diaktifkan untuk NFS 3.0. |
Permission denied |
Mode default dari kontainer NFS 3.0 yang baru dibuat adalah 0750. Pengguna non-akar tidak memiliki akses ke volume. Jika akses dari pengguna non-akar diperlukan, pengguna akar harus mengubah mode ke 0755. Contoh perintah: sudo chmod 0755 /nfsdata |
EINVAL ("Invalid argument" ) |
Kesalahan ini dapat muncul ketika klien mencoba untuk: |
EROFS ("Read-only file system" ) |
Kesalahan ini dapat muncul ketika klien mencoba untuk: |
NFS3ERR_IO/EIO ("Input/output error" ) |
Kesalahan ini dapat muncul ketika klien mencoba membaca, menulis, atau mengatur atribut pada blob yang disimpan di tingkat akses arsip. |
OperationNotSupportedOnSymLink kesalahan |
Kesalahan ini dapat dikembalikan selama operasi penulisan melalui Blob Storage atau Azure Data Lake Storage Gen2 API. Menggunakan API ini untuk menulis atau menghapus tautan simbolis yang dibuat dengan menggunakan NFS 3.0 tidak diperbolehkan. Pastikan untuk menggunakan titik akhir NFS 3.0 untuk bekerja dengan tautan simbolik. |
mount: /nfsdata: bad option; |
Memasang program bantuan NFS dengan menggunakan sudo apt install nfs-common . |
Connection Timed Out |
Pastikan klien mengizinkan komunikasi keluar melalui port 111 dan 2048. Protokol NFS 3.0 menggunakan port ini. Pastikan untuk memasang akun penyimpanan dengan menggunakan titik akhir blob service dan bukan titik akhir Data Lake Storage. |
Batasan dan pemecahan masalah untuk AZNFS Mount Helper
Lihat AZNFS Mount Helper.