File Storage NAS terintegrasi secara mulus dengan Function Compute. Anda dapat mengonfigurasi sistem file NAS untuk suatu fungsi agar dapat mengakses file NAS seolah-olah berada pada sistem file lokal. Hal ini menyediakan penyimpanan persisten, menghilangkan batasan ruang disk lokal, serta memungkinkan berbagai instans fungsi berbagi data file. Topik ini menjelaskan cara mengonfigurasi sistem file NAS untuk suatu fungsi.
Prasyarat
Sistem file NAS telah dibuat. Untuk informasi selengkapnya, lihat Buat sistem file.
Fungsi telah dibuat. Untuk informasi selengkapnya, lihat Buat fungsi web.
Pengaturan jaringan telah dikonfigurasi untuk fungsi tersebut. Untuk informasi selengkapnya, lihat Konfigurasi pengaturan jaringan.
Batasan
Fungsi Function Compute mendukung maksimal lima titik pemasangan NAS dalam satu wilayah.
Direktori lokal yang ditentukan untuk titik pemasangan NAS dalam lingkungan runtime fungsi tidak boleh saling bertabrakan.
Konfigurasi sistem file NAS
-
Login ke Function Compute console. Di panel navigasi kiri, pilih .
-
Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi yang dituju.
-
Di halaman detail fungsi, pilih tab Configuration, lalu klik Modify di samping Advanced Settings. Di panel Advanced Settings, buka bagian Storage, aktifkan Mount NAS file system , konfigurasi pengaturan yang diperlukan, lalu klik Deploy.
Anda dapat mengonfigurasi sistem file NAS menggunakan Automatic Configuration atau Custom Configuration.
Auto config
Sistem secara otomatis membuat sistem file NAS general-purpose bernama
Alibaba-Fc-V3-Component-Generated, beserta VPC, vSwitch, dan security group dengan nama yang sama.Ketika Anda menggunakan Automatic Configuration kembali di wilayah yang sama, sistem akan menggunakan ulang sistem file NAS dan konfigurasi VPC yang sudah ada alih-alih membuat yang baru. Untuk informasi lebih lanjut mengenai harga, lihat VPC billing dan Billing of general-purpose NAS.
Custom config
Anda harus memilih secara manual sistem file NAS dan mengonfigurasi parameternya, seperti user, user group, dan mount target.
Tabel berikut menjelaskan parameter utama.
Parameter
Deskripsi
Contoh
NAS
Pilih sistem file NAS yang sudah ada.
Untuk membuat sistem file NAS, klik Create NAS File System dan buat di File Storage console.
PentingHanya sistem file NAS yang menggunakan protokol NFS yang didukung. Sistem file NAS yang menggunakan protokol SMB tidak didukung.
01d394****
User, User Group
Tentukan ID user dan ID user group kustom. Jika tidak ditentukan, konfigurasi akan menggunakan default root user:
UID=0danGID=0. Untuk informasi selengkapnya, lihat NAS users and user groups.1
Remote Directory
-
Untuk sistem file NAS general-purpose, direktori ini harus dimulai dengan /.
-
Untuk sistem file NAS extreme, direktori ini harus dimulai dengan /share.
Jika direktori yang ditentukan tidak ada pada NAS remote, Function Compute akan membuatnya secara otomatis. Direktori baru tersebut akan dimiliki oleh user dan user group yang Anda tentukan dan memiliki izin
777.Untuk informasi selengkapnya, lihat Remote directory.
/
Local directory of a function
Disarankan menggunakan subdirektori dari /home , /mnt, /tmp, atau /data.
CatatanJangan gunakan direktori sistem Linux dan Unix umum atau subdirektorinya, seperti /bin, /opt, /var, atau /dev. Jika tidak, proses mount dapat gagal.
Untuk informasi selengkapnya, lihat Local function directory.
/mnt/nas
Catatan-
Untuk berbagi sumber daya NAS di beberapa fungsi, konfigurasikan setiap fungsi dengan user dan user group yang sama.
-
File yang ditulis ke NAS akan memiliki izin yang sama dengan file yang dibuat secara lokal dalam fungsi.
-
Verifikasi pemasangan
Persiapkan kode fungsi untuk mengakses NAS
Setelah mengonfigurasi sistem file NAS, Anda dapat mengaksesnya dalam kode menggunakan path direktori lokal yang telah Anda tentukan untuk mount tersebut.
-
Di halaman detail fungsi, klik tab Code. Tulis kode Anda di editor kode, lalu klik Deploy.
Topik ini menggunakan fungsi event-driven Python sebagai contoh. Kode ini menulis dan membaca konten dari sistem file NAS.
#!/usr/bin/env python # -*- coding: utf-8 -*- import random import subprocess import string import os def handler(event, context): # laporkan penggunaan ruang disk sistem file dan periksa titik pemasangan NAS out, err=subprocess.Popen(['df', '-h'], stdout=subprocess.PIPE).communicate() print('disk: ' + str(out)) lines = [ l.decode() for l in out.splitlines() if str(l).find(':') != -1 ] nas_dirs = [ x.split()[-1] for x in lines ] print('uid : ' + str(os.geteuid())) print('gid : ' + str(os.getgid())) for nas_dir in nas_dirs: sub_dir = randomString(16) file_name = randomString(6)+'.txt' new_dir = nas_dir + '/' + sub_dir + '/' print('test file: ' + new_dir + file_name) # Menulis ke file NAS. content = "NAS here I come" os.mkdir(new_dir) fw = open(new_dir + file_name, "w+") fw.write(content) fw.close() # Tampilkan struktur direktori pada mount NAS for home, dirs, files in os.walk(nas_dir): level = home.replace(nas_dir, '').count(os.sep) indent = ' ' * 2 * (level) print('{}{}/'.format(indent, os.path.basename(home))) subindent = ' ' * 2 * (level + 1) for f in files: print('{}{}'.format(subindent, f)) # Membaca dari file NAS. f = open(new_dir + file_name, "r") print(f.readline()) f.close() return 'success' def randomString(n): return ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(n))
Verifikasi hasil
-
Setelah kode dideploy, klik Test Function di tab Code.
Setelah eksekusi selesai, Anda dapat melihat hasilnya di bagian bawah tab Code. Di tab Log Output, Anda dapat melihat bahwa fungsi berhasil menulis dan membaca dari file NAS.
C9JFL0.txt DCFIC887M7R74WYH/ 5CXI5H.txt H0630SH2QHPL9MHZ/ EUV7ZA.txt H4UNM032L2TDLPPQ/ YXDBPM.txt HYMF79FH11AYW66D/ LU3WNG.txt Z3QNEH0MY0K3VM6G/ 9D3FM2.txt fc-1/ modelscope-60c13a-model-download-func/ NAS here I come FC Invoke End RequestId: 1-66878b18-16cd285c-27f5980efe23 -
(Opsional) Setelah fungsi dijalankan, Anda dapat login ke instans untuk melihat file di direktori fungsi lokal dan memastikan bahwa file tersebut sesuai dengan output log.
-
Di halaman detail fungsi, klik tab Instance. Di kolom Actions pada instans yang dituju, klik Connect to Instance.
Jika tidak ada instans yang sedang berjalan, klik Test Function di tab Code untuk menjalankan fungsi lagi dan membuat instans.
-
Setelah login ke instans, Anda dapat menjalankan perintah untuk melihat file di direktori fungsi lokal yang telah dikonfigurasi.
root@c-668b4cff-xxx:/code# cd /mnt/nas root@c-668b4cff-xxx:/mnt/nas# ls 0Q0V5ZYWMW7SLUYV BVT5FA0OV9ZLIZMU DCFIC887M7R74WYH F8I2CGH79QQGPZKC HO63OSH2QHPL9MHZ H4UNM032L2TDLPPQ HYMF79FH11AYW66D KEDRGMD67X64A6FD Z3QNEH0MY0K3VM6G fc-1 modelscope-60c13a-model-download-func root@c-668b4cff-xxx:/mnt/nas# cd ../ root@c-668b4cff-xxx:/mnt# cd nas/Z3QNEH0MY0K3VM6G root@c-668b4cff-xxx:/mnt/nas/Z3QNEH0MY0K3VM6G# ls 9D3FM2.txt root@c-668b4cff-xxx:/mnt/nas/Z3QNEH0MY0K3VM6G#
-
Konsep terkait
NAS users and user groups
Nilai UserID dan GroupID berkisar antara 0 hingga 65534. Jika Anda tidak menentukan nilai-nilai ini, keduanya akan menggunakan nilai default 0, yang masing-masing merepresentasikan ID user root dan ID grup root. Anda harus mengatur kepemilikan file dan izin grup yang sesuai untuk memastikan akses baca-tulis yang konsisten. Misalnya, jika Anda ingin fungsi-fungsi berbeda berbagi sumber daya file NAS, Anda harus menggunakan user dan user group yang sama saat mengonfigurasi sistem file NAS untuk fungsi-fungsi tersebut.
Remote directory dan local function directory
Memasang sistem file NAS memetakan Local directory of a function dalam lingkungan fungsi ke Remote Directory dalam sistem file NAS.
-
Remote Directory
Remote directory adalah path direktori pada sistem file NAS, seperti /workspace/document. Path ini digabungkan dengan titik pemasangan, misalnya xxxx-nas.aliyuncs.com, untuk membentuk alamat lengkap pemasangan. Sumber mount lengkap akan tampak seperti xxxx-nas.aliyuncs.com:/workspace/document.
Untuk menemukan titik pemasangan, login ke NAS console, klik sistem file Anda, lalu klik Mount Usage.
-
Local directory of a function
Direktori lokal dalam lingkungan runtime fungsi berfungsi sebagai titik pemasangan pada sistem file lokal. Disarankan menggunakan subdirektori dari /home, /mnt, /tmp, atau /data. Jangan gunakan direktori sistem Linux dan Unix umum atau subdirektorinya untuk memasang sistem file NAS. Contohnya termasuk /bin, /opt, /var, dan /dev.
Referensi
Untuk informasi selengkapnya mengenai skenario penggunaan NAS dengan Function Compute dan perbedaan antar jenis penyimpanan, lihat Pilih jenis penyimpanan fungsi.