安裝配置NFS服務和掛載(Centos7)

NFS簡介

NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位于遠端NFS服務器上的文件,就像訪問本地文件一樣。

RPC(NFS服務需要依賴RPC服務,這個比較重要) 要想了解NFS,必然要提到RPC這個服務。 因為NFS支持的功能還是比較多的,并且不同的功能都會使用不同的程序來啟動。每啟動一個功能就會啟用一些端口來傳輸數據,因此NFS的功能所對應的端口才沒有固定,而是采用隨機取用一些未被使用的小于1024的端口來作為傳輸之用。但如此一來又造成客戶端要連接服務器時的困擾,因為客戶端要知道服務器端的相關端口才能夠聯機,此時我們需要遠程過程調用(RPC)的服務。 RPC最主要的功能就是指定每個NFS功能所對應的端口號,并且回報給客戶端,讓客戶端可以連接到正確的端口上。當服務器在啟動NFS時會隨機選用數個端口,并主動地向RPC注冊。因此RPC可以知道每個端口對應的NFS功能。然后RPC固定使用端口111來監聽客戶端的請求并回報客戶端正確的端口,所以可以讓NFS的啟動更為容易。 注意,啟動NFS之前,要先啟動RPC服務;否則NFS無法向RPC注冊。另外,重新啟動RPC時原本注冊的數據會不見,因此RPC重新啟動后它管理的所有程序都需要重新啟動以重新向RPC注冊,比如NFS服務。

當客戶端有NFS文件要存取請求時,它向服務器端訪問數據,有如下幾個步驟: (1)客戶端會向服務器端的RPC(port 111)發出NFS文件存取功能的詢問請求。 (2)服務器端找到對應的已注冊的NFS daemon端口后會回報給客戶端。 (3)客戶端了解正確的端口后,就可以直接與NFS守護進程來聯機,然后訪問數據。

其實,我們可以簡單的理解為:NFS當作RPC服務中的一種,同時將RPC服務當作NFS服務器與NFS客戶端的中間接口人,就是說NFS客戶端訪問NFS服務器,必須經過RPC這個接口人,才可以去訪問,否則就直接死翹翹了。

注:NFS使用TCP/IP提供的協議和服務,并且位于OSI模型中的應用層,具體如下:

層數 名稱 功能
1 應用層 NFS
2 表示層 XDR
3 會話層 RPC
4 傳輸層 UDP,TCP
5 網絡層 IP
6 數據鏈路層
7 物理層 Ethernet

安裝NFS

方法1:

檢查:rpm -qa nfs-utils rpcbind 最佳
yum install nfs-utils rpcbind -y

方法2: LANG = en

yum grouplist | grep -i nfs
yum groupinstall “NFS file server ” -y

啟動 rpcbind (centos 6.8)

/etc/init.d/rpcbind status
/etc/init.d/rpcbind start

啟動 rpcbind (centos 7)

systemctl start rpcbind.service
systemctl status rpcbind.service

查看rpcbind 端口

netstat -lntup | grep rpcbind 默認端口 111
netstat -lntup | grep 111
rpcinfo -p localhost 查看rpclist

配置nfs配置文件(/etc/exports ] 默認是空的)

vim /etc/exports
示例:
/data 168.1.1.1(rw,sync,all_squash)
/data 168.1.1.*(rw,sync,all_squash)
sync:寫入磁盤

使配置生效


exportfs -r

注:配置文件說明:

/opt/test 為共享目錄

192.168.1.0/24 可以為一個網段,一個IP,也可以是域名,域名支持通配符 如: *.qq.com

rw:read-write,可讀寫;

ro:read-only,只讀;

sync:文件同時寫入硬盤和內存;

async:文件暫存于內存,而不是直接寫入內存;

no_root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。

root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,擁有匿名用戶權限,通常他將使用nobody或nfsnobody身份;

all_squash:不論NFS客戶端連接服務端時使用什么用戶,對服務端分享的目錄來說都是擁有匿名用戶權限;

anonuid:匿名用戶的UID值,可以在此處自行設定。

anongid:匿名用戶的GID值。

  •  查看有什么啟動命令 /etc/init.d/nfs 會輸出命令集合
  •  showmount -e 127.0.0.1 查看掛載的目錄

關閉防火墻

systemctl stop firewalld.service
systemctl disable firewalld.service

客戶端需要啟動 rpc

客戶端也需要安裝rpcbind, 建議nfs一起安裝,便于使用showmount命令

centos6.8 /etc/init.d/rpcbind start
centos7 systemctl start rpcbind.service

或者將啟動命令放入 /etc/rc.local 或者 使用 echo “/etc/init.d/rpcbind start” >> /etc/rc.local

客戶端掛載目錄 mount -t nfs 10.0.0.7:/data /mnt
echo “/bin/mount -t nfs 10.0..0.1:/data /mnt” >> /etc/rc.local

nfs不能向服務端寫數據,是權限的問題

cat /var/lib/nfs/etab

/script 192.168.42.*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

/data 192.168.42.*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

[root@nfs-1 data]# grep 65534 /etc/passwd nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

chown -R nfsnobody /data

原創文章,作者:srayban,如若轉載,請注明出處:http://www.www58058.com/73581

(5)
sraybansrayban
上一篇 2017-04-20 23:28
下一篇 2017-04-21 16:38

相關推薦

  • Linux系統認知

    前言 在認識Linux系統之前先介紹下計算機的組成構造及其功能: 1,簡單來說計算機可以劃分為軟件系統和硬件系統: (1)軟件系統自不必說就是各種不同的程序,協助用戶更好地使用電腦。 (2)硬件系統指的是主機、顯示器、鼠鍵等硬件設備。 2,按馮諾依曼體系可將計算機按邏輯構成分為: (1)CPU(運算器、控制器)。運算器是數據處理裝置,用來完成對數據的算術運算…

    Linux干貨 2016-09-20
  • sed詳解

    sed命令:    文本處理三劍客:        grep, egrep,fgrep: 文本過濾器        sed :Stream EDitor, 流編輯器,行        awk: 文本格式工具,報告生成器 …

    Linux干貨 2016-12-13
  • Linux 啟動流程

    Linux啟動流程 POST–>Boot Sequence–>MBR–>Grub–>Kernel(initramfs)–>rootfs–chroot(根切換)–>/sbin/init–>RunLevel–&gt…

    Linux干貨 2016-06-09
  • rsyslog+mysql+loganalyzer日志服務器搭建

    rsyslog+mysql+loganalyzer日志服務器搭建 環境 服務器端:192.168.25.129,centos7 客戶機端:192.168.25.130,centos7 rsyslog+Mysql服務器端的配置: 準備好msql server或mariadb server ]# yum -y install&nbs…

    Linux干貨 2016-11-07
  • LINUX-用戶和組管理

    LINUX用戶和組管理 linux用戶分類:Username/UID      管理員:root,UID 0號,擁有最高權限;負責系統的啟功、停止,安裝新軟件,               增加、刪除用戶,保證系統正常運轉;     &nb…

    2017-05-30

評論列表(1條)

  • renjin
    renjin 2017-04-21 09:54

    對NFS網絡文件系統進行了詳細的介紹,內容總結的很詳細,建議把最近學過的內容也總結到博客中來,把代碼塊放入到”插入程序代碼”中去

欧美性久久久久