nfsv4如何配置
㈠ linux配置nfs步驟
NFS的配置過程很簡單。在伺服器端中編輯 /etc/exports 文件,添加如下內容: /home/nfs-share 192.168.1.122 (rw,sync)
第一項是要共享的目錄,後者為共享的配置參數一般為: (rw,sync,no_root_squash,no_all_squash,no_subtree_check)
然後開啟NFS和portmap服務:
/etc/init.d/nfs start //用service nfs start也可以 /etc/init.d/portmap start //用service portmap stasrt也可以
在centos6.5中portmap已經改為rpcbind 在客戶端,用mount –t nfs 192.168.123:/home/nfs-share /home/remote_file掛載伺服器端的共享目錄到本地的/home/remote-file掛載點,然後我們就可以在客戶端上應用到遠程主機上的/home/nfs-share目錄了。想要系統在開機時自動掛載,修改/etc/fstab文件,把NFS伺服器的共享目錄添加進去就可以了,這個不用多說。
如何知道遠程主機上的共享目錄情況呢?使用showmount命令,這個命令需要root許可權。它有三個選項(記住這三個選項代表的含義: showmount –a IP 顯示指定NFS伺服器的客戶端以及伺服器端在客戶端的掛載點 showmount –d IP 顯示指定NFS伺服器在客戶端的掛載點 showmount –e IP 顯示指定NFS伺服器上的共享目錄列表(或者叫輸出列表) 我們輸入命令showmount –a 192.168.1.123:
圖片客戶端中出現的mount clntudp_create: RPC: Program not registered錯誤是怎麼回事?噢,我剛才重啟了一下伺服器端,重啟後NFS服務沒有開啟。 我們開啟伺服器端的NFS服務,再從客戶端上查看一下NFS伺服器的情況:
Showmount –a顯示出NFS伺服器192.168.1.123的共享目錄被客戶端192.168.122掛載到/home中;
在showmount -e IP,出現clnt_create: RPC: Port mapper failure - Timed out報錯
解決方案:
被訪問的NFS伺服器上的防火牆沒有添加規則,向iptables裡面添加以下查看的所有埠即可(目前解決的方法,當然你也可以關閉防火牆,不過這樣是比較不安全的,如果你的nfs作用不大,建議你另選別的應用來替代吧!畢竟開那麼多的埠,比較不安全呀!)
通過#rpcinfo -p 10.10.209.148
[root@rh01 /]# rpcinfo -p 10.10.209.148program vers proto port service100000 4 tcp 111 portmapper100000 3 tcp 111 portmapper100000 2 tcp 111 portmapper100000 4 udp 111 portmapper100000 3 udp 111 portmapper100000 2 udp 111 portmapper100024 1 udp 52943 status100024 1 tcp 37706 status100011 1 udp 875 rquotad100011 2 udp 875 rquotad100011 1 tcp 875 rquotad100011 2 tcp 875 rquotad100003 2 tcp 2049 nfs100003 3 tcp 2049 nfs100003 4 tcp 2049 nfs100227 2 tcp 2049 nfs_acl100227 3 tcp 2049 nfs_acl100003 2 udp 2049 nfs100003 3 udp 2049 nfs100003 4 udp 2049 nfs100227 2 udp 2049 nfs_acl100227 3 udp 2049 nfs_acl100021 1 udp 37438 nlockmgr100021 3 udp 37438 nlockmgr100021 4 udp 37438 nlockmgr100021 1 tcp 46331 nlockmgr100021 3 tcp 46331 nlockmgr100021 4 tcp 46331 nlockmgr100005 1 udp 57177 mountd100005 1 tcp 43147 mountd100005 2 udp 49154 mountd100005 2 tcp 54810 mountd100005 3 udp 55707 mountd100005 3 tcp 58309 mountd
[root@rh01 /]#
剛才在重啟NFS服務的時候,細心的話可以注意到,我們在輸入命令/etc/init.d/nfs start開啟nfs服務時,系統還自作主張地開啟了NFS quotas等其它3個服務。
怎麼回事?我們只輸入了一條啟動NFS服務的命令,它怎麼額外的啟動了3個服務?後面的啟動portmap服務又是怎麼回事? 我們首先要了解一點:NFS文件系統要提供服務單靠本身的NFS服務是不夠的,還需要調用其它服務,這個其它服務就是RPC(remote procere call,遠程過程調用)服務和portmap服務。由於NFS服務本身不提供文件傳輸功能,我們要遠程使用NFS文件系統就需要RPC服務的支持;而portmap服務用來為RPC服務進行動態埠分配和映射,所以portmap服務也是NFS服務所必須的。
我們查看一下服務的啟動情況:
所遇錯誤:
/etc/init.d/nfs-kernel-server: 沒有那個文件或目錄
解決方案:
沒有配置、安裝NFS
Linux 下配置NFS服務
1、安裝
2、配置
3、客戶端
所遇問題:centos6.5
portmap: 未被識別的服務
解決方案:
由於在6系列裡面,portmap已經改名了 ,6系列需要使用 service rpcbind start啟動[root@unix-big-bang ~]# service portmap start
portmap: 未被識別的服務
[root@unix-big-bang ~]# service rpcbind status
rpcbind (pid 1312) is running...
[root@unix-big-bang ~]#
好文共賞:
linux nfs文件共享
◆一、概念
NFS是網路文件系統(Network File System)的簡稱,是分布式計算機系統的一個組成部分,可實現在異構網路上共享和裝配遠程文件系統。
NFS由SUN公司開發,目前已成為文件服務的一種標准(RFC1904,RFC1813)。其最大的功能就是可以通過網路,讓不同 操作系統 的計算機可以共享數據,所以也可以看作是一個文件伺服器。NFS是除了SAMBA之外Windows與Linux及Unix與Linux之間通信的方法。
理想條件下的NFS 網路拓撲結構
1、設置Linux系統之間的文件共享(Linux與Windows中間文件共享採用SAMBA服務);
2、NFS只是一種文件系統,本身沒有傳輸功能,是基於RPC協議實現的,才能達到兩個Linux系統之間的文件目錄共享;
3、NFS為C/S 架構 ;
◆二、伺服器配置
1、配置文件
主要配置文件為:/etc/exports
格式為: 共享目錄 可mount主機IP(參數1,參數2,……)
如:/var/nfs 172.20. . (rw,sync,no_rootl_squash)
說明:必須注意nfs/目錄的訪問許可權,必須設置成777許可權;父目錄/var許可權無要求,普通的755即可;
2、啟動相關服務
然後依次啟動相關服務:portmap,nfslock,nfs
service portmap start
service nfslock start
service nfs start
關閉順序相反。
3、檢查共享目錄
隨後可以採用showmount –e查看一下,看看共享的目錄情況:
[root@ns var]# showmount -e
Export list for ns.osserver:
/var/nfs 172.20. .
OK,到此為止,NFS伺服器搭建完畢;
◆三、客戶端配置
1、確保portmap運行
客戶端必須確保RPC協議相應的portmap正常運行,否則mount將失敗;
2、掛載/var/nfs目錄(本地掛載點為/mnt/nfs)
mount -t nfs 172.20.65.16:/var/nfs /mnt/nfs
成功mount以後,即可同本地目錄一樣隨意操作;
◆四、其它相關命令
1、當修改了/etc/exports文件後,可以不用重新啟動nfs服務,直接採用exports –rv 即可重新導出共享目錄;
該命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的內容
-r :重新mount /etc/exports中分享出來的目錄
-u :umount 目錄
-v :在 export 的時候,將詳細的信息輸出到屏幕上。
具體例子:
[root@ns var]# showmount -e
Export list for ns.osserver:
/var/nfs 172.20. .
[root@ns var]# exportfs –au #全部卸載
[root@ns var]# showmount -e
Export list for ns.osserver:
[root@ns var]# exportfs –rv #全部重新 export 一次
exporting 172.20. . :/var/nfs
[root@ns var]#
2、showmout命令對於NFS的操作和查錯有很大的幫助,所以我們先來看一下showmount的用法
showmout
-a :這個參數是一般在NFS SERVER上使用,是用來顯示已經mount上本機nfs目錄的cline機器。
-e :顯示指定的NFS SERVER上export出來的目錄。
例如:
[root@localhost ~]# showmount -e 172.20.16.139
Export list for 172.20.16.139 :/root/share 172.20.16.137
[root@ns var]# showmount -a
All mount points on localhost.localdomain: :/root/share,172.20. . :/root/share,172.20.16. :/root/share,172.20.16.139:/nfsshare,172.20.16.139:/root/share172.20.16.137: 172.20.16.137:,172.20. . 172.20.16.137:,172.20.16. 172.20.16.137:/root/share172.20.16.139: 172.20.16.139:,172.20. . 172.20.16.139:,172.20.16. 172.20.16.139:,172.20.16.139172.20.16.139:DEFAULT
◆五、常見問題解答
1、提示:mount to NFS server 餄.20.67.203' failed: server is down.
解決方案:可能是NFS伺服器的防火牆有問題;
2、提示:mount: RPC: Timed out
解決方案:由於RPC協議沒運行;啟動portmap服務;
也有可能是防火牆問題;Server/Client均有可能。
㈡ 已經安裝了nfs,但是想要更新到nfs v4,該怎麼操作
本地環境描述如下: 操作系統:windows 2003 安裝cygwin用來虛擬linux環境 配置了cygwin環境的nfs服務,主要是配置了etc目錄下面的exports文件,添加nfs共享目錄如下: /cygdrive/e/CGEL/test/rootfs (rw, no_root_squash, no_all_squash) 啟動了cygwin的nfs服務相關的三個服務:cygwin mountd, cygwin nfsd, cygwin portmap,關閉了系統的防火牆 遠程掛載e盤下的CGEL/test/rootfs不成功,不知道問題出在哪裡, 是否有本地測試nfs服務是否能用的命令啊? 比如在linux下有 mount -t nfs 192.168.0.1/local/share /mnt/share的命令可以掛載本地的nfs目錄試試看能不能用的 (rw, anonuid = 0)mount -t nfs 192.168.0.1:/local/share /mnt/share這里有個冒號 其他跟你一樣在我這用的好好的
㈢ nfsv4 怎麼配置
官網提供的可執行文件是基於64位Linux的:zynq_linux.tar.gz. 對於32位的系統,需要自己編譯,解決方案如下: 1) 下載代碼:git clone git://git.xilinx.com/qemu-xarm.git 2) 配置工程: cd qemu-xarm ./configure --target-list=arm-softmmu...
㈣ 在Windows上自建nfs,性能比較差,這個怎麼辦
本文描述了在應用環境為Windows系統下,需要使用文件存儲的場景。本文採用了私有化部署的方式向用戶提供了文件共享存儲服務。用NFS協議,搭建Windows環境NFS服務,為Windows系統下的雲主機提供共享訪問服務。
存儲格式都有哪些?
文件、塊和對象是三種以不同的方式來保存、整理和呈現數據的存儲格式。這些格式各有各的功能和限制。文件存儲會以文件和文件夾的層次結構來整理和呈現數據;塊存儲會將數據拆分到任意劃分且大小相同的卷中; 對象存儲會管理數據並將其鏈接至關聯的元數據
塊存儲
塊存儲主要是將裸磁碟空間整個映射給主機使用的,就是說例如磁碟陣列裡面有5塊硬碟(為方便說明,假設每個硬碟1G),然後可以通過劃邏輯盤、做Raid、或者LVM(邏輯卷)等種種方式邏輯劃分出N個邏輯的硬碟。(假設劃分完的邏輯盤也是5個,每個也是1G,但是這5個1G的邏輯盤已經於原來的5個物理硬碟意義完全不同了。例如第一個邏輯硬碟A裡面,可能第一個200M是來自物理硬碟1,第二個200M是來自物理硬碟2,所以邏輯硬碟A是由多個物理硬碟邏輯虛構出來的硬碟。)
典型設備:磁碟陣列,硬碟
文件存儲
為了克服塊存儲文件無法共享的問題,所以有了文件存儲。主要功能是通過網路(一般是區域網)讓不同的主機系統之間可以共享文件或目錄。本文文件存儲採用NFS協議,NFS客戶端(一般為應用伺服器,例如Web)可以通過掛載(mount)的方式將NFS伺服器端共享的數據目錄掛載帶NFS客戶端本地系統中(就是某一個掛載點下)。從客戶端本地看,NFS伺服器端共享的目錄就好像是客戶端自己的磁碟分區或目錄一樣,而實際上確實遠端的NFS伺服器的目錄。
典型設備:FTP、NAS
對象存儲
對象存儲系統(Object-Based Storage System)是綜合了NAS和SAN的優點,同時具有SAN的高速直接訪問和NAS的數據共享等優勢,提供了高可靠性、跨平台性以及安全的數據共享的存儲體系結構。對象存儲主要操作對象是對象(Object)。和文件和對象存儲相比,沒有隨機讀寫的介面。和文件存儲相比,沒有目錄樹的概念。協議更注重簡潔。
典型設備:內置大容量硬碟的分布式伺服器、京東雲OSS即對象存儲
文件存儲的適用場景
文件與較底層的塊存儲不同, 上升到了應用層, 一般指的就是NAS ,一套網路儲存設備, 通過TCP/IP進行訪問, 協議為NFSv3/v4由於通過網路。下面簡單介紹以下NFS存儲適用的兩個場景,當然,還有更多的場景適合使用文件存儲,本文不一一列出。
Web 服務
前端面向終端用戶的服務由多台web伺服器提供,多台伺服器需要共享文件存儲,文件系統、文件命名約定和許可權等符合應用系統需求。
媒資管理
媒體行業由於其工作流和媒資是一直變化的,很多用戶使用多雲或混合雲,媒體的剪輯、編輯在本地進行,存儲和分發在雲端,由於文件存儲可以和現有的系統輕松的集成,因此,很多用戶將文件存儲用於媒資管理。
Windows環境下的NFS文件服務的搭建
選擇Windows系統搭建NFS協議文件存儲系統的優勢如下:
系統交付後由用戶進行維護,用戶對Windows系統熟悉;
部分應用系統只能訪問文件存儲;
微軟的SMB協議是面向網路連接的共享協議,對網路傳輸的可靠性要求高,常使用TCP/IP;NFS是獨立於傳輸的,可使用TCP或UDP,同時考慮後期有linux系統擴容需求,故選擇NFS協議。
京東雲提供Linux環境的文件存儲服務,無需另行搭建。(詳見https://www.jdcloud.com/cn/procts/cloud-file-service)
本設計的優勢:
共享訪問-您在同一子網內的多台雲主機可以共享同一個雲文件服務中的文件存儲系統。對於多個應用實例需要共享通用數據源的場景,特別適合使用雲文件服務實現。
易於使用-支持標準的NFS協議,提供全託管的服務,無需修改應用,通過標準的文件系統掛載步驟即可實現無縫集成。極大降低遷移成本,簡化雲上項目開發。
穩定可靠-本系統存儲基於京東雲雲硬碟,採用3副本冗餘存儲,提供超強的穩定性和可靠性,滿足應用服務對文件系統的可用性和可靠性需求。
易於擴展-本系統存儲基於京東雲雲硬碟,可根據業務需求進行存儲空間的擴展。
一、創建NFS服務主機
1、創建實例
在京東雲上創建一台雲主機,作為NFS伺服器;NFS服務要和已有雲資源創建在同一區域,同一VPC中。
登錄京東雲控制台,選擇彈性計算-雲主機-實例,選擇創建實例所屬地域,點擊「創建」按鈕,進入雲主機購買頁面。
2、選擇計費模式
包年包月和按配置計費,包年包月按一個正月進行購買付費,按配置計費按照實際使用的時長(精確至秒)每小時進行扣費。
3、地域與可用區選擇
在此步驟仍可以選擇實例對應的地域(華北-北京、華南-廣州、華東-宿遷及華東-上海)及可用區,請注意「不同地域資源內網不互通,創建之後不可更改」,如果所選地域限額已滿,可以通過提交工單提升限額。
4、創建方式選擇
提供三種創建方式 自定義創建、使用實例模板創建、在高可用組內創建,後兩種需要您預先創建好實例模板和高可用組,我們使用保持默認選項「自定義創建」。
5、選擇windows系統鏡像
鏡像分為雲硬碟系統盤鏡像及本地盤系統盤鏡像,前者僅支持創建系統盤為雲硬碟的實例,後者僅支持創建系統盤為本地盤的實例。因為搭建windows系統環境的NFS存儲,故鏡像選擇官方-windows server-windows server 2012 R2標准版。
6、選擇實例規格
實例的規格支持用戶自定義選擇,從最小的1核1G(如g.s1.micro)到72C576GB(如m.n2.18xlarge),用戶可以根據不同業務場景選擇實例規格及相應配置。考慮到NFS對主機計算性能要求不高,選擇2核4G規格主機。
7、配置NFS存儲
雲主機數據盤:數據盤為NFS系統存儲盤,可以根據實際業務需要選擇容量。(此處選擇20G為例)
8、配置實例網路
選擇私有網路及子網:VPC子網選擇與需要訪問NFS存儲的雲主機所在的VPC。
選擇內網IP分配方式:如對內網IP地址沒有特殊要求,可以不指定由系統自動在子網可用網段內分配,如需指定請在提示範圍內輸入,系統會校驗IP是否可用。須注意的是,若選擇自定義內網IP地址,則無法批量創建實例。
9、選擇安全組
實例在創建時必須綁定一個安全組,若當前地域下未創建自定義安全組,可以在系統創建的三個默認安全組中選擇一個綁定(每個私有網路創建成功之後都會自動創建三個默認安全組),也可以通過快速入口前往安全組頁面創建安全組。由於官方鏡像系統內防火牆默認關閉,建議綁定僅開放22埠(Linux)或3389埠(Windows)的安全組,實例創建之後再根據訪問需求創建新的安全組並綁定。
10、配置公網帶寬
帶寬計費方式:京東雲提供按固定帶寬和按使用流量兩種帶寬計費類型的彈性公網IP,按固定帶寬計費按購買時設置的帶寬上限值付費,而與實際訪問公網所用帶寬無關,按使用流量計費則根據您實時訪問公網的實際流量計費。
線路:彈性公網IP線路分為:BGP和非BGP,若您需要更快更高效的網路接入請選用BGP。
帶寬范圍:1Mbps~200Mbps。在創建主機過程中可以暫不購買公網IP,完成主機創建後,再進行綁定。
NFS存儲如果只供VPC內雲主機使用,可以不購買公網IP和帶寬。
11、設置實例名稱、描述
您需要設置創建的主機名,名稱不可為空,只支持中文、數字、大小寫字母、英文下劃線「 _ 」及中劃線「 - 」,且不能超過32字元,如果為批量創建購買,名稱以「xxx1」、「xxx2」依次顯示。同時支持為實例添加描述,描述允許為空,若添加長度不能超過256字元。
12、設置密碼
可以選擇「立即設置」密碼,也可以選擇「暫不設置」(系統會以簡訊和郵件方式發送默認密碼),密碼除了用於SSH登錄實例時的密碼,也是控制台通過VNC登錄實例的密碼。
確認雲主機數量及購買時長 購買數量受限該地域您雲主機、雲硬碟、公網IP限額以及所選子網剩餘IP數量,若限額不夠,可通過提交工單提升限額。若購買包年包月實例,則需要設置購買時長,最短為1個月,最長為2年,支付十個月費用即可享受一年服務。若需要更長服務時長請提交工單。
點擊確認後,返回到控制台,顯示創建中,待狀態為運行,NFS服務主機創建完畢。
13、登陸雲主機
14、添加數據盤
打開,開始菜單-伺服器管理器-文件和存儲服務-磁碟,如下圖:
選擇數據硬碟,右鍵選擇新建卷,文件格式為NTSF
二、建立NFS服務
1、安裝NFS伺服器端組件
打開,開始菜單-伺服器管理器」,在主頁儀錶板中單擊「添加角色和功能」,如下圖所示。
在「開始之前」對話框中,會顯示配置成NFS伺服器必要的前提步驟,請按文字介紹的注意事項確認一下,如果沒有問題的話,可以單擊「下一步」,如下圖所示:
在「安裝類型」對話框中,選擇「基於角色或基於功能的安裝」,然後單擊「下一步」,如下圖所示:
在「伺服器選擇」對話框中,選擇「從伺服器池中選擇伺服器」,然後單擊「下一步」:
在「伺服器角色」對話框中,選擇「文件和存儲服務」中「NFS伺服器」,然後單擊「下一步」,如下圖所示:
繼續單擊「下一步」,如下圖所示:
在「確認」對話框中,可以看到我們從第一步到最後一步選擇的參數等信息,如果有要修改的地方,可以單擊「上一步」返回修改,確認沒有問題的話,可以單擊「安裝」,如下圖所示:
至此,Windows系統的NFS服務端安裝完畢,根據提示重啟伺服器。
2、創建共享服務
NFS服務端安裝完畢,回到伺服器管理器,選擇文件和存儲服務
選擇 共享-啟動新加共享向導
選擇「NFS共享-快速」
選擇數據盤,設置共享名稱
選擇「身份驗證」相關配置,如下圖所示:
設置共享許可權,許可權請根據實際需要設置
創建完畢,顯示」已成功創建共享「,如下圖所示:
3、設置共享文件夾
在要設定共享的文件夾屬性中,選擇「NFS共享」欄位,點擊「管理NFS共享」, 在「NFS高級共享」對話框中,選擇並勾選「共享此文件夾」:
返回伺服器管理器,共享對話框中,可以看到剛才新建的文件夾共享已經成功
參考資料:
1、文件存儲、塊存儲還是對象存儲?redhat官網
2、塊存儲、文件存儲、對象存儲這三者的本質差別是什麼?.知乎.2016-1-1[引用日期2017-10-04]
(https://ke..com/reference/18736489/a856jWYROoQogtX1hq-v--)
3、今非昔比:塊存儲的復雜度提高 .TechTarget存儲[引用日期2015-10-21](https://ke..com/reference/18736489/_rJK0l8aRaFmmhbzPj4Kk-4OMDrn9AGlEt1D-YeUws8wnhuYuc7rJUcaI-B0fg)
點擊"京東雲"了解更多詳情
㈤ redhat 哪個版本 支持 nfsv4
本地環境描述如下: 操作系統:windows 2003 安裝cygwin用來虛擬linux環境 配置了cygwin環境的nfs服務,主要是配置了etc目錄下面的exports文件,添加nfs共享目錄如下: /cygdrive/e/CGEL/test/rootfs (rw, no_root_squash, no_all_squash) 啟動...
㈥ 要配置nfs伺服器在伺服器端主要配置什麼文件
一、NFS服務簡介
NFS 是Network File System的縮寫,即網路文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網路讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網路訪問位於伺服器磁碟中的數據,是在類Unix系統間實現磁碟文件共享的一種方法。
NFS 的基本原則是「容許不同的客戶端及服務端通過一組RPC分享相同的文件系統」,它是獨立於操作系統,容許不同硬體及操作系統的系統共同進行文件的分享。
NFS在文件傳送或信息傳送過程中依賴於RPC協議。RPC,遠程過程調用 (Remote Procere Call) 是能使客戶端執行其他系統中程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網路進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER。所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這么理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
二、系統環境
系統平台:CentOS release 5.6 (Final)
NFS Server IP:192.168.1.108
防火牆已關閉/iptables: Firewall is not running.
SELINUX=disabled
三、安裝NFS服務
NFS的安裝是非常簡單的,只需要兩個軟體包即可,而且在通常情況下,是作為系統的默認包安裝的。
nfs-utils-* :包括基本的NFS命令與監控程序
portmap-* :支持安全NFS RPC服務的連接
1、查看系統是否已安裝NFS
系統默認已安裝了nfs-utils portmap 兩個軟體包。
2、如果當前系統中沒有安裝NFS所需的軟體包,需要手工進行安裝。nfs-utils 和portmap 兩個包的安裝文件在系統光碟中都會有。
復制代碼
# mount /dev/cdrom /mnt/cdrom/
# cd /mnt/cdrom/CentOS/
# rpm -ivh portmap-4.0-65.2.2.1.i386.rpm
# rpm -ivh nfs-utils-1.0.9-50.el5.i386.rpm
# rpm -q nfs-utils portmap
復制代碼
四、NFS系統守護進程
nfsd:它是基本的NFS守護進程,主要功能是管理客戶端是否能夠登錄伺服器;
mountd:它是RPC安裝守護進程,主要功能是管理NFS的文件系統。當客戶端順利通過nfsd登錄NFS伺服器後,在使用NFS服務所提供的文件前,還必須通過文件使用許可權的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端許可權。
portmap:主要功能是進行埠映射工作。當客戶端嘗試連接並使用RPC伺服器提供的服務(如NFS服務)時,portmap會將所管理的與服務對應的埠提供給客戶端,從而使客戶可以通過該埠向伺服器請求服務。
五、NFS伺服器的配置
NFS伺服器的配置相對比較簡單,只需要在相應的配置文件中進行設置,然後啟動NFS伺服器即可。
NFS的常用目錄
/etc/exports NFS服務的主要配置文件
/usr/sbin/exportfs NFS服務的管理命令
/usr/sbin/showmount 客戶端的查看命令
/var/lib/nfs/etab 記錄NFS分享出來的目錄的完整許可權設定值
/var/lib/nfs/xtab 記錄曾經登錄過的客戶端信息
NFS服務的配置文件為 /etc/exports,這個文件是NFS的主要配置文件,不過系統並沒有默認值,所以這個文件不一定會存在,可能要使用vim手動建立,然後在文件裡面寫入配置內容。
/etc/exports文件內容格式:
<輸出目錄> [客戶端1 選項(訪問許可權,用戶映射,其他)] [客戶端2 選項(訪問許可權,用戶映射,其他)]
a. 輸出目錄:
輸出目錄是指NFS系統中需要共享給客戶機使用的目錄;
b. 客戶端:
客戶端是指網路中可以訪問這個NFS輸出目錄的計算機
客戶端常用的指定方式
指定ip地址的主機:192.168.0.200
指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主機:david.bsmart.cn
指定域中的所有主機:*.bsmart.cn
所有主機:*
c. 選項:
選項用來設置輸出目錄的訪問許可權、用戶映射等。
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伺服器的啟動與停止
在對exports文件進行了正確的配置後,就可以啟動NFS伺服器了。
1、啟動NFS伺服器
為了使NFS伺服器能正常工作,需要啟動portmap和nfs兩個服務,並且portmap一定要先於nfs啟動。
# service portmap start
# service nfs start
2、查詢NFS伺服器狀態
# service portmap status
# service nfs status
3、停止NFS伺服器
要停止NFS運行時,需要先停止nfs服務再停止portmap服務,對於系統中有其他服務(如NIS)需要使用時,不需要停止portmap服務
# service nfs stop
# service portmap stop
4、設置NFS伺服器的自動啟動狀態
對於實際的應用系統,每次啟動LINUX系統後都手工啟動nfs伺服器是不現實的,需要設置系統在指定的運行級別自動啟動portmap和nfs服務。
# chkconfig --list portmap
# chkconfig --list nfs
設置portmap和nfs服務在系統運行級別3和5自動啟動。
# chkconfig --level 35 portmap on
# chkconfig --level 35 nfs on
七、實例
1、將NFS Server 的/home/david/ 共享給192.168.1.0/24網段,許可權讀寫。
伺服器端文件詳細如下:
# vi /etc/exports
/home/david 192.168.1.0/24(rw)
2、重啟portmap 和nfs 服務
# service portmap restart
# service nfs restart
# exportfs
3、伺服器端使用showmount命令查詢NFS的共享狀態
# showmount -e//默認查看自己共享的服務,前提是要DNS能解析自己,不然容易報錯
# showmount -a//顯示已經與客戶端連接上的目錄信息
4、客戶端使用showmount命令查詢NFS的共享狀態
# showmount -e NFS伺服器IP
5、客戶端掛載NFS伺服器中的共享目錄
命令格式
# mount NFS伺服器IP:共享目錄 本地掛載點目錄
# mount 192.168.1.108:/home/david/ /tmp/david/
# mount |grep nfs
掛載成功。
查看文件是否和伺服器端一致。
6、NFS的共享許可權和訪問控制
現在我們在/tmp/david/ 裡面建立一個文件,看看許可權是什麼
# touch 20130103
這里出現Permission denied,是因為NFS 伺服器端共享的目錄本身的寫許可權沒有開放給其他用戶,在伺服器端打開該許可權。
# chmod 777 -R /home/david/
再次在客戶端/tmp/david/ 裡面建立一個文件
我用root 用戶建立的文件,變成了nfsnobody 用戶。
NFS有很多默認的參數,打開/var/lib/nfs/etab 查看分享出來的/home/david/ 完整許可權設定值。
# cat /var/lib/nfs/etab
默認就有sync,wdelay,hide 等等,no_root_squash 是讓root保持許可權,root_squash 是把root映射成nobody,no_all_squash 不讓所有用戶保持在掛載目錄中的許可權。所以,root建立的文件所有者是nfsnobody。
下面我們使用普通用戶掛載、寫入文件測試。
# su - david
$ cd /tmp/david/
$ touch 2013david
普通用戶寫入文件時就是自己的名字,這也就保證了伺服器的安全性。
關於許可權的分析
1. 客戶端連接時候,對普通用戶的檢查
a. 如果明確設定了普通用戶被壓縮的身份,那麼此時客戶端用戶的身份轉換為指定用戶;
b. 如果NFS server上面有同名用戶,那麼此時客戶端登錄賬戶的身份轉換為NFS server上面的同名用戶;
c. 如果沒有明確指定,也沒有同名用戶,那麼此時 用戶身份被壓縮成nfsnobody;
2. 客戶端連接的時候,對root的檢查
a. 如果設置no_root_squash,那麼此時root用戶的身份被壓縮為NFS server上面的root;
b. 如果設置了all_squash、anonuid、anongid,此時root 身份被壓縮為指定用戶;
c. 如果沒有明確指定,此時root用戶被壓縮為nfsnobody;
d. 如果同時指定no_root_squash與all_squash 用戶將被壓縮為 nfsnobody,如果設置了anonuid、anongid將被壓縮到所指定的用戶與組;
7、卸載已掛載的NFS共享目錄
# umount /tmp/david/
八、啟動自動掛載nfs文件系統
格式:
<server>:</remote/export> </local/directory> nfs < options> 0 0
# vi /etc/fstab
保存退出,重啟系統。
查看/home/david 有沒有自動掛載。
自動掛載成功。
九、相關命令
1、exportfs
如果我們在啟動了NFS之後又修改了/etc/exports,是不是還要重新啟動nfs呢?這個時候我們就可以用exportfs 命令來使改動立刻生效,該命令格式如下:
# exportfs [-aruv]
-a 全部掛載或卸載 /etc/exports中的內容
-r 重新讀取/etc/exports 中的信息 ,並同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)
-v 在export的時候,將詳細的信息輸出到屏幕上。
具體例子:
# exportfs -au 卸載所有共享目錄
# exportfs -rv 重新共享所有目錄並輸出詳細信息
2、nfsstat
查看NFS的運行狀態,對於調整NFS的運行有很大幫助。
3、rpcinfo
查看rpc執行信息,可以用於檢測rpc運行情況的工具,利用rpcinfo -p 可以查看出RPC開啟的埠所提供的程序有哪些。
4、showmount
-a 顯示已經於客戶端連接上的目錄信息
-e IP或者hostname 顯示此IP地址分享出來的目錄
5、netstat
可以查看出nfs服務開啟的埠,其中nfs 開啟的是2049,portmap 開啟的是111,其餘則是rpc開啟的。
最後注意兩點,雖然通過許可權設置可以讓普通用戶訪問,但是掛載的時候默認情況下只有root可以去掛載,普通用戶可以執行sudo。
NFS server 關機的時候一點要確保NFS服務關閉,沒有客戶端處於連接狀態!通過showmount -a 可以查看,如果有的話用kill killall pkill 來結束,(-9 強制結束)
㈦ 通過筆記本電腦如何對SUN T5120伺服器進行單機調試,如配置IP地址
這個型號的伺服器是無法外接鍵盤、滑鼠、顯示器的。只能用console連接線,通過超級終端進去調試。
SunSparcEnterpriseT5120安裝過程簡述
硬體安裝及啟動
機器加電後通過NETMGTPORT進入系統的ALOM系統
用如下命令設置串口模式為SC:
create/SP/users/admin
set/SP/users/adminrole=Administrator
set/SP/users/admincli_mode=alom
exit
用admin登錄alom系統
sc>poweron#啟動機器
sc>console
raid卡配置磁碟鏡像
{0}oksetenvauto-bootfalse
{0}oksetenvfcode-debugtrue
#如果為true,將包括軟插件設備Fcodes的名字參數。默認值為false
{0}okshow-disks
{0}okselect/pci@0/pci@0/pci@2/scsi@0
{0}okls
{0}ok01create-im-volume
{0}okshow-volumes
{0}okunselect-dev
{0}okbootcdrom–s
三、系統的安裝
1、對做好的raid執行label
在{0}okbootcdrom–s
前放入solaris的dvd光碟
進入SINGLEUSERMODE後
#format
AVAILABLEDISKSELECTIONS:
0.c1t0d0<LSILOGIC-LogicalVolume-3000cyl65533alt2hd16sec273>
/pci@0/pci@0/pci@2/scsi@0/sd@0,0
Specifydisk(enteritsnumber):0
selectingc1t0d0
[diskformatted]
WARNING:/pci@0/pci@0/pci@2/scsi@0/sd@0,0(sd0):
Corruptlabel-badgeometry
Disknotlabeled.;Drivesays286607360blocks
Disknotlabeled.Labelitnowy
2、恢復OK狀態下的設置
#init0
#syncingfilesystems...done
Programterminated
r)eboot,o)kprompt,h)altO
{0}ok
{0}ok
{0}oksetenvauto-boottrue
auto-boot=true
{0}oksetenvfcode-debugfalse
fcode-debug=false
{0}okreset-all
3、開始系統安裝
1)放入solaris10的DVD光碟,OK下鍵入bootcdrom
2)安裝交互過程提示語言
6.SimplifiedChinese(0.English也可)
3)使用的終端類型
3)DECVT100
4)KeyboardLayout
[X]US-English
5)網路相關(當時的配置情況,僅供參考)
聯網的:是
使用DHCP:否
主機名:erptest
IP地址:192.168.0.251
子網的系統部分:是
網掩碼:255.255.255.0
啟用IPv6:否
預設路由:指定一個
配置Kerberos安全性【否】
命名服務【None】
當前NFSv4預設域為[X]使用系統派生的NFSv4域
時區選【亞洲】【中國】
日期時間正確輸入日期/時間
……完成系統標識
6)OS安裝部分
1)互動式安裝
2)標准安裝
3)[X]自動彈出CD/DVD
[X]自動重新引導
4)接受協議
5)選擇地理區域亞洲,選擇所有簡體中文的字元集
6)選擇系統語言環境[X][簡體中文EUC](zh)
7)附加產品【無】
8)選擇軟體完整分發加OEM支持
9)選擇磁碟(這里只有一個,也是系統的引導盤,按客戶需求分區如下)
10)/c1t0d0s027001MB
swapc1t0d0s132000MB
overlapc1t0d0s2139769MB
/export/homec1t0d0s380001MB
11)裝配遠程文件系統嗎?【否】
確認安裝Solaris軟體的簡要表後,即開始系統的正式安裝
……
12)執行SolStart後設階段。。。
系統裝好重起後,有sendmail的warning出來,關閉sendmail服務即可。
#svcadmdisable/network/smtp:sendmail
13)開啟控制器的多路徑
#stmsboot–e
(可以重起,也可以打完補丁後再重起)
字數限制,後面的就不寫了
㈧ Ubuntu 16.04 搭建 NFS 文件共享伺服器
伺服器端需要安裝 nfs-kernel-server 軟體包:
$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server
默認情況下,NFS 伺服器上定義了某個共享目錄,則該目錄及其子目錄下的所有文件都可被訪問。
出於對安全的考慮,客戶端任何需要 超級用戶 (即 root 用戶,UID=0 & GID=0)許可權的文件操作都默認映射到 UID=65534 和 GID=65534 的用戶,即 Ubuntu 系統中的 nobody:nogroup。
例如客戶端使用 root 許可權在掛載的共享目錄中創建文件時,該文件的 屬主 和 屬組 自動變為 nobody:nogroup ,而非 root:root 。
sudo mkdir -p /var/nfs/gernel
sudo mkdir -p /var/nfs/public
sudo chown nobody:nogroup /var/nfs/gernel
為了使 NFS 伺服器定義的共享文件可被指定的客戶端主機訪問,需要在伺服器端的 /etc/exports 文件中添加對應的記錄。
該文件的格式如下:
Directory Host(Options ...) Host(Options) #comment
關於 /etc/exports 文件的詳細語法格式可參考 man exports 。
文件示例:
列出 nfs 伺服器上的共享目錄
創建掛載點
sudo mkdir -p /mnt/nfs/gernel
sudo mkdir -p /mnt/nfs/public
sudo mkdir -p /mnt/nfs/starky
掛載遠程目錄
sudo mount 192.168.56.102:/var/nfs/gernel /mnt/nfs/gernel
sudo mount 192.168.56.102:/var/nfs/public /mnt/nfs/public
sudo mount 192.168.56.102:/home/starky /mnt/nfs/starky
許可權測試
NFS 的許可權設定基於 Linux 文件系統的許可權管理,即客戶端掛載遠程共享目錄後,會把它們當成本地磁碟目錄一樣對待,也是根據文件的屬主(組)及其對應的許可權設定來限制訪問。
gernel 目錄的屬主(組)為 nobody:nogroup(65534:65534),所以雖然該目錄為讀寫許可權,非 root 用戶無法執行新建操作。而 root 用戶由於 NFS 默認的安全機制,會自動映射到 nobody:nogroup。
由於我在客戶端和服務端都有一個名為 starky 的用戶,且它們的 UID:GID 都為1000:1000,所以服務端的 /home/starky 目錄可以直接被客戶端的 starky 用戶訪問。且由於 no_root_squash 選項,通過 sudo 命令創建的文件其屬主仍為 root(而不會再映射為 nobody)。
當然這會導致一些安全問題,比如多個客戶端同時都有 UID(GID)為1000的用戶(不管用戶名是什麼),則這些用戶會共享服務端 /home/starky 目錄里的文件許可權。
可編輯 /etc/fstab 文件令掛載共享目錄的 mount 操作成為系統的固定配置(手動輸入的 mount 命令屬於臨時掛載,重啟會自動卸載),使得系統重啟後可以自動掛載遠程文件系統。 /etc/fstab 文件的示例內容如下:
/etc/exports 文件的格式為: Directory Host(Options ...) Host(Options) #comment
其中的 Host 項用來指定可訪問對應共享目錄的主機,其格式可分為以下幾種:
傳輸協議
最初的 NFSv2 由於性能原因使用 UDP 協議,雖然 NFS 添加了自己的 包序列重組 和 錯誤檢查 功能,但 UDP 和 NFS 都不具備 阻塞控制 演算法,所以在大型的互聯網路環境中缺乏足夠的性能。
NFSv3 提供了 UDP 和 TCP 協議之間的選擇。NFSv4 只能使用 TCP 協議。
隨著 CPU,內存等硬體設備和網路傳輸速度的提高,最初由於性能需求而傾向 UDP 協議的選擇也變得不再必要。
State
NFSv2 和 NFSv3 是 無狀態 的連接,服務端不會跟蹤客戶端對共享目錄的掛載情況,而是使用 "cookie" 來記錄一次成功的掛載。"cookie" 不會因為伺服器重啟而刪除,可以用來在伺服器掛掉之後保留客戶端的連接信息。
NFSv4 是 有狀態 的連接,客戶端和服務端都會維護文件操作紀錄及文件鎖的狀態。所以不再需要 "cookie" 的使用。
文件鎖
早期版本的 NFS 協議(v2 & v3)由於是 無狀態 的連接,它們並不清楚哪些主機正在使用哪些文件。但是文件鎖的實現又需要獲取狀態信息。所以早期協議中的文件鎖是獨立於 NFS 實現的。
而 NFSv4 將文件鎖的實現整合到了核心協議中,雖然此舉增加了復雜度,但同時也解決了早期版本中的很多問題。
但是為了兼容使用 V2 和 V3 協議的客戶端,獨立的 locked 和 statd 守護進程仍舊需要。
安全相關
NFS 協議最初在設計時並不關注安全性,NFSv4 通過引入對更強大的安全服務和身份驗證的支持,加強了該協議的安全性。
傳統的 NFS 協議大多使用 AUTH_SYS 驗證方式,基於 UNIX 的用戶和組標識。在這種方式下,客戶端只需要發送自己的 UID 和 GID 並與伺服器上的 /etc/passwd 文件內容作對比,以決定其擁有怎樣的許可權。
所以當多個客戶端存在 UID 相同的用戶時,這些用戶會擁有相同的文件許可權。更進一步,擁有 root 許可權的用戶可以通過 su 命令切換到任意 UID 登錄,伺服器會因此給予其對應 UID 的許可權。
為了防止上面的問題出現,伺服器可選擇使用更健壯的驗證機制比如 Kerberos 結合 NFS PRCSEC_GSS。
NFS 共享目錄的訪問控制基於 /etc/exports 文件中定義的主機名或 IP 地址。但是客戶端很容易針對其身份和 IP 地址造假,這也會導致一些安全問題。
NFSv4 只使用 TCP 作為自己的傳輸協議,而且通常只開放 2049 埠進行數據傳輸。在配置防火牆時,除了放開 2049 埠的限制外,還要時刻注意數據傳輸的源地址和目標地址。
win10 系統默認不能掛載 NFS 共享目錄,需要進入 控制面板 - 程序 - 程序和功能 - 啟用或關閉 Windows 功能 ,勾選上 NFS 服務 。
UNIX and Linux System Administration Handbook, 4th Edition
How to Mount an NFS Share Using a Windows 10 Machine
㈨ 如何在linux操作系統中配置NFS伺服器
1.
服務端安裝:
1.setup
2.System
Services
3.分別選中portmap與nfs
4.service
portmap
restart
5.service
nfs
restart
許可權文件配置示例:
1.vi
/etc/exports
2.寫入/usr/www/
192.168.153.133(rw,no_root_squash,sync)
/usr/local/www指本地路徑
192.168.153.133遠程IP
(rw,no_root_squash,sync)讀寫並許可權過渡
3.service
nfs
restart
㈩ NFS筆記(二)NFS伺服器配置實例
一、NFS伺服器配置實例
實驗拓撲
二、實驗要求及環境
2.1實驗環境
NFS伺服器 IP:192.168.8.5
環境:
[root@server7 ~]# uname -a
Linux server7.ctos.zu 3.10.0-514.el7.centos.plus.i686 #1 SMP Wed Jan 25 12:55:04 UTC 2017 i686 i686 i386 GNU/Linux
[root@server7 ~]# cat /etc/redhat-release
CentOS release 7.3.1611 (AltArch)
客戶端IP:192.168.8.7
環境:
[root@client-A ~]# uname -a
Linux client-A.ctos.zu 2.6.32-696.el6.i686 #1 SMP Tue Mar 21 18:53:30 UTC 2017 i686 i686 i386 GNU/Linux
[root@client-A ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
2.2、實驗要求
NFS伺服器
1、/home/share 目錄可讀寫,並且不限制用戶身份,共享給192.168.8.0/24網段不的所有主機;
2、/home/data 這個目錄僅共享給192.168.8.7這台主機,以供該主機上面的這個用戶來使用,
也就是說在192.168.8.5和192.168.8.7上均有賬號,且賬號均為;
3、/home/upload 這個目錄做為192.168.8.0/24網段的數據上傳目錄,其中/home/upload
的用戶和所屬組為nfs-upload這個名字,它的UID和GID均為222;
4、/home/nfs 這個目錄的屬性為只讀,可提供除了網段內的工作站外,向Internet也提供數據內容。
三、伺服器端設置
1、 編輯/etc/exports內容
[root@server7 etc]# cat /etc/exports
/home/share 192.168.8.0/24(rw,no_root_squash)
/home/data 192.168.8.7(rw)
/home/upload 192.168.8.0/24(rw,all_squash,anonuid=222,anongid=222)
/home/nfs 192.168.8.0/24(ro) *(ro,all_squash)
2、按要求建立每個對應目錄
2.1、創建/home/share目錄 任何人都可以在 /home/share內新增、修改文件,但
僅有該文件/目錄的建立者與root能夠刪除自己的目錄或文件。
[root@server7 etc]# mkdir -p /home/share
[root@server7 etc]# ll -d /home/share/
drwxr-xr-x. 2 root root 6 9月 5 15:50 /home/share/
[root@server7 etc]# chmod 1777 /home/share/
[root@server7 etc]# ll -d /home/share/
drwxrwxrwt. 2 root root 6 9月 5 15:50 /home/share/
2.2、創建/home/nfs
[root@server7 etc]# ll -d /home/nfs/
drwxr-xr-x. 2 root root 6 9月 5 16:52 /home/nfs/
2.3、創建/home/data目錄
[root@server7 etc]# mkdir -v /home/data
mkdir: 已創建目錄 "/home/data"
[root@server7 etc]# ll -d /home/data/
drwxr-xr-x. 2 root root 6 9月 5 16:57 /home/data/
[root@server7 etc]# useradd
root@server7 etc]# passwd
更改用戶 的密碼 。
新的 密碼:
無效的密碼: 密碼少於 8 個字元
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@server7 etc]# cat /etc/passwd | grep
:x:1000:1000::/home/:/bin/bash
[root@server7 etc]# chmod 700 /home/data/
[root@server7 etc]# chown -R : /home/data/
[root@server7 etc]# ll -d /home/data/
drwx------. 2 6 9月 5 16:57 /home/data/
2.4、創建/home/upload目錄
#先建立對應賬號與組名及UID
[root@server7 etc]# groupadd -g 222 nfs-upload
[root@server7 etc]# useradd -g 222 -u 222 -M nfs-upload
[root@server7 etc]# cat /etc/passwd|grep nfs
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
nfs-upload:x:222:222::/home/nfs-upload:/bin/bash
#創建目錄,修改屬主
[root@server7 etc]# mkdir /home/upload
[root@server7 etc]# chown -R nfs-upload:nfs-upload /home/upload/
[root@server7 etc]# ll -d /home/upload/
drwxr-xr-x. 2 nfs-upload nfs-upload 6 9月 6 08:38 /home/upload/
2.5、重啟NFS服務
[root@server7 etc]# systemctl restart nfs
[root@server7 etc]# systemctl status nfs
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Active: active (exited) since 三 2017-09-06 08:41:40 CST; 8s ago
Process: 9171 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)
Process: 9169 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)
Process: 9168 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)
Process: 9181 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
Process: 9180 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 9181 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
9月 06 08:41:40 server7.ctos.zu systemd[1]: Starting NFS server and services...
9月 06 08:41:40 server7.ctos.zu systemd[1]: Started NFS server and services.
[root@server7 etc]# tail /var/log/messages
Sep 6 08:41:40 server7 systemd: Started NFS Mount Daemon.
Sep 6 08:41:40 server7 rpc.mountd[9178]: Version 1.3.0 starting
Sep 6 08:41:40 server7 systemd: Started NFSv4 ID-name mapping service.
Sep 6 08:41:40 server7 systemd: Starting NFS server and services...
Sep 6 08:41:40 server7 kernel: NFSD: starting 90-second grace period (net c0c932c0)
Sep 6 08:41:40 server7 systemd: Started NFS server and services.
Sep 6 08:41:40 server7 systemd: Starting Notify NFS peers of a restart...
Sep 6 08:41:40 server7 sm-notify[9198]: Version 1.3.0 starting
Sep 6 08:41:40 server7 sm-notify[9198]: Already notifying clients; Exiting!
Sep 6 08:41:40 server7 systemd: Started Notify NFS peers of a restart.
2.6、查看NFS伺服器共享出來目錄
2.7、關閉防火牆、selinux
2.8查看配置
[root@server7 ~]# exportfs -v
/home/data 192.168.8.7(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/home/share 192.168.8.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/home/upload 192.168.8.0/24(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=222,anongid=222,sec=sys,rw,secure,root_squash,all_squash)
/home/nfs 192.168.8.0/24(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/home/nfs <world>(ro,wdelay,root_squash,all_squash,no_subtree_check,sec=sys,ro,secure,root_squash,all_squash)
四、客戶端配置
4.1、客戶端也要安裝nfs-utils和rcpbind軟體包
[root@client-A ~]# yum install nfs-utils rpcbind -y
4.2、啟動RPC
[root@client-A ~]# service rpcbind start /systemctl start rpcbind
Starting rpcbind: [ OK ]
[root@client-A ~]# service rpcbind status
rpcbind (pid 1926) is running...
[root@client-A ~]# chkconfig --list |grep rpcbind
4.3、客戶端關閉防火牆、selinux
[root@client-A ~]# service iptables stop /systemctl stop firewalld
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading moles: [ OK ]
4.4測試網路
[root@client-A ~]# ping 192.168.8.5
PING 192.168.8.5 (192.168.8.5) 56(84) bytes of data.
64 bytes from 192.168.8.5: icmp_seq=1 ttl=64 time=2.16 ms
64 bytes from 192.168.8.5: icmp_seq=2 ttl=64 time=0.697 ms
64 bytes from 192.168.8.5: icmp_seq=3 ttl=64 time=0.346 ms
64 bytes from 192.168.8.5: icmp_seq=4 ttl=64 time=0.336 ms
64 bytes from 192.168.8.5: icmp_seq=5 ttl=64 time=0.335 ms
64 bytes from 192.168.8.5: icmp_seq=6 ttl=64 time=0.317 ms
64 bytes from 192.168.8.5: icmp_seq=7 ttl=64 time=0.512 ms
64 bytes from 192.168.8.5: icmp_seq=8 ttl=64 time=0.320 ms
^C
--- 192.168.8.5 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7555ms
rtt min/avg/max/mdev = 0.317/0.629/2.169/0.595 ms
4.5 在客戶端查看NFS伺服器共享出來目錄
[root@client-A ~]# showmount -e 192.168.8.5
Export list for 192.168.8.5:
/home/nfs (everyone)
/home/upload 192.168.8.0/24
/home/share 192.168.8.0/24
/home/data 192.168.8.7
4.6、掛載NFS伺服器上/home/nfs目錄到本地/opt/data目錄下
#臨時掛載
#永久掛載
編輯、/etc/fstab文件,新增如下條目:
192.168.8.5:/home/nfs /opt/data/ nfs4 defaults 0 0
更多信息參考 nfs參數詳解
#查看信息
[root@client-A data] # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
6.5G 644M 5.6G 11% /
tmpfs 250M 0 250M 0% /dev/shm
/dev/sda1 477M 26M 426M 6% /boot
192.168.8.5:/home/nfs
8.0G 1.6G 6.5G 20% /opt/data
[root@client-A data]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.8.5:/home/nfs on /opt/data type nfs (rw,vers=4,addr=192.168.8.5,clientaddr=192.168.8.7)
#創建文件測試
[root@client-A data]# touch testabc
touch: cannot touch `testabc': Read-only file system
4.7掛載/home/upload 目錄到客戶端/opt/upload目錄下
#掛載
[root@client-A data]# mkdir /opt/upload
[root@client-A data]# mount -t nfs 192.168.8.5:/home/upload /opt/upload/
#查看掛載是否成功
[root@client-A data]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
6.5G 644M 5.6G 11% /
tmpfs 250M 0 250M 0% /dev/shm
/dev/sda1 477M 26M 426M 6% /boot
192.168.8.5:/home/nfs
8.0G 1.6G 6.5G 20% /opt/data
192.168.8.5:/home/upload
8.0G 1.6G 6.5G 20% /opt/upload
#客戶端創建nfs-upload用戶
[root@client-A ~]# groupadd -g 222 nfs-upload
[root@client-A ~]# useradd -g 222 -u 222 -m nfs-upload
#測試,可以看到創建的文件及目錄默認屬主為nfs-upload屬組為nfs-upload
[@client-A upload]$ pwd
/opt/upload
[@client-A upload]$ ll
total 0
#測試創建文件
[@client-A upload]$ touch test123
測試創建目錄
[@client-A upload]$ mkdir testdir
[@client-A upload]$ ll -a
total 4
drwxr-xr-x 3 nfs-upload nfs-upload 36 Sep 6 10:28 .
drwxr-xr-x. 4 root root 4096 Sep 6 18:22 ..
-rw-rw-r-- 1 nfs-upload nfs-upload 0 Sep 6 10:28 test123
drwxrwxr-x 2 nfs-upload nfs-upload 6 Sep 6 10:28 testdir
# 在客戶端用root用戶創建文件測試
root@client-A upload]# touch testabc
[root@client-A upload]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 6 10:31 nfstest123
-rw-r--r-- 1 nfs-upload nfs-upload 0 Sep 6 10:32 testabc
drwxrwxr-x 2 nfs-upload nfs-upload 6 Sep 6 10:28 testdir
可以看到用root用戶創建的文件屬主仍是nfs-upload
#測試刪除文件
[@client-A upload]$ rm test123
[@client-A upload]$ ll
total 0
drwxrwxr-x 2 nfs-upload nfs-upload 6 Sep 6 10:28 testdir