CentOS 7.2’de NFS SUNUCUSU VE İSTEMCİ AYARLAMA(KURMA)

Bu öğretici, bu OS sürümleri için mevcuttur;

  • CentOS 7.2
  • CentOS 6.3
  • CentOS 5.5

Bu sayfa üzerinde:

1.Ön Not
2.Güvenlik Duvarını Yapılandırma
3.NFS Yükleme
4. Dizinleri Sunucuya Dışa Aktarma
5. NFS Paylaşımlarını İstemciye Monte Etme
6.Test etme
7. Önyükleme Süresince NFS Paylaşımlarının Monte Edilmesi
8.Linkler

Bu kılavuz, CentOS 7’de bir NFS sunucusu ve bir NFS istemcisinin nasıl kurulacağını açıklamaktadır. NFS, Ağ Dosya Sistemi’nin (Network File System) kısaltmasıdır; NFS aracılığıyla, bir istemci yerel bir sabit diskte olduğu gibi bir NFS sunucusunda uzak bir paylaşıma erişebilir (okumalı, yazılmalıdır). Kurulum için temel olarak bir CentOS 7.2 minimum sunucu kullanacağım.

1.ÖN NOT:

Burada iki CentOS sistemi kullanıyorum:

  • NFS Server: example.com, IP address: 192.168.1.100
  • NFS Client: example.com, IP address: 192.168.1.101

Konfigürasyon dosyalarını düzenlemek için bu öğreticide nano düzenleyiciyi kullanacağım.Nano aşağıdaki gibi yüklenebilir.

yum -y install nano

2.Güvenlik Duvarını Yapılandırma

Bir güvenlik duvarı kurulmasını öneririm. Güvenlik duvarı henüz yüklü değilse ve bir güvenlik duvarı kullanmak istiyorsanız, aşağıdaki  komutu kullanarak yükleyin:

yum -y install firewalld

 

Güvenlik duvarını başlatın ve önyükleme zamanında başlatılmasını etkinleştirin.

systemctl start

 

firewalld.service

 

systemctl enable

firewalld.service

 Daha sonra ,sunucuya yönetici amaçlı SSH ve NFS istemcisinden NFS ile bağlanabilmeniz için, SSH ve NFS bağlantı noktalarını açın.)

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

 

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

 

firewall-cmd –reload

3.NFS Yükleme

Sunucu:

NFS sunucusunda şunu çalıştırırız:

yum -y install nfs-utils

Ardından, nfs sunucu hizmetini etkinleştirin ve başlatın.

systemctl enable nfs-server.service

 

systemctl start nfs-server.service

İstemci:

İstemcide, NFS’yi şu şekilde kurabiliriz (aslında sunucuda olduğu gibi aynıdır):

yum install nfs-utils

  1. Dizinleri Sunucuya Dışa Aktarma

Sunucu:

/ home   ve      / var / nfs    dizinlerine istemcinin erişebilmesini sağlamak istiyorum; Bu nedenle onları sunucuda “dışa aktarmamız” gerekir.

 

Bir istemci bir NFS paylaşımına eriştiğinde, normalde kullanıcı nfsnobody olur. Genellikle    / home dizini nfsnobody’ye ait değildir (ve sahip olma durumunu nfsnobody olarak değiştirmenizi tavsiye etmem!)  ve   / home dosyasını okumak ve yazmak istediğimizden NFS’ye erişimlerin kök olarak yapılması gerektiğini söylüyoruz (eğer  / home  paylaşımımız salt okunur ise, bu gerekli olmayacaktır).

/ var / nfs dizini mevcut değil, bu nedenle  onu oluşturabilir ve mülkiyetini kullanıcı ve grup nfsnobody olarak değiştirebiliriz.

mkdir /var/nfs

 

chown nfsnobody:nfsnobody /var/nfs

 

chmod 755 /var/nfs

Şimdi NFS paylaşımlarımızı “dışa aktartığımız”   / etc / exports    ‘u değiştirmeliyiz.

/ home  ve   /var/nfs’yi   NFS paylaşımları olarak belirtir ve NFS ‘ye / home’ a root olarak erişmesini söyleriz    (/etc / exports,  biçimi ve kullanılabilir seçenekleri hakkında daha fazla bilgi edinmek için, bir göz atın

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)

(no_root_squash  seçeneği,   /home    ‘a root olarak erişilmesini sağlar.)

/etc /exports’u değiştirdiğimizde şunu çalıştırmalıyız:

exportfs –a

Daha sonra değişiklikleri etkili kılmak için.

5. NFS Paylaşımlarını İstemciye Monte Etme

İstemci:

Önce, NFS paylaşımlarını bağlamak istediğiniz dizinleri oluştururuz,

Ör:

mkdir -p /mnt/nfs/home

mkdir -p /mnt/nfs/var/nfs

Daha sonra bunları aşağıdaki gibi tanıtabiliriz :

mount 192.168.1.100:/home /mnt/nfs/home

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

Şimdi iki NFS paylaşımının çıktılarını görmelisiniz:

 

df -h

[root@client ~]# 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

Ve

 

mount

[root@client ~]# 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.Test etme

İstemcide, artık NFS paylaşımlarında test dosyaları oluşturmayı deneyebilirsiniz:

Istemci:

touch /mnt/nfs/home/test.txt

 

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

Şimdi sunucuya gidin ve her iki test dosyasını da görebilirsiniz:

Sunucu:

ls -l /home/

[root@server1 ~]# 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

[root@server1 ~]# ls -l /var/nfs
total 0
-rw-r–r–. 1 nfsnobody nfsnobody 0 Jun 29 13:07 test.txt

(Test dosyalarının farklı sahipliklerine dikkat edin:  /home NFS paylaşımı kök olarak erişilir bu nedenle  /home/test.txt köküne aittir; /var/nfs paylaşımına nobody /65534 olarak erişildiğinden, /var/nfs/test.txt’in sahibi 65534’tür)

7. Önyükleme Süresince NFS Paylaşımlarının Monte Edilmesi

NFS paylaşımlarını el ile istemciye kurmak yerine, /etc/fstab dosyasını değiştirebilir, böylece istemci önyükleme yaparken NFS paylaşımları otomatik olarak tanıtılır.

Istemci:

/etc/fstab dosyasını açın ve aşağıdaki satırları ekleyin:

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

Rw, sync, hard, intr yerine farklı değişkenleri  kullanabilirsiniz. Mevcut seçenekler hakkında daha fazla bilgi için, bir göz atın.

man nfs

Değiştirilen /etc/fstab dosyanızın çalışıp çalışmadığını test etmek için istemciyi yeniden başlatın:

reboot

Yeniden başlattıktan sonra, iki NFS paylaşımının çıktılarını bulmalısınız.

df -h

[root@client ~]# 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

ve

mount

[root@client ~]# 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)

8.LİNKLER