Lewati ke konten utama

External NFS Server Configuration

external storage server icon

Platform ini memungkinkan berbagi data antara server (tempat file terletak secara fisik) dan klien (mendapatkan akses ke data jarak jauh seolah-olah disimpan secara lokal). Konfigurasi yang diperlukan untuk mengatur share bervariasi berdasarkan kondisi berikut:

  • kedua instance berada di dalam akun PaaS yang sama - baik ekspor data dari penyimpanan atau mount data pada klien (platform secara otomatis menangani operasi kedua)

  • satu instance berada di luar platform - ekspor data dari penyimpanan eksternal (dijelaskan dalam panduan ini) dan mount data eksternal pada klien

Di bawah ini, kami akan mempertimbangkan konfigurasi yang diperlukan untuk mengekspor data dari platform Shared Storage Container ke instance eksternal. Alur yang dijelaskan cocok untuk server penyimpanan berbasis NFS apa pun.

1. Pertama-tama, untuk berbagi data melalui Internet, diperlukan menambahkan alamat public IP ke server Anda:

shared storage with public IP

2. Selanjutnya, Anda perlu mendeklarasikan daftar direktori yang ingin Anda bagi dalam file etc/exports yang sesuai. Di platform, ini dapat dengan mudah diakses dengan tombol Configuration di bagian Exports dari Configuration File Manager bawaan.

Di sini, format berikut harus digunakan:

{directory} {server}([option],[option],..)
exports configuration file

dimana:

  • {directory} - jalur ke folder (relatif terhadap folder Root) yang harus diekspor

  • {NFS_client} - custom domain nama atau alamat IP publik dari node klien (yaitu tempat file yang diekspor harus dipasang)

catatan

Jika instance Anda tidak memiliki alamat eksternal yang terlampir, Anda dapat menggunakan IP host yang sesuai. Ini bisa diperoleh dengan menghubungkan ke container via SSH dan menjalankan perintah berikut: curl ifconfig.co Perhatikan bahwa alur seperti itu sangat tidak aman dan tidak boleh digunakan untuk tujuan produksi, karena akan membuat data bersama Anda tersedia untuk container mana pun di host yang sama.

  • [option] - beberapa parameter tambahan untuk menggambarkan izin akses, di mana yang utama adalah:

    • async - memungkinkan NFS klien menerima respons dari penyimpanan segera setelah permintaan penambahan konten diproses. Saat ini, data sudah ada di cache tetapi belum benar-benar ditulis ke penyimpanan. Dibandingkan dengan opsi sync yang berlawanan, ini memberikan peningkatan kinerja tetapi meninggalkan sedikit risiko kehilangan data (jika dihentikan/crash saat masih menahan data yang belum tertulis dalam cache)
    • ro (atau rw) - mendefinisikan izin baca-saja (baca & tulis) untuk membuat node klien dapat melihat (melihat dan mengedit) data bersama
    • no_root_squash - memberi pengguna root pada server klien tingkat akses yang sama seperti pengguna root pada penyimpanan container
    • no_subtree_check - menetapkan aksesibilitas untuk seluruh direktori (kinerja lebih baik tetapi membatasi penyediaan aturan individu untuk file di dalamnya)
tip

Untuk keamanan tambahan, Anda dapat mengkonfigurasi file etc/hosts.allow dan etc/hosts.deny yang sesuai untuk mengelola daftar host yang dapat bekerja dengan server NFS.

3. Ketika bekerja dengan Shared Storage Auto-Cluster berdasarkan GlusterFS, pertimbangkan bahwa hanya folder /data yang direplikasi di antara instance, jadi direktori yang diekspor harus terletak di dalam.

Juga, opsi tambahan fsid harus wajib ditambahkan ke string konfigurasi ekspor. Misalnya, nilai parameter ini dapat dihasilkan secara acak dengan perintah berikut:

cat /proc/sys/kernel/random/uuid
generate random fsid

Akibatnya, string ekspor akan mirip dengan yang berikut ini:

export configs for GlusterFS storage

Jangan lupa untuk Simpan perubahan yang telah Anda buat.

4. Untuk menerapkan pengaturan ekspor baru, perintah exportfs yang sesuai harus digunakan (mis. melalui Web SSH):

exportfs -ra
apply new export settings

5. Selanjutnya, Anda perlu membuka port server NFS (111 , 2049 , dan 20048) untuk alamat IP klien NFS (yang digunakan dalam langkah kedua). Arahkan ke bagian Settings >Firewall environment penyimpanan untuk menambahkan aturan yang diperlukan melalui UI yang intuitif:

configure firewall rules via UI
tip

Ini dapat dilakukan melalui konsol juga:

iptables -I INPUT -p tcp -m multiport --dports 111,2049,20048 -s {NFS_client} -j ACCEPT  
iptables -I INPUT -p udp -m multiport --dports 111,2049,20048 -s {NFS_client} -j ACCEPT

6. Ketika memberikan hak RW, pastikan bahwa pengguna yang sama memiliki izin akses yang setara ke folder yang dibagi baik pada klien NFS maupun server. Misalnya, stack yang berbeda dapat menggunakan pengguna yang berbeda secara default (mis. root dan jelastic).

Jadi, jika diperlukan, jalankan perintah berikut di server penyimpanan Anda untuk menyesuaikan hak:

chown {uid}:{gid} {path}

Di sini:

  • {uid} - nama pengguna atau ID, yang dapat ditemukan di file /etc/passwd dari container platform Anda
  • {gid} - nama grup atau pengenal, yang ditampilkan dalam file /etc/group dari node Anda
  • {path} - jalur ke direktori yang ingin Anda ubah izinnya
change folder access rights

Itu saja! Server penyimpanan data Anda siap, sehingga Anda dapat kembali ke instance klien dan mulai mount.

Baca Juga