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
- 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
- Linux NFS: http://nfs.sourceforge.net/
- CentOS: http://www.centos.org/