Dalam skenario Function Compute di mana beberapa aplikasi atau fungsi perlu berbagi akses ke set data yang sama—misalnya dalam aplikasi pembelajaran mesin yang membagikan model terlatih di antara beberapa fungsi inferensi—Anda dapat mengonfigurasi sistem file NAS untuk menyimpan data tersebut. Pendekatan ini memungkinkan berbagi file, menyederhanakan manajemen data, serta mengatasi keterbatasan ruang disk lokal. Setelah dikonfigurasi, fungsi FC Anda dapat membaca dari dan menulis ke file NAS sebagaimana pada sistem file lokal.
Prasyarat
Function Compute
Anda telah membuat fungsi dan mengonfigurasi akses jaringan VPC untuknya. Untuk informasi lebih lanjut, lihat Buat fungsi dan Konfigurasi pengaturan jaringan.
CatatanSaat ini, titik pemasangan NAS hanya dapat ditambahkan di lingkungan VPC privat. Oleh karena itu, saat mengonfigurasi jaringan, Anda harus mengizinkan fungsi untuk mengakses sumber daya di dalam VPC dan mengonfigurasi VPC yang sesuai agar dapat mengakses sistem file NAS yang ditentukan.
File Storage NAS
Anda telah membuat sistem file NAS dan menambahkan titik pemasangan. Untuk informasi lebih lanjut, lihat Buat sistem file dan Tambahkan titik pemasangan.
Batasan
Di Function Compute, satu fungsi di wilayah yang sama dapat dikonfigurasi dengan maksimal 5 titik pemasangan NAS dan 5 titik pemasangan OSS.
Direktori lokal di lingkungan runtime fungsi untuk titik pemasangan NAS dan OSS tidak boleh saling bertabrakan.
Konfigurasi sistem file NAS
Masuk ke Function Compute console. Di panel navigasi kiri, pilih .
Di bilah navigasi atas, pilih wilayah. Pada halaman Function, klik fungsi target.
Di halaman detail fungsi, pilih tab Configuration, klik Advanced Settings di samping Modify. Di panel Advanced Settings, temukan opsi Storage, aktifkan Mount NAS File System, konfigurasikan seperti dijelaskan di bawah, lalu klik Deploy.
Anda dapat mengonfigurasi sistem file NAS menggunakan Automatic Configuration atau Custom Configuration.
Automatic
Sistem secara otomatis membuat sistem file NAS tujuan umum bernama
Alibaba-Fc-V3-Component-Generated, beserta VPC, vSwitch, dan security group dengan nama yang sama.Jika Anda memilih Automatic Configuration lagi, sistem akan mendeteksi bahwa sistem file NAS tersebut sudah ada di wilayah saat ini dan akan menggunakannya kembali beserta konfigurasi VPC terkait tanpa membuatnya ulang. Untuk detail penagihan, lihat VPC Billing dan General-purpose NAS Billing.
Custom
Anda perlu memilih secara manual sistem file NAS dan mengatur parameter terkait NAS seperti user, user group, dan titik pemasangan NAS untuk menyelesaikan konfigurasi.
Parameter utama dijelaskan sebagai berikut:
Parameter
Deskripsi
Contoh
NAS File System
Pilih sistem file NAS yang sudah ada.
Untuk membuat sistem file NAS baru, klik Create New NAS File System di bawah untuk membuka File Storage Console dan buat secara manual.
PentingHanya sistem file NAS tipe protokol NFS yang didukung; tipe protokol SMB tidak didukung.
01d394****
User, User Group
Anda perlu memasukkan User ID dan Group ID kustom. Jika tidak memasukkan nilai apa pun, sistem akan menggunakan user root, yaitu
UID=0danGID=0. Untuk informasi lebih lanjut, lihat NAS user and user group.1
Remote Directory
Untuk NAS tujuan umum, direktori ini harus dimulai dengan /.
Untuk Extreme NAS, direktori ini harus dimulai dengan /share.
Jika direktori yang Anda konfigurasi tidak ada di NAS remote, Function Compute akan membuatnya secara otomatis. Pemilik direktori tersebut akan menjadi user dan group yang dikonfigurasi di atas, dengan tingkat izin
777.Untuk informasi lebih lanjut, lihat Remote directory.
/
Function Local Directory
Disarankan untuk menggunakan subdirektori dari /home, /mnt, /tmp, atau /data.
CatatanJangan gunakan direktori sistem Linux dan Unix umum beserta subdirektorinya, seperti /bin, /opt, /var, atau /dev, untuk menghindari kegagalan pemasangan.
Untuk informasi lebih lanjut, lihat Function local directory.
/mnt/nas
CatatanJika Anda ingin fungsi berbeda berbagi sumber daya file NAS, gunakan user dan group yang sama saat mengonfigurasi sistem file NAS untuk fungsi-fungsi tersebut.
File yang diunggah ke NAS memiliki izin yang persis sama dengan file lokal.
Verifikasi pemasangan NAS
Siapkan kode fungsi
Setelah mengonfigurasi sistem file NAS, Anda dapat mengakses sistem file NAS dalam kode fungsi melalui jalur yang ditentukan saat pemasangan.
Di halaman detail fungsi, klik tab Code, tulis kode di editor kode, lalu klik Deploy.
Artikel ini menggunakan contoh kode fungsi event Python untuk menulis konten ke sistem file NAS dan membaca konten dari 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) # 写入NAS文件 content = "NAS here I come" os.mkdir(new_dir) fw = open(new_dir + file_name, "w+") fw.write(content) fw.close() # Menampilkan struktur folder di 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)) # 读取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 berhasil dideploy, klik Code di tab Test Function.
Setelah eksekusi selesai, hasil eksekusi dapat dilihat di bagian bawah tab Code. Di tab Log Output, Anda dapat melihat bahwa fungsi telah berhasil menulis ke dan membaca dari file NAS.

