網路檔案共享 nfs服務

2021-08-30 13:10:36 字數 4783 閱讀 4041

nfs服務簡介:

nfs:network file system 網路檔案系統

軟體包:nfs-utils

kernel支援:nfs.ko

使用updatedb來更新locate資料庫

[root@www14:45:56upload]#locate nfs.ko

/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/xen/xenfs/xenfs.ko.xz

/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/fs/nfs/nfs.ko.xz

nfs優勢:

節省本地儲存空間

將常用的資料,如home目錄

存放在nfs伺服器上且可以通過網路訪問

本地終端將可減少自身儲存空間的使用

nfs服務主要程序:

rpc.nfsd 最主要的nfs程序,管理客戶端是否可登入

rpc.mountd 掛載和解除安裝nfs檔案系統,包括許可權管理

rpc.lockd 非必要,管理檔案鎖,避免同時寫出錯

rpc.statd 非必要,檢查檔案一致性,可修復檔案

啟動服務:

centos7:systemctl start nfs.server

centos6:service nfs start

實現方式:

安裝軟體包:

yum install -y nfs-utils

配置檔案:

/etc/exports --初始為空

/etc/exports.d/*.exports

日誌:/var/lib/nfs/

監聽埠:

2049(nfsd) ---tcp協議

rpcinfo -p

[root@www15:29:14~]#rpcinfo -p

program vers proto port service

其它埠由portmap(111)分配--依賴於這個服務!

rpcbind服務 :埠監聽111

當nfs重啟時,會把變動埠註冊到rpcbind服務中!

centos7中當rpcbind服務關閉時,

啟動nfs服務,rpcbind一樣會被啟動!

centos6中不會主動啟用!

配置防火牆,開放nfs服務

配置nfs使用固定埠

vim /etc/sysconfig/nfs

rquotad_port=875

lockd_tcpport=32803

lockd_u***ort=32769

mountd_port=892

statd_port=662

statd_outgoing_port=2020

防火牆除開放上述埠,還需開放tcp和udp的111和2049共4個埠

centos6開始portmap程序由rpcbind代替

簡單實現:

共享檔案/data/nfs1目錄:

vim /etc/exports

/data/nfs1 *

*:所有主機!

並且在/data/nfs1中建立測試檔案

生效方式:

systemctl restart nfs-server

exportfs -r

exportfs -v --檢視服務掛載資訊

預設的共享選項:

/data/nfs1 (ro,sync,wdelay,hide,no_subtree_check,sec=sys,secure,root_squash,no_all_squash)

檢視主機nfs共享資源:

showmount -e 主機ip

具體使用:

showmount -e 172.20.23.32

掛載方式:在非nfs伺服器主機上

要建立乙個目錄!

mount 172.20.23.32:/data/nfs1 /mnt/test/

共享選項:

預設選項:(ro,sync,root_squash,no_all_squash)

ro,rw 唯讀和讀寫

具體應用:

需要對檔案或目錄更改授權,讓nfsnobody使用者對其有寫許可權!

async 非同步,資料變化後不立即寫磁碟,效能高

sync(1.0.0後為預設)同步,資料在請求時立即寫入共享

no_all_squash(預設)保留共享檔案的uid和gid

--所有的使用者不壓榨,只要伺服器中有和客戶端使用者相同id的使用者,客戶端訪問時,就會擁有和伺服器端使用者相同的權利

all_squash 所有遠端使用者(包括root)都變成nfsnobody

---有這一項就全部壓榨!no_root_squash就失效了!

root_squash(預設)遠端root對映為nfsnobody,uid為65534早期版本 是4294967294(nfsnobody)

no_root_squash 遠端root對映成root使用者

具體用法:

/data/nfs2 172.20.23.50(rw,no_root_squash)

anonuid和anongid 指明匿名使用者對映為特定使用者uid和組gid

而非 nfsnobody,可配合all_squash使用

具體用法:

anonuid=2000

anongid=2000

共享案例2:

/data/nfs2 172.20.23.50(rw,no_root_squash)

設定共享主機和讀寫掛載及遠端主機不壓榨

支援針對不同主機設定許可權:

具體應用:多個主機網段之間用空格隔開

/data/nfs2 172.20.0.0/16(rw,no_root_squash) 172.20.23.20(ro)

ip networks:兩種掩碼格式均支援

172.18.0.0/255.255.0.0

172.18.0.0/16

rpcinfo:rpc監聽111埠[tcp/udp]

rpcinfo -p hostname

rpcinfo –s hostname 檢視rpc註冊程式

[root@www14:39:35data]#rpcinfo -s 172.20.23.32

program version(s) netid(s) service owner

100024 1 tcp6,udp6,tcp,udp status 29

100005 3,2,1 tcp6,udp6,tcp,udp mountd superuser

100003 4,3 udp6,tcp6,udp,tcp nfs superuser

100227 3 udp6,tcp6,udp,tcp nfs_acl superuser

100021 4,3,1 tcp6,udp6,tcp,udp nlockmgr superuser

exportfs

–v 檢視本機所有nfs共享

–r 重讀配置檔案,並共享目錄

–a 輸出本機所有共享

–au 停止本機所有共享

-u 停止本機指定共享

fg(預設)前台掛載

bg後台掛載

hard(預設)持續請求,soft 非持續請求

intr和hard配合,請求可中斷

rsize和wsize 一次讀和寫資料最大位元組數,rsize=32768

_netdev 無網路不掛

基於安全考慮,建議使用nosuid,nodev,noexec掛載選項

自動掛載的實現:

自動掛載:

可使用autofs按需要掛載nfs共享,在空閒時自動解除安裝

由autofs包提供

系統管理器指定由/etc/auto.master自動掛載器守護程序控制的掛載點

自動掛載監視器訪問這些目錄並按要求掛載檔案系統

檔案系統在失活的指定間隔5分鐘後會自動解除安裝

為所有匯出到網路中的nfs啟用特殊匹配 -host 至「browse

支援含萬用字元的目錄名

* server:/export/&

相對路徑寫法:

主配置檔案:

/etc/auto.master

定義dirname

具體用法:

/mydata /etc/auto.fs

/etc/auto.fs

定義basename

具體用法:

data -fstype=nfs,rw,nosuid,nodev 172.20.23.32:/data/nfs1

絕對路徑法:

vim /etc/auto.master

/- /etc/data.fs

vim /etc/data.fs

/home/yl -fstype=nfs,rw,nosuid,nodev 172.20.23.32:/data/nfs1

nfs預設掛載版本時4.1如果要掛載成3版本需要新增選項

例如:mount -o vers=3 172.20.23.33:/data/ /mnt

NFS網路檔案共享服務

簡介 網路檔案系統 network file system,縮寫作 nfs 是一種分布式檔案系統協議,最初由sun microsystems公司開發,並於1984年發布。其功能旨在允許客戶端主機可以像訪問本地儲存一樣通過網路訪問伺服器端檔案。通過網路讓不同的機器系統之間可以彼此共享檔案和目錄。nfs...

NFS網路檔案共享服務

keepalived lsyncd nfs lsyncd主 192.168.234.160 vip 192.168.234.200 lsyncd備 192.168.234.162 vip備 客戶端 192.168.234.161 要求 在lsyncd主服務上更新內容,要5分鐘之後同步到lsyncd備...

訪問網路檔案共享服務 NFS

nfs 網路檔案系統 nfs network file system 是由 linux unix 及其他類似作業系統使用的網際網路標準協議 可作為它們的本地網路檔案系統。它是一種活動擴充套件之下的開放標準 可支援本地 linux 許可權和檔案 系統功能 red hat enterprise linu...