Cloud Parallel File Storage (CPFS) dapat diakses melalui protokol NFS. Setelah membuat sistem file CPFS, Anda harus mengaktifkan layanan protokol dan membuat direktori ekspor untuk menghasilkan titik pemasangan. Selanjutnya, instal klien CPFS-NFS pada instans Elastic Compute Service (ECS) dan jalankan perintah mount untuk mengakses sistem file CPFS. Titik pemasangan dari direktori ekspor bersifat independen dari titik pemasangan POSIX. Jika Anda hanya perlu mengakses sistem file CPFS melalui protokol NFS, tidak perlu membuat titik pemasangan POSIX. Menghapus titik pemasangan POSIX asli tidak memengaruhi akses data melalui direktori ekspor.
Prasyarat
File system CPFS telah dibuat. Untuk informasi selengkapnya, lihat Create a file system.
Layanan protokol telah dibuat. Untuk informasi selengkapnya, lihat Create a protocol service.
Direktori ekspor telah dibuat. Untuk informasi selengkapnya, lihat Create an export directory.
Satu atau beberapa instans ECS telah dibuat dan memenuhi kondisi berikut. Untuk informasi selengkapnya, lihat Buat instans ECS.
Alamat IPv4 publik telah ditetapkan atau alamat Elastic IP (EIP) telah dikaitkan.
Untuk klien CPFS-NFS, lihat sistem operasi yang didukung.
Catatan penggunaan
Sistem operasi yang didukung
Jenis sistem operasi | Versi sistem operasi |
Alibaba Cloud Linux |
|
CentOS |
|
Ubuntu |
|
Debian |
|
SUSE |
|
Alamat IP dan port
Klien CPFS-NFS menggunakan alamat IP lokal 127.0.1.255 dan range port TCP dari 30000 hingga 60000 pada alamat tersebut untuk pemetaan port selama operasi mount.
Jika alamat IP 127.0.1.255 atau range port 30000–60000 sedang digunakan oleh perangkat lunak lain, Anda harus memodifikasi konfigurasi klien CPFS-NFS. Untuk informasi selengkapnya, lihat Konfigurasi klien.
Direktori file
Setelah menginstal klien CPFS-NFS, direktori berikut dibuat pada instans ECS: direktori file konfigurasi (/etc/aliyun/cpfs), direktori runtime (/var/run/cpfs), dan direktori log (/var/log/aliyun/cpfs/).
Direktori runtime menyimpan file konfigurasi haproxy yang dihasilkan secara otomatis. Jika Anda menentukan path kustom menggunakan opsi hp_config_dir, path tersebut akan digunakan sebagai gantinya.Proses
Setelah memasang sistem file CPFS dengan klien CPFS-NFS, proses haproxy dimulai pada instans ECS untuk akses I/O. Proses watchdog juga dimulai untuk memantau kesehatan klien CPFS-NFS.
Log klien
Anda dapat mengakses log klien CPFS-NFS di path /var/log/aliyun/cpfs/ untuk menemukan informasi tentang error mount. Anda juga dapat menyesuaikan konten log klien dengan memodifikasi parameter dalam file konfigurasi log /etc/aliyun/cpfs/cpfs-utils.conf. Setelah memodifikasi file konfigurasi, jalankan perintah sudo service aliyun-cpfs-mount-watchdog restart untuk merestart proses watchdog backend.
Langkah 1: Unduh dan instal klien CPFS-NFS
Klien ini bersifat open source. Untuk kode sumber atau cara kompilasi manual, kunjungi repositori GitHub.
Login ke instans ECS tempat Anda ingin memasang sistem file CPFS. Untuk informasi selengkapnya, lihat Pilih metode untuk terhubung ke instans ECS.
Unduh dan instal klien CPFS-NFS.
Alibaba Cloud Linux
Unduh klien CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.al.noarch.rpmInstal klien CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
CentOS
Unduh klien CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.el.noarch.rpmInstal klien CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
Ubuntu
Unduh klien CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.debInstal klien CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
Debian
Unduh klien CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.debInstal klien CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
SUSE
Unduh klien CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.lp15.x86_64.rpmInstal klien CPFS-NFS.
sudo zypper --no-gpg-checks install -y aliyun-alinas-utils-*.rpm
Periksa apakah instalasi berhasil.
which mount.cpfs-nfsTanggapan sukses ditampilkan pada contoh berikut:
/usr/sbin/mount.cpfs-nfs
Langkah 2: Mount file system menggunakan klien CPFS-NFS
Mount sistem file CPFS.
Skenario 1: Mount umum (path default)
Skenario ini berlaku untuk sebagian besar lingkungan yang tidak mengaktifkan AppArmor, SELinux, atau pembatasan akses path khusus.
sudo mount -t cpfs-nfs -o vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.cpfs.aliyuncs.com:/share/path /mntSkenario 2: Mount di lingkungan keamanan tinggi (seperti sistem dengan SELinux atau AppArmor aktif)
Jika penguatan keamanan diaktifkan pada sistem operasi Anda melalui kebijakan seperti AppArmor atau SELinux, mount default dapat menyebabkan pengecualian akses. Dalam kasus ini, Anda dapat secara eksplisit menentukan path menggunakan `hp_config_dir`. Saat menjalankan perintah, ganti
<custom_directory>dengan path yang diizinkan oleh kebijakan keamanan sistem Anda.sudo mount -t cpfs-nfs -o vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,hp_config_dir=<custom_directory> file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
Parameter perintah mount
Parameter
Deskripsi
file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
Mewakili <mount_path> <local_path_to_mount_on_the_server>. Ganti sesuai kebutuhan.
Path mount: Path mount dari direktori ekspor. Di Konsol Penyimpanan File NAS, buka halaman daftar Sistem File dan klik Manage di sebelah sistem file target. Pada halaman Protocol Service, klik Export Directory di kolom Actions. Di panel Export Directory yang muncul, dapatkan path mount.
Contoh:
cpfs-196f91a8e58b****-195ceeac7b6ac****.cn-chengdu.cpfs.aliyuncs.com:/share/filesetPath lokal untuk mount di server: Direktori root (/) atau subdirektori apa pun (misalnya, /mnt) pada instans ECS Linux. Jika berupa subdirektori, pastikan subdirektori tersebut ada.
vers
Versi sistem file. CPFS hanya mendukung pemasangan sistem file dengan protokol NFSv3.
Opsi pemasangan
Anda dapat memilih beberapa opsi mount. Pisahkan dengan koma (,). Opsi tersebut dijelaskan sebagai berikut:
rsize: Menentukan ukuran blok data untuk membaca data antara klien dan sistem file. Nilai yang direkomendasikan: 1048576.
wsize: Menentukan ukuran blok data untuk menulis data antara klien dan sistem file. Nilai yang direkomendasikan: 1048576.
CatatanUntuk mengubah parameter ukuran I/O (rsize dan wsize), gunakan nilai maksimum (1048576) bila memungkinkan untuk menghindari degradasi performa.
hard: Jika sistem file CPFS sementara tidak tersedia, aplikasi lokal yang menggunakan file pada sistem file tersebut akan berhenti dan menunggu hingga sistem file kembali online. Mengaktifkan parameter ini direkomendasikan.
timeo: Waktu dalam sepersepuluh detik yang ditunggu klien CPFS-NFS untuk respons sebelum mencoba ulang permintaan ke sistem file. Nilai yang direkomendasikan: 600 (60 detik).
CatatanJika Anda harus mengubah parameter timeout (timeo), gunakan nilai 150 atau lebih besar. Satuan parameter timeo adalah sepersepuluh detik, sehingga 150 merepresentasikan 15 detik.
retrans: Jumlah kali klien CPFS-NFS mencoba ulang permintaan. Nilai yang direkomendasikan: 2.
noresvport: Menggunakan port TCP baru saat koneksi jaringan dipulihkan untuk memastikan koneksi tidak terputus selama pemulihan kesalahan jaringan. Mengaktifkan parameter ini direkomendasikan.
PentingJangan gunakan opsi `soft`. Opsi ini menimbulkan ancaman terhadap konsistensi data. Jika Anda menggunakan opsi `soft`, Anda mengasumsikan semua ancaman terkait.
Hindari menyetel opsi mount lain yang berbeda dari nilai default. Mengubah ukuran buffer baca/tulis atau menonaktifkan caching atribut dapat menurunkan performa.
hp_config_dir: (Opsional) Secara eksplisit menentukan direktori untuk file konfigurasi haproxy. Tetapkan parameter ini jika sistem operasi Anda memiliki Security Enforcement (seperti AppArmor atau SELinux) atau kebijakan keamanan tinggi lain yang membatasi proses hanya membaca konfigurasi atau berjalan di path tertentu.
Rekomendasi pemilihan path: Pilih direktori yang sesuai dari daftar putih kebijakan keamanan sistem Anda dan pastikan path tersebut diotorisasi oleh modul keamanan.
Logika: Klien CPFS pertama-tama mencoba menggunakan direktori yang ditentukan oleh parameter ini. Jika tidak ditentukan, klien mencoba mengurai daftar putih kebijakan keamanan secara otomatis. Jika penguraian gagal, klien menggunakan path default
/var/run/cpfs.
Jalankan perintah
mount -luntuk melihat hasil mount.Setelah mount berhasil, Anda dapat menjalankan perintah
df -huntuk melihat informasi kapasitas sistem file saat ini.(Opsional) Konfigurasikan mount otomatis saat startup
Untuk mencegah informasi mount hilang setelah instans ECS direstart, Anda dapat mengonfigurasi file
/etc/fstab. Jika Anda menggunakan parameterhp_config_dirsaat mount manual, Anda juga harus mengonfigurasinya di sini.Buka file konfigurasi
/etc/fstabdan tambahkan konfigurasi mount.Konfigurasi untuk lingkungan umum:
file-system-id.region.nas.aliyuncs.com:/share/path /mnt cpfs-nfs vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0Contoh konfigurasi untuk lingkungan keamanan tinggi (menggunakan direktori kustom):
Ganti
<custom_directory>dengan path yang diizinkan oleh kebijakan keamanan sistem Anda.file-system-id.region.nas.aliyuncs.com:/share/path /mnt cpfs-nfs vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport,hp_config_dir=<custom_directory> 0 0Deskripsi parameter lainnya
Parameter
Deskripsi
_netdev
Parameter ini mencegah klien melakukan mount sistem file sebelum jaringan siap.
0 (item pertama setelah noresvport)
Nilai bukan nol menunjukkan bahwa sistem file harus dibackup oleh dump. Untuk sistem file CPFS, nilai ini adalah 0 secara default.
0 (item kedua setelah noresvport)
Nilai ini menunjukkan urutan pemeriksaan sistem file oleh fsck saat startup. Untuk sistem file CPFS, nilai ini adalah 0 secara default, yang berarti fsck tidak dijalankan saat startup.
Jalankan perintah
rebootuntuk merestart instans ECS.Sebelum merestart instans ECS, pastikan bahwa mount manual berhasil untuk mencegah instans gagal restart. Jika konfigurasi mount otomatis berhasil, Anda dapat menjalankan perintah
df -huntuk melihat sistem file CPFS yang telah dimount setelah instans ECS direstart.
Konfigurasi klien
File konfigurasi
Untuk memodifikasi konfigurasi klien CPFS-NFS, hubungi tim dukungan teknis CPFS. Anda harus memodifikasi file konfigurasi di bawah panduan mereka untuk menghindari gangguan akses I/O. Path file konfigurasi adalah /etc/aliyun/cpfs/cpfs-utils.conf. Kode berikut memberikan contoh konfigurasi:
[DEFAULT]
logging_level = INFO
logging_max_bytes = 1048576
logging_file_count = 10
[mount]
stunnel_debug_enabled = false
# Validasi hostname sertifikat saat pemasangan. Opsi ini tidak didukung oleh versi stunnel tertentu.
stunnel_check_cert_hostname = false
# Gunakan OCSP untuk memeriksa validitas sertifikat. Opsi ini tidak didukung oleh versi stunnel tertentu.
stunnel_check_cert_validity = false
proxy_port = 12049
cpfs_proxy_addr = 127.0.1.255
cpfs_proxy_port_min = 30000
cpfs_proxy_port_max = 60000
[mount-watchdog]
poll_interval_sec = 1
unmount_grace_period_sec = 30
dns_refresh_interval = 60
[client-tool]Tabel berikut menjelaskan parameter penting dalam file konfigurasi.
Parameter | Deskripsi |
logging_level | Tingkat log. Default: INFO. |
logging_max_bytes | Ukuran maksimum file log. Default: 1048576 byte, artinya satu file log dapat mencapai 1 MiB. |
logging_file_count | Jumlah maksimum file log yang disimpan. Default: 10, artinya maksimal 10 file log disimpan. |
cpfs_proxy_addr | Alamat IP proksi untuk klien CPFS. Default: 127.0.1.255. |
cpfs_proxy_port_min | Nilai minimum dari range port proksi untuk klien CPFS. Default: 30000. |
cpfs_proxy_port_max | Nilai maksimum dari range port proksi untuk klien CPFS. Default: 60000. |
poll_interval_sec | Interval deteksi untuk layanan watchdog latar belakang. Default: 1s. |
unmount_grace_period_sec | Periode diam untuk membersihkan file konfigurasi terkait setelah Anda unmount titik pemasangan CPFS-NFS. Default: 30s. |
dns_refresh_interval | Interval pemeriksaan oleh layanan watchdog latar belakang untuk memastikan node primer dan sekunder yang sesuai dengan DNS tersedia. Default: 60s. |
Konfigurasi haproxy
Selama proses mount, klien CPFS-NFS secara otomatis menghasilkan file konfigurasi haproxy dan memulai proses terkait. Jangan memodifikasi file konfigurasi ini secara manual. Jika tidak, akses I/O dapat terganggu. Anda dapat melihat file konfigurasi haproxy-config.dns untuk detail lebih lanjut. Secara default, file ini disimpan di direktori /var/run/cpfs/. Jika Anda secara eksplisit menentukan parameter hp_config_dir selama proses mount, file tersebut disimpan di direktori kustom yang ditentukan. Berikut adalah contoh isi file tersebut.
global
maxconn 4096
defaults
mode tcp
balance leastconn
timeout client 60s
timeout server 60s
timeout connect 3s
retries 3
frontend cpfs2049
bind 127.0.1.255:30000
default_backend bk2049
backend bk2049
server cpfs_primary 172.27.1.189:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 on-marked-up shutdown-backup-sessions
server cpfs_backup 172.27.0.214:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 backupTabel berikut menjelaskan parameter penting.
Parameter | Deskripsi |
defaults | Nilai parameter default tidak boleh dimodifikasi. |
frontend | Alamat IP dan port lokal untuk agen haproxy. Alamat IP default adalah 127.0.1.255, dan range port adalah 30000–60000. |
backend | Alamat IP dari layanan CPFS-NFS backend. |