Linux下的nfs服務器linux
一.NFS的介紹vim
1. NFS 網絡文件系統 Network File System網絡文件系統,是一種將遠程主機上的分區(目錄)經網絡掛載到本地系統的一種機制,經過對網絡文件系統的支持,用戶能夠在本地系統上像操做本地分區同樣來對遠程主機的共享分區(目錄)進行操做。在類unix系統之間共享資源,不須要安裝軟件。端口不固定,須要portmap(端口映射)提供RPC(遠程過程調用)一種協議;NFS向RPC註冊端口windows
優勢:服務器
局域網內共享速度最快網絡
缺點:async
不能跨平臺共享(windows和linux系統不能共享文件,如今有第三方的軟件能夠實現,不過效率不高)ide
2.NFS系統守護進程ui
nfsd:它是基本的NFS守護進程,主要功能是管理客戶端是否可以登陸服務器;spa
mountd:它是RPC安裝守護進程,主要功能是管理NFS的文件系統。當客戶端順利經過nfsd登陸NFS服務器後,在使用NFS服務所提供的文件前,還必須經過文件使用權限的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端權限。unix
portmap:主要功能是進行端口映射工做。當客戶端嘗試鏈接並使用RPC服務器提供的服務時,portmap會將所管理的與服務對應的端口提供給客戶端,從而使客戶能夠經過該端口向服務器請求服務
二.NFS的配置
1.相關文件
/etc/exports NFS服務的主要配置文件,須要手動創建
/usr/sbin/exportfs NFS服務的管理命令
/usr/sbin/showmount 客戶端的查看命令
/var/lib/nfs/etab 記錄NFS分享出來的目錄的完整權限設定值
/var/lib/nfs/xtab 記錄曾經登陸過的客戶端信息
2.主配置文件
/etc/exports ,格式:
共享目錄名稱 客戶端地址(權限,另外一個權限) 另外一個客戶端地址(權限,另外一個權限)
客戶端能夠爲:
192.168.8.70 ip地址
tx.test.com 主機名
192.168.8.0/24 一個網段
*.test.com 全部主機名
權限能夠爲:
@1.no_root_squash: 表示不對root 的身份進行轉換
@2.all_squash: 全部用戶身份都轉化
@3.all_squash,anonuid=500,anongid=500: 全部新生成文件的全部者、所屬組都轉換成爲500
@4. root_squash 表示對root的身份進行轉換,轉換成nfsnobody
@5. ro 只讀
@6..rw 只寫
@7.anonuid 能夠自行設定這個UID的值,這個UID必須要存在於你的/etc/passwd當中
@8.anongid 同anonuid,可是變成groupID就是了
@9.sync 資料同步寫入到內存與硬盤當中
@10.async 資料會先暫存於內存當中,而非直接寫入硬盤
@11.insecure 容許從這臺機器過來的非受權訪問
[root@tx1 ~]#mkdir /tmp/tx
[root@tx1 ~]#vim /etc/exports
/tmp/tx *(ro,sync)
[root@tx1 ~]# cd /tmp/tx
[root@tx1 tx]# ls
[root@tx1 tx]# touch tt t1 t2
3.啓動nfs:
[root@tx1 ~]# service portmap restart
Stopping portmap: [ OK ]
Starting portmap: [ OK ]
[root@tx1 ~]# service nfs restart
Shutting down NFS mountd: [FAILED]
Shutting down NFS daemon: [FAILED]
Shutting down NFS quotas: [FAILED]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
開機自動啓動
[root@tx1 ~]# chkconfig --list portmap
portmap 0:off1:off2:off3:on4:on5:on6:off
[root@tx1 ~]# chkconfig --list nfs
nfs 0:off1:off2:off3:off4:off5:off6:off
[root@tx1 ~]# chkconfig nfs on
[root@tx1 ~]# chkconfig --list nfs
nfs 0:off1:off2:on3:on4:on5:on6:off
4.export
exportfs[-aruv]
a 所有掛載(或卸載)/etc/exports檔案內的設定
r 從新掛載/etc/exports 裏面的設定,也同步的更新/etc/exports和/var/lib/nfs/xtab裏面的內容
u 卸載某一目錄
v 在export的時候,將分享的目錄顯示到熒屏上
三.客戶端的掛載
[root@tx2 ~]# showmount -e 192.168.8.70
Export list for 192.168.8.70:
/tmp/tx *
[root@tx2 ~]# mkdir /mnt/nfs
[root@tx2 ~]# mount -t nfs 192.168.8.70:/tmp/tx /mnt/nfs
[root@tx2 ~]# cd /mnt/nfs/
[root@tx2 nfs]# ls
t1 t2 tt
開機自動掛載
[root@tx2 ~]# vim /etc/rc.local
mount -t nfs 192.168.8.70:/tmp/tx /mnt/nfs
[root@tx2 ~]# vim /etc/fstab
192.168.8.70:/tmp/tx /mnt/nfs nfs ro 0 0
自動掛載
[root@tx2 ~]# vim /etc/auto.master
9 /misc /etc/auto.misc
10 /mnt/nfs /etc/auto.nfs --timeout=60
[root@tx2 ~]# cp -p /etc/auto.misc /etc/auto.nfs
[root@tx2 ~]# vim /etc/auto.nfs
server -ro 192.168.8.70:/tmp/tx
[root@tx2 ~]# service autofs restart
Stopping automount: [ OK ]
Starting automount: [ OK ]
[root@tx2 etc]# cd /mnt/nfs/
[root@tx2 nfs]# ls
[root@tx2 nfs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 20G 2.2G 17G 12% /
/dev/hda5 99M 5.6M 89M 6% /home
/dev/hda1 99M 12M 83M 12% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/hdc 3.3G 3.3G 0 100% /media/RHEL_5.8 i386 DVD
[root@tx2 nfs]# cd server
[root@tx2 server]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 20G 2.2G 17G 12% /
/dev/hda5 99M 5.6M 89M 6% /home
/dev/hda1 99M 12M 83M 12% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/hdc 3.3G 3.3G 0 100% /media/RHEL_5.8 i386 DVD
192.168.8.70:/tmp/tx 20G 2.6G 16G 14% /mnt/nfs/server
[root@tx2 server]# ls
t1 t2 tt