(Opsional) Setelah menulis dan membaca file, Anda dapat masuk ke instans untuk memeriksa file di direktori lokal fungsi dan memastikan bahwa file NAS yang diperoleh konsisten dengan output log dari eksekusi fungsi yang berhasil pada langkah sebelumnya.
Di halaman detail fungsi, klik tab Instances, lalu klik Log on to Instance di kolom Actions pada instans target.
Jika tidak ada instans yang sedang berjalan, Anda dapat mengklik Code di tab Test Function untuk menjalankan fungsi lagi dan membuat instans.
Setelah berhasil masuk ke instans, Anda dapat menggunakan perintah untuk melihat informasi file di direktori lokal fungsi yang telah dikonfigurasi. Contohnya sebagai berikut:

Konsep terkait
NAS user dan user group
Nilai UserID dan GroupID berkisar antara [0, 65534]. Jika tidak ditentukan, nilai default-nya adalah 0, yang masing-masing merepresentasikan ID user root dan ID group root. Anda perlu mengatur pemilik file dan izin grup yang sesuai sesuai kebutuhan untuk memastikan konsistensi izin baca-tulis file. Misalnya, jika Anda ingin fungsi berbeda berbagi sumber daya file NAS, gunakan user dan group yang sama saat mengonfigurasi sistem file NAS untuk fungsi-fungsi tersebut.
Direktori remote dan lokal
Alamat setiap titik pemasangan NAS terdiri dari remote directory dan function local directory. Proses pemasangan NAS pada dasarnya adalah membuat pemetaan dari direktori lokal di instans Function Compute ke direktori remote di NAS.
Remote Directory
Direktori remote di NAS mengacu pada direktori yang berada di sistem file NAS, yang terdiri dari titik pemasangan dan jalur mutlak. Titik pemasangan dapat ditambahkan melalui NAS console. Direktori remote dibentuk dengan menggabungkan titik pemasangan dan jalur mutlak. Misalnya, jika titik pemasangan sistem file NAS adalah xxxx-nas.aliyuncs.com dan direktori absolut yang ingin diakses adalah /workspace/document, maka direktori remote lengkap yang sesuai adalah xxxx-nas.aliyuncs.com:/workspace/document.
Anda dapat masuk ke NAS console, klik sistem file target di daftar sistem file, lalu klik Mount Target untuk mendapatkan titik pemasangan.
Function Local Directory
Direktori lokal di lingkungan runtime fungsi mengacu pada titik pemasangan di sistem file lokal. Disarankan untuk menggunakan subdirektori dari /home, /mnt, /tmp, atau /data. Jangan gunakan direktori sistem Linux dan Unix umum beserta subdirektorinya untuk pemasangan NAS, seperti /bin, /opt, /var, atau /dev.
Dokumen terkait
Function Compute mendukung berbagai jenis penyimpanan, termasuk File Storage NAS, Object Storage Service (OSS), ruang disk temporary, dan layers. Untuk memahami skenario penggunaan dan perbedaan antara jenis penyimpanan ini, lihat Opsi penyimpanan.
Jika Anda perlu menyimpan data tidak terstruktur dalam jumlah besar seperti gambar, video, dan dokumen, disarankan untuk memasang sistem OSS. Untuk informasi lebih lanjut, lihat Konfigurasi OSS.
Anda juga dapat menggunakan Serverless Devs untuk memasang sistem NAS ke fungsi. Untuk detailnya, lihat Perintah Serverless Devs Umum.