GNU/Linux >> Belajar Linux >  >> Cent OS

Menyiapkan Server dan Klien NFS di CentOS 7.2

Panduan ini menjelaskan cara menyiapkan server NFS dan klien NFS di CentOS 7. NFS adalah singkatan dari Network File System; melalui NFS, klien dapat mengakses (membaca, menulis) berbagi jarak jauh di server NFS seolah-olah berada di hard disk lokal. Saya akan menggunakan server minimal CentOS 7.2 sebagai dasar untuk instalasi.

1 Catatan Awal

Saya menggunakan dua sistem CentOS di sini:

  • Server NFS:server.example.com, alamat IP:192.168.1.100
  • Klien NFS:client.example.com, alamat IP:192.168.1.101

Saya akan menggunakan editor nano dalam tutorial ini untuk mengedit file konfigurasi. Nano bisa dipasang seperti ini.

yum -y install nano

2 Konfigurasi Firewall

Saya sarankan menginstal firewall. Jika Anda belum menginstal firewalld dan ingin menggunakan firewall, maka instal dengan perintah berikut:

yum -y install firewalld

mulai firewall dan aktifkan untuk dimulai saat boot.

systemctl start firewalld.service
systemctl enable firewalld.service

Selanjutnya, buka port SSH dan NFS untuk memastikan bahwa Anda akan dapat terhubung ke server dengan SSH untuk tujuan admin dan oleh NFS dari klien NFS kami.

firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reload

3 Memasang NFS

server:

Di server NFS kami menjalankan:

yum -y install nfs-utils

Kemudian aktifkan dan mulai layanan server nfs.

systemctl enable nfs-server.service
systemctl start nfs-server.service

klien:

Di klien, kita dapat menginstal NFS sebagai berikut (ini sebenarnya sama dengan di server):

yum install nfs-utils

4 Mengekspor Direktori di Server

server:

Saya ingin membuat direktori /home dan /var/nfs dapat diakses oleh klien; oleh karena itu kita harus "mengekspor" mereka di server.

Ketika klien mengakses berbagi NFS, ini biasanya terjadi sebagai pengguna nfsnobody. Biasanya direktori /home tidak dimiliki oleh nfsnobody (dan saya tidak menyarankan untuk mengubah kepemilikannya menjadi nfsnobody!), dan karena kita ingin membaca dan menulis di /home, kami memberi tahu NFS bahwa akses harus dibuat sebagai root (jika /home share kami hanya-baca, ini tidak diperlukan). Direktori /var/nfs tidak ada, jadi kami dapat membuatnya dan mengubah kepemilikannya menjadi pengguna dan grup nfsnobody.

mkdir /var/nfs
chown nfsnobody:nfsnobody /var/nfs
chmod 755 /var/nfs

Sekarang kita harus memodifikasi /etc/exports di mana kita "mengekspor" share NFS kita. Kami menentukan /home dan /var/nfs sebagai NFS yang dibagikan dan memberi tahu NFS untuk membuat akses ke /home sebagai root (untuk mempelajari lebih lanjut tentang /etc/exports, formatnya, dan opsi yang tersedia, lihat

man 5 exports

)

nano /etc/exports
/home           192.168.1.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.1.101(rw,sync,no_subtree_check)

(Opsi no_root_squash membuat /home akan diakses sebagai root.)

Setiap kali kita memodifikasi /etc/exports, kita harus menjalankan:

exportfs -a

setelah itu, untuk membuat perubahan menjadi efektif.

5 Memasang Bagian NFS pada Klien

klien:

Pertama kita buat direktori tempat kita ingin me-mount share NFS, mis.:

mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs

Setelah itu, kita dapat memasangnya sebagai berikut:

mount 192.168.1.100:/home /mnt/nfs/home
mount 192.168.1.100:/var/nfs /mnt/nfs/var/nfs

Anda sekarang akan melihat dua bagian NFS di output

df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 28G 1.7G 26G 7% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 910M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/sda1 497M 208M 290M 42% /boot
tmpfs 184M 0 184M 0% /run/user/0
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

dan

mount
[[email protected] ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

6 Pengujian

Di klien, Anda sekarang dapat mencoba membuat file uji pada share NFS:

klien:

touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt

Sekarang buka server dan periksa apakah Anda dapat melihat kedua file pengujian:

server:

ls -l /home/
[[email protected] ~]# ls -l /home/
total 0
drwx------. 2 administrator administrator 59 Jun 21 16:13 administrator
-rw-r--r--. 1 root root 0 Jun 29 13:07 test.txt
ls -l /var/nfs
[[email protected] ~]# ls -l /var/nfs
total 0
-rw-r--r--. 1 nfsnobody nfsnobody 0 Jun 29 13:07 test.txt

(Harap perhatikan kepemilikan berbeda dari file uji:bagian /home NFS diakses sebagai root, oleh karena itu /home/test.txt dimiliki oleh root; bagian /var/nfs diakses sebagai bukan siapa-siapa/65534, oleh karena itu /var/ nfs/test.txt dimiliki oleh 65534.)

7 Memasang Bagian NFS saat Booting

Daripada memasang share NFS secara manual pada klien, Anda dapat memodifikasi /etc/fstab sehingga share NFS dapat dipasang secara otomatis saat klien melakukan booting.

klien:

Buka /etc/fstab dan tambahkan baris berikut:

nano /etc/fstab
[...]
192.168.1.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0
192.168.1.100:/var/nfs  /mnt/nfs/var/nfs   nfs      rw,sync,hard,intr  0     0

Alih-alih rw,sync,hard,intr Anda dapat menggunakan opsi pemasangan yang berbeda. Untuk mempelajari lebih lanjut tentang opsi yang tersedia, lihat

man nfs

Untuk menguji apakah /etc/fstab Anda yang dimodifikasi berfungsi, reboot klien:

reboot

Setelah reboot, Anda akan menemukan dua NFS yang dibagikan di output

df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 28G 1.7G 26G 7% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 910M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/sda1 497M 208M 290M 42% /boot
tmpfs 184M 0 184M 0% /run/user/0
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

dan

mount
[[email protected] ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

  • Linux NFS:http://nfs.sourceforge.net/
  • CentOS:http://www.centos.org/

Cent OS
  1. Menyiapkan Server dan Klien NFS di Debian 9 (Peregangan)

  2. Menyiapkan Server NFS Dan Klien Pada CentOS 6.3

  3. Menyiapkan Server NFS Dan Klien Pada OpenSUSE 12.2

  1. Menyiapkan Server NFS Dan Klien Di Scientific Linux 6.3

  2. Mempelajari NFS melalui konfigurasi server dan klien

  3. CentOS / RHEL 7 :Mengkonfigurasi server NFS dan klien NFS

  1. Instalasi NFS Server dan Klien pada CentOS 7

  2. Menyiapkan Server dan Klien NFS di Debian Wheezy

  3. Cara Mengatur Server dan Klien NFS di Ubuntu 20.04