CPFS mendukung akses melalui protokol NFS. Setelah membuat sistem file CPFS, aktifkan layanan protokol dan buat direktori ekspor untuk menghasilkan titik pemasangan. Selanjutnya, instal klien CPFS-NFS pada instance ECS dan jalankan perintah mount untuk mengakses sistem file tersebut. Titik pemasangan untuk 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 yang sudah ada tidak memengaruhi akses data melalui direktori ekspor.
Prasyarat
-
Sistem file CPFS telah dibuat. Untuk informasi selengkapnya, lihat Buat sistem file.
-
Layanan protokol telah dibuat. Untuk informasi selengkapnya, lihat Buat layanan protokol.
-
Direktori ekspor telah dibuat. Untuk informasi selengkapnya, lihat Buat direktori ekspor.
-
Satu atau beberapa instance ECS telah dibuat dan memenuhi kondisi berikut. Untuk informasi selengkapnya, lihat Buat instance ECS.
-
Alamat IPv4 publik ditetapkan atau alamat Elastic IP dikaitkan dengan instance ECS.
-
Sistem operasi instance merupakan salah satu sistem operasi yang didukung untuk klien CPFS-NFS.
-
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 rentang port TCP dari 30000 hingga 60000 untuk pemetaan port saat melakukan mount sistem file.
Jika aplikasi lain telah menggunakan alamat IP 127.0.1.255 atau rentang port dari 30000 hingga 60000, modifikasi konfigurasi klien CPFS-NFS. Untuk informasi selengkapnya, lihat Konfigurasi klien.
Direktori file
Instalasi klien CPFS-NFS akan membuat direktori berikut pada instance 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 Anda melakukan mount sistem file CPFS menggunakan klien CPFS-NFS, proses haproxy dimulai pada instance ECS untuk akses I/O. Proses watchdog juga dimulai untuk memantau kesehatan klien CPFS-NFS.
Log klien
Anda dapat menemukan informasi mengenai error mount dalam log klien CPFS-NFS di direktori /var/log/aliyun/cpfs/. Untuk menyesuaikan konten log, modifikasi parameter dalam file konfigurasi log di /etc/aliyun/cpfs/cpfs-utils.conf. Setelah memodifikasi file konfigurasi, jalankan perintah sudo service aliyun-cpfs-mount-watchdog restart untuk me-restart proses watchdog backend.
Langkah 1: Unduh dan instal klien CPFS-NFS
Klien ini bersifat open source. Untuk kode sumber atau kompilasi manual, kunjungi repositori GitHub.
-
Login ke instance ECS tempat Anda akan melakukan mount sistem file CPFS. Untuk informasi lebih lanjut tentang cara menghubungkan ke instance ECS, lihat Metode koneksi.
-
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.rpm -
Instal 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.rpm -
Instal 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.deb -
Instal 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.deb -
Instal 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.rpm -
Instal klien CPFS-NFS.
sudo zypper --no-gpg-checks install -y aliyun-alinas-utils-*.rpm
-
-
Verifikasi instalasi.
which mount.cpfs-nfsInstalasi yang berhasil akan mengembalikan output berikut:
/usr/sbin/mount.cpfs-nfs
Langkah 2: Mount sistem file dengan klien
-
Mount sistem file CPFS.
-
Skenario 1: Mount umum (path default)
Skenario ini berlaku untuk sebagian besar lingkungan yang tidak memiliki pembatasan akses path khusus seperti AppArmor atau SELinux yang diaktifkan.
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 /mnt -
Skenario 2: Mount di lingkungan berkeamanan tinggi (misalnya, pada sistem dengan SELinux atau AppArmor yang diaktifkan)
Jika kebijakan penguatan keamanan seperti AppArmor atau SELinux diaktifkan pada sistem operasi Anda, mount default dapat menyebabkan error akses. Dalam kasus ini, tentukan path menggunakan opsi 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
Menentukan path mount dan path lokal. Ganti dengan nilai aktual Anda.
-
Path mount: Path mount dari direktori ekspor. Di Konsol Penyimpanan File NAS, pada halaman daftar sistem file, klik Manage untuk sistem file target guna membuka halaman Protocol Service. Pada kolom Actions, klik Export Directory untuk membuka panel Export Directory dan mendapatkan path mount.
Contoh:
cpfs-196f91a8e58b****-195ceeac7b6ac****.cn-chengdu.cpfs.aliyuncs.com:/share/fileset -
Path lokal: Path pada instance ECS tempat Anda ingin melakukan mount sistem file. Ini bisa berupa direktori root (/) atau subdirektori apa pun, seperti /mnt. Jika Anda menentukan subdirektori, pastikan direktori tersebut sudah ada.
vers
Versi NFS. CPFS hanya mendukung NFSv3.
Opsi mount
Anda dapat menentukan beberapa opsi mount yang dipisahkan koma (,). Opsi berikut tersedia:
-
rsize: Ukuran blok data (dalam byte) yang digunakan untuk membaca data antara klien dan sistem file. Nilai yang direkomendasikan: 1048576.
-
wsize: Ukuran blok data (dalam byte) yang digunakan untuk menulis data antara klien dan sistem file. Nilai yang direkomendasikan: 1048576.
CatatanJika Anda perlu mengubah parameter ukuran I/O (rsize dan wsize), kami menyarankan agar Anda menggunakan nilai maksimum (1048576) untuk menghindari degradasi performa.
-
hard: Jika sistem file CPFS menjadi tidak tersedia sementara, aplikasi lokal yang menggunakan file pada sistem file tersebut akan berhenti dan menunggu hingga sistem file kembali online. Opsi ini direkomendasikan.
-
timeo: Durasi, 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), kami menyarankan agar Anda menggunakan nilai 150 atau lebih besar. Nilai ini dalam satuan sepersepuluh detik, sehingga 150 setara dengan 15 detik.
-
retrans: Jumlah kali klien CPFS-NFS mencoba ulang permintaan. Nilai yang direkomendasikan: 2.
-
noresvport: Menggunakan port TCP baru saat koneksi jaringan terputus untuk memastikan koneksi tidak terganggu selama pemulihan kesalahan jaringan. Opsi ini direkomendasikan.
Penting-
Opsi
softtidak direkomendasikan karena berisiko terhadap konsistensi data. Jika Anda menggunakan opsisoft, Anda bertanggung jawab atas semua risiko yang terkait. -
Hindari mengatur opsi mount lain ke nilai yang berbeda dari nilai yang direkomendasikan. Misalnya, mengubah ukuran buffer baca/tulis atau menonaktifkan caching atribut dapat menurunkan performa.
-
-
hp_config_dir: (Opsional) Menentukan direktori yang berisi file konfigurasi haproxy. Tetapkan parameter ini jika sistem operasi Anda memiliki kebijakan penerapan keamanan (seperti AppArmor atau SELinux) atau kebijakan keamanan tinggi lainnya yang membatasi proses hanya boleh membaca konfigurasi atau berjalan di path tertentu.
-
Rekomendasi pemilihan path: Pilih direktori yang sesuai dari daftar izin kebijakan keamanan sistem Anda dan pastikan path tersebut telah diotorisasi oleh modul keamanan.
-
Logika: Klien CPFS pertama-tama mencoba menggunakan direktori yang ditentukan oleh parameter ini. Jika Anda tidak menentukan parameter ini, klien akan mencoba mengurai daftar izin kebijakan keamanan secara otomatis. Jika penguraian gagal, klien akan menggunakan path default
/var/run/cpfs.
-
-
-
Jalankan perintah
mount -luntuk melihat informasi mount.Setelah sistem file dimount, Anda dapat menjalankan perintah
df -huntuk melihat informasi kapasitas sistem file. -
(Opsional) Konfigurasikan mount otomatis saat startup.
Untuk mencegah informasi mount hilang setelah instance ECS restart, Anda perlu mengonfigurasi file
/etc/fstab. Jika Anda menggunakan parameterhp_config_dirsaat melakukan mount manual, Anda juga harus mengonfigurasinya di sini.-
Buka file konfigurasi
/etc/fstabdan tambahkan konfigurasi mount.-
Konfigurasi untuk lingkungan umum:
file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt cpfs-nfs vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0 -
Contoh konfigurasi untuk lingkungan berkeamanan tinggi:
Ganti
<custom_directory>dengan path yang diizinkan oleh kebijakan keamanan sistem Anda.file-system-id.region.cpfs.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 0 -
Tabel berikut menjelaskan parameter lainnya.
Parameter
Deskripsi
_netdev
Mencegah klien mencoba melakukan mount sistem file sebelum jaringan siap.
0 (item pertama setelah noresvport)
Nilai bukan nol menunjukkan bahwa perintah dump harus melakukan backup sistem file. Untuk sistem file CPFS, nilai ini adalah 0.
0 (item kedua setelah noresvport)
Menunjukkan urutan pemeriksaan sistem file oleh perintah fsck saat startup. Untuk sistem file CPFS, nilai ini adalah 0, yang mencegah fsck berjalan saat startup.
-
-
Jalankan perintah
rebootuntuk merestart instance ECS.Sebelum merestart instance ECS, pastikan mount manual telah berhasil untuk mencegah instance gagal restart. Jika konfigurasi mount otomatis berhasil, Anda dapat menjalankan perintah
df -huntuk melihat sistem file CPFS yang telah dimount setelah instance ECS restart.
-
Konfigurasi klien
File konfigurasi
Jika Anda perlu memodifikasi konfigurasi klien CPFS-NFS, hubungi tim dukungan teknis CPFS. Modifikasi file konfigurasi hanya di bawah panduan mereka untuk menghindari gangguan akses I/O. File konfigurasi terletak di /etc/aliyun/cpfs/cpfs-utils.conf. Berikut contoh konfigurasi:
[DEFAULT]
logging_level = INFO
logging_max_bytes = 1048576
logging_file_count = 10
[mount]
stunnel_debug_enabled = false
# Validasi hostname sertifikat saat mount. 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. Nilai default: INFO. |
|
logging_max_bytes |
Ukuran maksimum file log, dalam byte. Default: 1048576 (1 MiB). |
|
logging_file_count |
Jumlah maksimum file log yang disimpan. Nilai default: 10. |
|
cpfs_proxy_addr |
Alamat IP proksi untuk klien CPFS. Nilai default: 127.0.1.255. |
|
cpfs_proxy_port_min |
Nilai minimum dari range port proksi untuk klien CPFS. Nilai default: 30000. |
|
cpfs_proxy_port_max |
Nilai maksimum dari range port proksi untuk klien CPFS. Nilai default: 60000. |
|
poll_interval_sec |
Interval deteksi untuk layanan watchdog latar belakang. Nilai default: 1s. |
|
unmount_grace_period_sec |
Periode tenggang untuk membersihkan file konfigurasi terkait setelah Anda melakukan unmount pada titik pemasangan CPFS-NFS. Nilai default: 30s. |
|
dns_refresh_interval |
Interval pemeriksaan rekaman DNS oleh layanan watchdog latar belakang untuk menentukan ketersediaan node primer dan sekunder. Nilai 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 mungkin terganggu. Anda dapat melihat file konfigurasi haproxy-config.dns untuk detailnya. Secara default, file ini disimpan di direktori /var/run/cpfs/. Jika Anda menentukan parameter hp_config_dir saat mount, file tersebut akan disimpan di direktori kustom yang ditentukan. Kode berikut menunjukkan contoh isi file:
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 backup
Tabel berikut menjelaskan parameter penting.
|
Parameter |
Deskripsi |
|
defaults |
Kami menyarankan agar Anda tidak memodifikasi nilai parameter default. |
|
frontend |
Alamat IP lokal dan port untuk proksi haproxy. Alamat IP default adalah 127.0.1.255, dan range port adalah 30000 hingga 60000. |
|
backend |
Alamat IP dari layanan CPFS-NFS backend, di mana |