1.1 NFS配置參數(shù)權(quán)限

按需定制制作可以根據(jù)自己的需求進行定制,成都做網(wǎng)站、網(wǎng)站建設(shè)構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司成都做網(wǎng)站、網(wǎng)站建設(shè)的運用實際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實際意義
參數(shù)名稱
參數(shù)用途
rw
read-write,表示可讀寫權(quán)限
ro
read-only,表示只讀權(quán)限
sync
請求或?qū)懭霐?shù)據(jù)時,數(shù)據(jù)同步寫入到硬盤才完成
async
異步寫到遠程緩沖區(qū)
all_squash
不管客戶端什么用戶,到服務(wù)端都會被壓縮成匿名用戶
anonuid
匿名用戶的UID
anongid
匿名用戶的GID
在配置文件內(nèi)設(shè)置共享目錄時所給予的權(quán)限:
[root@nfs01 ~]$ cat /etc/exports
/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(ro)
配置好NFS服務(wù)后,/var/lib/nfs/etab文件中可以看到的配置參數(shù)以及默認自帶的參數(shù):
[root@nfs01 ~]$ cat /var/lib/nfs/etab
/data
172.16.1.0/24(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
1.1.1 更改NFS默認用戶
1.1.1.1 nfs01服務(wù)端NFS、以及所有客戶端:
[root@nfs01 ~] id www
uid=1111(www) gid=1111(www) 組=1111(www)
1.1.1.2 服務(wù)端NFS特殊配置
配置文件增加如下內(nèi)容:
[root@nfs01 ~]$ tail -2 /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)
/data1 10.0.0.0/24(ro)
共享目錄更改用戶和用戶組:
[root@nfs01 ~] ls -ld /data
drwxr-xr-x 2 www www 70 4月 18 10:05 /data
1.1.1.3 服務(wù)端NFS重啟
[root@nfs01 ~]$ systemctl reload nfs
1.1.1.4 每個客戶端掛載
[root@web01 ~] df -h
文件系統(tǒng) 容量 已用 可用 已用% 掛載點
172.16.1.31:/data 19G 1.8G 18G 10% /data
新創(chuàng)建文件驗證用戶名:
[root@web01 /data]# touch new_web01.txt
[root@web01 /data]# ls -l
總用量 0
-rw-r--r-- 1 www www 0 4月 18 11:01 new_web01.txt
-rw-r--r-- 1 www www 0 4月 17 11:59 oldboy.txt
-rw-r--r-- 1 www www 0 4月 17 12:30 oldgirl.txt
1.2 NFS服務(wù)重點知識梳理
??當(dāng)多個NFS客戶端訪問服務(wù)器端讀寫文件時,需要具有以下幾個權(quán)限:
NFS服務(wù)器/etc/exports設(shè)置需要開放許可寫入的權(quán)限,即服務(wù)器端的共享權(quán)限
NFS服務(wù)器實際要共享的NFS目錄權(quán)限具有可寫入w的權(quán)限,即服務(wù)器端本地目錄的安全權(quán)限
每臺機器都對應(yīng)存在和NFS默認配置UID的相同UID的用戶
下表列出了常用的重點NFS服務(wù)文件或命令。
NFS常用路徑
說明
/etc/exports
NFS服務(wù)主配置文件,配置NFS具體共享服務(wù)的地點,默認內(nèi)容為空
/var/lib/nfs/etab
NFS配置文件的完整參數(shù)設(shè)定的文件
/proc/mounts
客戶端的掛載參數(shù)
1.3 NFS客戶端掛載深入
1.3.1 mount -o 參數(shù)選項及系統(tǒng)默認設(shè)置
參數(shù)
參數(shù)意義
系統(tǒng)默認值
suid/nosuid
當(dāng)掛載的文件系統(tǒng)上有任何SUID的程序時,只要使用nosuid就能夠取消設(shè)置SUID的功能
suid
rw/ro
可以指定文件系統(tǒng)是只讀(ro)或可讀寫(rw)
rw
dev/nodev
是否可以保留裝置文件的特殊功能
dev
exec/noexec
是否具有執(zhí)行文件的權(quán)限
exec
user/nouser
是否允許用戶擁有文件的掛載與卸載功能
nouser
auto/noauto
auto指的是“mount -a”時會不會被掛載的項目,如果不需要這個分區(qū)隨時被掛載,可以設(shè)置為noauto
auto
1.3.2 mount -o 參數(shù)詳細說明
參數(shù)選項
說明
async
涉及文件系統(tǒng)I/O的操作都是異步處理,即不會同步寫到磁盤,能提高性能,但會降低數(shù)據(jù)安全。
sync
有I/O操作時,都會同步處理I/O,會降低性能,但數(shù)據(jù)比較安全。
atime
在每一次數(shù)據(jù)訪問時,會更新訪問文件的時間戳,是默認選項,在高并發(fā)的情況下,可以通過添加noatime來取消默認項。
ro
以只讀的方式掛載一個文件系統(tǒng)
rw
以可讀寫的方式掛載一個文件系統(tǒng)
auto
能夠被自動掛載通過-a選項
noauto
不會自動掛載文件系統(tǒng)
defaults
這是fstab里的默認值,包括rw、suid、dev、exec、auto、nouser、async
exec
允許文件系統(tǒng)執(zhí)行二進制文件,取消這個參數(shù),可以提升系統(tǒng)安全性。
noexec
在掛載的文件系統(tǒng)中不允許執(zhí)行任何二進制程序,進僅對二進制程序有效。
noatime
訪問文件時不更新文件的時間戳,高并發(fā)情況下,一般使用該參數(shù)
nodiratime
不更新文件系統(tǒng)上的directory inode時間戳,高并發(fā)環(huán)境,推薦顯式應(yīng)用該選項,可以提高系統(tǒng)I/O性能。
nosuid
不允許set-user-identifier or set-group-identifier位生效。
suid
允許set-user-identifier or set-group-identifier位生效。
nouser
禁止一個普通用戶掛載該文件系統(tǒng),這是默認掛載時的默認選項。
remount
嘗試重新掛載一個已經(jīng)掛載了的文件系統(tǒng),這通常被用來改變一個文件系統(tǒng)的掛載標志,從而使得一個只讀文件系統(tǒng)變的可寫,這個動作不會改變設(shè)備或者掛載點。當(dāng)系統(tǒng)故障時進人single或rescue模式修復(fù)系統(tǒng)時,會發(fā)現(xiàn)根文件系統(tǒng)經(jīng)常會變成只讀文件系統(tǒng),不允許修改,此時該命令就派上用場了。具體命令為:mount -o remount,rw /,表示將根文件系統(tǒng)重新掛載使得可寫。single或rescue模式修復(fù)系統(tǒng)時這個命令十分重要。
dirsync
目錄更新時同步寫人磁盤。
1.3.3 企業(yè)生產(chǎn)場景NFS共享存儲優(yōu)化
硬件:使用ssd/sas磁盤,可以買多塊,制作成raid10。
NFS服務(wù)器端配置:
/data 10.0.0.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534)
NFS客戶端掛載優(yōu)化配置命令:
mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,
wsize=131072 172.16.1.31:/data /mnt ===兼顧安全性能
對NFS服務(wù)的所有服務(wù)器內(nèi)核進行優(yōu)化,執(zhí)行命令如下:
cat /etc/sysctl.conf EOF
net.core.wmen_default = 8388608
net.core.rmen_default = 8388608
net.core.wmen_max = 16777216
net.core.rmen_max = 16777216
EOF
執(zhí)行sysctl -p 生效
大型網(wǎng)站NFS網(wǎng)絡(luò)文件系統(tǒng)的替代軟件為分布式文件系統(tǒng),如:Moosefs(mfs)、GlusterFS、FastDFS。
1.4 NFS系統(tǒng)應(yīng)用的優(yōu)缺點
1.4.1 優(yōu)點
簡單,容易上手,容易掌握。
NFS文件系統(tǒng)內(nèi)數(shù)據(jù)是在文件系統(tǒng)之上的,即數(shù)據(jù)是能看得見的。
部署快速維護簡單方便,且可控,滿足需求就是最好的。
可靠,從軟件層面上看,數(shù)據(jù)可靠性高,經(jīng)久耐用。
服務(wù)非常穩(wěn)定。
1.4.2 缺點(局限)
存在單點故障,如果NFS服務(wù)端宕機了,所有客戶端都不能訪問共享目錄。
在大數(shù)據(jù)高并發(fā)的場合,NFS效率、性能有限。
客戶端認證是基于IP和主機名的,權(quán)限要根據(jù)ID識別,安全性一般。
NFS數(shù)據(jù)是明文的,NFS本身不對數(shù)據(jù)完整性進行驗證。
多臺客戶機掛載一個NFS服務(wù)器時,連接管理維護麻煩。
1.4.3 解決性能問題的方法
使用CDN加速以及自己搭建文件緩存服務(wù)(squid、nginx、varnish)。
把多個目錄分配到不同的NFS服務(wù)器上。
棄用NFS(即讀寫分離)。
使用分布式文件系統(tǒng)。
NFS的配置過程很簡單。在服務(wù)器端中編輯 /etc/exports 文件,添加如下內(nèi)容: /home/nfs-share 192.168.1.122 (rw,sync)
第一項是要共享的目錄,后者為共享的配置參數(shù)一般為: (rw,sync,no_root_squash,no_all_squash,no_subtree_check)
然后開啟NFS和portmap服務(wù):
/etc/init.d/nfs start //用service nfs start也可以 /etc/init.d/portmap start //用service portmap stasrt也可以
在centos6.5中portmap已經(jīng)改為rpcbind 在客戶端,用mount –t nfs 192.168.123:/home/nfs-share /home/remote_file掛載服務(wù)器端的共享目錄到本地的/home/remote-file掛載點,然后我們就可以在客戶端上應(yīng)用到遠程主機上的/home/nfs-share目錄了。想要系統(tǒng)在開機時自動掛載,修改/etc/fstab文件,把NFS服務(wù)器的共享目錄添加進去就可以了,這個不用多說。
如何知道遠程主機上的共享目錄情況呢?使用showmount命令,這個命令需要root權(quán)限。它有三個選項(記住這三個選項代表的含義: showmount –a IP 顯示指定NFS服務(wù)器的客戶端以及服務(wù)器端在客戶端的掛載點 showmount –d IP 顯示指定NFS服務(wù)器在客戶端的掛載點 showmount –e IP 顯示指定NFS服務(wù)器上的共享目錄列表(或者叫輸出列表) 我們輸入命令showmount –a 192.168.1.123:
圖片客戶端中出現(xiàn)的mount clntudp_create: RPC: Program not registered錯誤是怎么回事?噢,我剛才重啟了一下服務(wù)器端,重啟后NFS服務(wù)沒有開啟。 我們開啟服務(wù)器端的NFS服務(wù),再從客戶端上查看一下NFS服務(wù)器的情況:
Showmount –a顯示出NFS服務(wù)器192.168.1.123的共享目錄被客戶端192.168.122掛載到/home中;
在showmount -e IP,出現(xiàn)clnt_create: RPC: Port mapper failure - Timed out報錯
解決方案:
被訪問的NFS服務(wù)器上的防火墻沒有添加規(guī)則,向iptables里面添加以下查看的所有端口即可(目前解決的方法,當(dāng)然你也可以關(guān)閉防火墻,不過這樣是比較不安全的,如果你的nfs作用不大,建議你另選別的應(yīng)用來替代吧!畢竟開那么多的端口,比較不安全呀!)
通過#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服務(wù)的時候,細心的話可以注意到,我們在輸入命令/etc/init.d/nfs start開啟nfs服務(wù)時,系統(tǒng)還自作主張地開啟了NFS quotas等其它3個服務(wù)。
怎么回事?我們只輸入了一條啟動NFS服務(wù)的命令,它怎么額外的啟動了3個服務(wù)?后面的啟動portmap服務(wù)又是怎么回事? 我們首先要了解一點:NFS文件系統(tǒng)要提供服務(wù)單靠本身的NFS服務(wù)是不夠的,還需要調(diào)用其它服務(wù),這個其它服務(wù)就是RPC(remote procedure call,遠程過程調(diào)用)服務(wù)和portmap服務(wù)。由于NFS服務(wù)本身不提供文件傳輸功能,我們要遠程使用NFS文件系統(tǒng)就需要RPC服務(wù)的支持;而portmap服務(wù)用來為RPC服務(wù)進行動態(tài)端口分配和映射,所以portmap服務(wù)也是NFS服務(wù)所必須的。
我們查看一下服務(wù)的啟動情況:
所遇錯誤:
/etc/init.d/nfs-kernel-server: 沒有那個文件或目錄
解決方案:
沒有配置、安裝NFS
Linux 下配置NFS服務(wù)
1、安裝
2、配置
3、客戶端
所遇問題:centos6.5
portmap: 未被識別的服務(wù)
解決方案:
由于在6系列里面,portmap已經(jīng)改名了 ,6系列需要使用 service rpcbind start啟動[root@unix-big-bang ~]# service portmap start
portmap: 未被識別的服務(wù)
[root@unix-big-bang ~]# service rpcbind status
rpcbind (pid 1312) is running...
[root@unix-big-bang ~]#
好文共賞:
linux nfs文件共享
◆一、概念
NFS是網(wǎng)絡(luò)文件系統(tǒng)(Network File System)的簡稱,是分布式計算機系統(tǒng)的一個組成部分,可實現(xiàn)在異構(gòu)網(wǎng)絡(luò)上共享和裝配遠程文件系統(tǒng)。
NFS由SUN公司開發(fā),目前已成為文件服務(wù)的一種標準(RFC1904,RFC1813)。其最大的功能就是可以通過網(wǎng)絡(luò),讓不同 操作系統(tǒng) 的計算機可以共享數(shù)據(jù),所以也可以看作是一個文件服務(wù)器。NFS是除了SAMBA之外Windows與Linux及Unix與Linux之間通信的方法。
理想條件下的NFS 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
1、設(shè)置Linux系統(tǒng)之間的文件共享(Linux與Windows中間文件共享采用SAMBA服務(wù));
2、NFS只是一種文件系統(tǒng),本身沒有傳輸功能,是基于RPC協(xié)議實現(xiàn)的,才能達到兩個Linux系統(tǒng)之間的文件目錄共享;
3、NFS為C/S 架構(gòu) ;
◆二、服務(wù)器配置
1、配置文件
主要配置文件為:/etc/exports
格式為: 共享目錄 可mount主機IP(參數(shù)1,參數(shù)2,……)
如:/var/nfs 172.20. . (rw,sync,no_rootl_squash)
說明:必須注意nfs/目錄的訪問權(quán)限,必須設(shè)置成777權(quán)限;父目錄/var權(quán)限無要求,普通的755即可;
2、啟動相關(guān)服務(wù)
然后依次啟動相關(guān)服務(wù):portmap,nfslock,nfs
service portmap start
service nfslock start
service nfs start
關(guān)閉順序相反。
3、檢查共享目錄
隨后可以采用showmount –e查看一下,看看共享的目錄情況:
[root@ns var]# showmount -e
Export list for ns.osserver:
/var/nfs 172.20. .
OK,到此為止,NFS服務(wù)器搭建完畢;
◆三、客戶端配置
1、確保portmap運行
客戶端必須確保RPC協(xié)議相應(yīng)的portmap正常運行,否則mount將失敗;
2、掛載/var/nfs目錄(本地掛載點為/mnt/nfs)
mount -t nfs 172.20.65.16:/var/nfs /mnt/nfs
成功mount以后,即可同本地目錄一樣隨意操作;
◆四、其它相關(guān)命令
1、當(dāng)修改了/etc/exports文件后,可以不用重新啟動nfs服務(wù),直接采用exports –rv 即可重新導(dǎo)出共享目錄;
該命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的內(nèi)容
-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 :這個參數(shù)是一般在NFS SERVER上使用,是用來顯示已經(jīng)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 '172.20.67.203' failed: server is down.
解決方案:可能是NFS服務(wù)器的防火墻有問題;
2、提示:mount: RPC: Timed out
解決方案:由于RPC協(xié)議沒運行;啟動portmap服務(wù);
也有可能是防火墻問題;Server/Client均有可能。
NFS服務(wù)可以讓不同的客戶端掛載使用一個共享目錄,在集群架構(gòu)環(huán)境中經(jīng)常會用到。那么在Linux運維工作中,NFS服務(wù)有什么優(yōu)缺點呢?
優(yōu)點有什么呢?
1)簡單、容易上手和掌握
2)NFS文件系統(tǒng)內(nèi)數(shù)據(jù)可見的
3)部署快速,維護簡單方便且可控滿足需求就是最好的
4)可靠,數(shù)據(jù)性高、經(jīng)久耐用
5)服務(wù)穩(wěn)定
局限又是什么?
1)存在單點故障,如果NFS Server宕機了,所有客戶端就不能訪問共享目錄了
2)在大數(shù)據(jù)高并發(fā)的情況下,NFS效率、性能是有限的
3)客戶端認證是基于IP和主機名的,權(quán)限要根據(jù)ID識別,安全性一般(用于內(nèi)網(wǎng)則問題不大)
4)NFS數(shù)據(jù)是明文的,NFS本身不對局完整性做驗證
5)多臺客戶機器掛載一個NFS服務(wù)器時,連接管理維護麻煩。NFS服務(wù)端出問題后,所有NFS客戶端都處于掛掉狀態(tài)
以上便是“NFS服務(wù)有什么優(yōu)缺點?”的相關(guān)介紹。
網(wǎng)頁名稱:nfs服務(wù)器安全 nfs安全配置
本文URL:http://chinadenli.net/article28/dojodcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、定制網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站排名、面包屑導(dǎo)航、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)