NFS服務簡介 linux
NFS是Network File System的縮寫,即網絡文件系統。NFS是由Sun開發並發展起來的一項用於在不一樣機器,不一樣操做系統之間經過網絡互相分享各自的文件。NFS server也能夠看做是一個FILE SERVER,用於在UNIX類系統之間共享文件,能夠輕鬆的掛載(mount)到一個目錄上,操做起來就像本地文件同樣的方便。 vim
服務器端配置 服務器
在Redhat Linux下NFS是默認安裝的 網絡
[root@linux-a ~]# rpm -qa | grep nfs
nfs-utils-1.0.9-16.el5
nfs-utils-lib-1.0.8-7.2 併發
NFS配置文件設置 async
NFS服務的配置文件是etc/exports tcp
exports文件內容格式: ui
<輸出目錄> [客戶端1 選項(訪問權限,用戶映射,其餘)] [客戶端2 選項(訪問權限,用戶映射,其餘)] spa
1.輸出目錄: 操作系統
輸出目錄是指NFS系統中須要共享給客戶機使用的目錄;
2.客戶端:
客戶端是指網絡中能夠訪問這個NFS輸出目錄的計算機
客戶端經常使用的指定方式
指定ip地址的主機 192.168.0.200
指定子網中的全部主機 192.168.0.0/24
指定域名的主機 a.liusuping.com
指定域中的全部主機 *.liusuping.com
全部主機 *
3.選項:
選項用來設置輸出目錄的訪問權限、用戶映射等。NFS主要有3類選項:
訪問權限選項
設置輸出目錄只讀 ro
設置輸出目錄讀寫 rw
用戶映射選項
all_squash 將遠程訪問的全部普通用戶及所屬組都映射爲匿名用戶或用戶組(nfsnobody);
no_all_squash 與all_squash取反(默認設置);
root_squash 將root用戶及所屬組都映射爲匿名用戶或用戶組(默認設置);
no_root_squash 與rootsquash取反;
anonuid=xxx 將遠程訪問的全部用戶都映射爲匿名用戶,並指定該用戶爲本地用戶(UID=xxx);
anongid=xxx 將遠程訪問的全部用戶組都映射爲匿名用 戶組帳戶,並指定該匿名用戶組帳戶爲本地用戶組帳戶(GID=xxx);
其它選項
secure 限制客戶端只能從小於1024的tcp/ip端口鏈接nfs服務器(默認設置);
insecure 容許客戶端從大於1024的tcp/ip端口鏈接服務器;
sync 將數據同步寫入內存緩衝區與磁盤中,效率低,但能夠保證數據的一致性;
async 將數據先保存在內存緩衝區中,必要時才寫入磁盤;
wdelay 檢查是否有相關的寫操做,若是有則將這些寫操做 一塊兒執行,這樣能夠提升效率(默認設置);
no_wdelay 如有寫操做則當即執行,應與sync配合使用;
subtree 若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
no_subtree 即便輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣能夠提升效率;
NFS服務器配置實例
/nfs/public 192.168.0.0/24(rw,async) *(ro)
/nfs/frank 192.168.0.232(rw,sync)
/nfs/root *.liusuping.com(ro,no_root_squash)
/nfs/users *.liusuping.com(rw,insecure,all_squash,sync,no_wdelay)
/mnt/cdrom 192.168.0.*(ro)
注意:除了在配置文件中定義目錄的讀寫權限外,還須要相應的目錄具備相應的讀寫權限。
查看NFS共享目錄信息
[root@linux-a ~]# exportfs
/nfs/public 192.168.0.0/24
/nfs/frank 192.168.0.232
/nfs/users *.liusuping.com
/mnt/cdrom 192.168.0.*
/nfs/root *.liusuping.com
/nfs/public <world>
啓動或中止NFS服務
[root@linux-a ~]# sevice nfs start|stop|restart
[root@linux-a ~]# chkconfig --level 35 nfs on //設置NFS自動啓動方式;
客戶端配置
Linux客戶端能夠直接經過mount命令掛載NFS文件
[root@linux-a ~]# mkdir /mnt/nsf1
[root@linux-a ~]# mount -t nfs 192.168.0.231:/nfs/frank /mnt/nfs1
[root@linux-a ~]# mount | grep nfs
[root@linux-a ~]# umount /mnt/nfs1
經過修改/etc/fstab文件能夠實現開機自動掛載nfs目錄
[root@linux-b nfs1]# vim /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
192.168.0.231:/nfs/frank /mnt/nfs1 nfs defaults 0 0