安裝配置NFS服務

超級好的配置centos下服務的連接php

http://www.server-world.info/en/note?os=CentOS_6&p=nfshtml

http://linux.vbird.org/linux_server/0330nfs.phplinux

開源的有freenas,openfilterhttp://blog.csdn.net/wwwlh/article/details/5989097centos

如下是NFS最顯而易見的好處: 服務器

  • 本地工做站使用更少的磁盤空間,由於一般的數據能夠存放在一 臺機器上並且能夠經過網絡訪問到。網絡

  • 用戶沒必要在每一個網絡上機器裏頭都有一個home目錄。Home目錄 能夠被放在NFS服務器上而且在網絡上到處可用。app

  •  

某些應用程序 (例如 mutt) 須要文件上鎖支持才能正常運行。 在使用 NFS 時, 能夠用 rpc.lockd 來支持文件上鎖功能tcp

典型狀況下, NFS 會使用一個 「塊」 爲單位進行操做, 其尺寸是 8 K (雖然它可能會將操做分紅更小尺寸的分片)。 因爲最大的以太網包尺寸大約是 1500 字節, 所以 NFS 「塊」 會分紅多個以太網包, 雖然在更高層的代碼看來它仍然是一個完整的單元, 並在接收方從新組裝, 做爲一個總體來 確認。 高性能的工做站, 能夠將構成 NFS 單元的包迅速發出, 其節奏會快到標準容許的最大限度。工具

Server端性能

1.rpm –qa|grep nfs

2.yum –y install nfs-utils rpcbind

   會自動增長用戶nfsnobody

[root@rhel /]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)

3.若是Yum安裝報錯 [Errno 256] No more mirrors to try,則執行

  1. yum clean all
  2. yum makecache

4. 建立共享目錄 mkdir /nfs_share

5. chown nfsnobody:nfsnobody /nfs_share

6.vi /etc/exports,增長

/nfs_share 192.168.1.*(rw,all_squash,anonuid=65534,anongid=65534)

no_root_squash 客戶機用root用戶訪問該共享文件夾時,將root用戶映射成匿名用戶

root_squash 客戶機用root訪問該共享文件夾時,不映射root用戶

all_squash 客戶機上的任何用戶訪問該共享目錄時都映射成匿名用戶

7.啓動服務

service rpcbind start

service nfslock start

service nfs start


[root@rhel /]# service nfs start
Starting NFS services:  [  OK  ]
Starting NFS quotas: [  OK  ]
Starting NFS mountd: [  OK  ]
Starting NFS daemon: [  OK  ]
[root@rhel /]#

8.rpcinfo –p

[root@rhel /]# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  38041  status
    100024    1   tcp  52337  status
    100011    1   udp    875  rquotad
    100011    2   udp    875  rquotad
    100011    1   tcp    875  rquotad
    100011    2   tcp    875  rquotad
    100005    1   udp  24683  mountd
    100005    1   tcp  20579  mountd
    100005    2   udp  35399  mountd
    100005    2   tcp  46049  mountd
    100005    3   udp  61341  mountd
    100005    3   tcp  22087  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs  #NFS版本4
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100021    1   udp  54757  nlockmgr
    100021    3   udp  54757  nlockmgr
    100021    4   udp  54757  nlockmgr
    100021    1   tcp  39549  nlockmgr
    100021    3   tcp  39549  nlockmgr
    100021    4   tcp  39549  nlockmgr

9.

chkconfig rpcbind on

chkconfig nfslock on

chkconfig nfs on

10. showmount –e 列出共享的目錄

showmount –a IP 用於server端查看哪些client

     exportfs –r -v 再次export

Exports [-aruv]

-a    所有mount或umount文件/etc/exports中的內容

-r     從新mount文件/etc/exports中的共享內容

-u   umount目錄

-v    在export的時候,將詳細的信息輸出到屏幕上

例:

[root@localhost ~]#/usr/sbin/exportfs –rv        所有從新export一次

[root@localhost ~]#/usr/sbin/exportfs –au        所有卸載

   nfsstat  查看nfs狀態

/root/share/  192.168.1.20 (rw,insecure,sync,all_squash)  表示共享服務器上的/root/share/目錄只有192.168.1.20主機能夠訪問,且有讀寫權限;此主機用任何身份訪問時,將客戶機的用戶都映射成服務器上的匿名用戶(all_squash),至關於在服務器上用nobody用戶訪問該目錄(若客戶機要在該共享目錄上保存文件(即寫操做),則服務器上的nobody用戶對該目錄必須有寫的權限)

/home/ljm/  *.gdfs.edu.cn (rw,insecure,sync,all_squash)   表示共享/home/ljm/目錄,*.gdfs.edu.cn域中全部的主機均可以訪問該目錄,且有讀寫權限

/home/share/  .gdfs.edu.cn (ro,sync,all_squash,anonuid=student,anongid=math)     表示共享目錄/home/share/,*.gdfs.edu.cn域中的全部主機均可以訪問,但只有只讀的權限,全部用戶都映射成服務器上的uid爲student、gid爲math的用戶

客戶端

1.客戶端還須要啓動rpcbind服務.rpcbind通常預設會自動啓動.

service rpcbind start

2.若是服務器端啓動了nfslock,則客戶端也要啓動nfslock服務

service nfslock start

3.創建掛接目錄

mkdir /client_nfs

chown nfsnobody:nfsnobody /client_nfs 若是有必要的話

4.查詢有哪些目錄被export出來

showmount –e ip地址

5.掛接

mount –t nfs 192.168.1.x:/nfs_share /client_nfs

注意:要註釋掉server端/etc/hosts中的客戶端IP-主機名,不然報錯以下:

[root@hp ~]# mount -t nfs 192.168.1.80:/nfs /nfs_client
mount: 192.168.1.80:/nfs failed, reason given by server: Permission denied

緣由:nfs server接到客戶端的mount時,會先客戶的IP作反解成域名,用域名(注意是用域名而不是IP)去和/etc/exports作比較,若是匹配不成功會失敗

根本緣由:規範的配置應是192.168.1.0/24或192.168.1.0/255.255.255.0。

客戶端在掛載的時候遇到的一個問題以下,多是網絡不太穩定,NFS默認是用UDP協議,換成TCP協議便可:

mount -t nfs 192.168.1.225:/nfs  /nfs_client -o proto=tcp -o nolock

mount -t nfs 使用的是 nfsv3 協議,須要明確指出使用 nfsv4 協議掛載 mount -t nfs4:

df查看 是否骨架成功

6.rc.local中寫入自動掛載腳本,開機後會自動掛載.

替換工具autofs,效果更好

 

 

解除掛載:

[root@localhost ~]# umount /nfs_client

 

 

其餘網上摘錄:

NFS 在 Solaris 上最穩定、功能最豐富;在 FreeBSD 上的性能最好,可是缺乏一些功能,好比 FreeBSD 8.0 內核才增長了 NFS 文件鎖的支持;NFS 在 Linux 上表現最通常了

vpsee,你這個是何時的測試結果,我近期測得結果NFS下Linux裏寫入速度最快,千兆網絡中SAS硬盤RAID1能達到90M/s,基本達到網卡極限,而Solaris只能跑到50M/s左右,FreeBSD最低只有38M/s左右,另外BSD在本地硬盤的讀寫也較慢。 不知道是否是UFS文件系統效率問題。

相關文章
相關標籤/搜索