4.13、nfs掛載優化及優缺點


 

1、硬盤:sas/ssd磁盤,買多塊,硬件raid5/raid0,網卡吞吐量要大,至少千兆(多網卡bond0)

2、nfs客戶端掛載說明:

文件系統有自己的權限,掛載是建立在文件系統之上的,然后更改掛載的權限,一般不會更改掛載nfs的權限,使用默認值就好,也可以做相應的優化;

掛載權限是對文件權限的一個過濾,一個文件有多個權限,用戶在使用文件時調用的是它們之間最小的權限;

3、客戶端查看掛載:

df -hT

cat /proc/mounts

172.16.1.31:/data/ /mnt nfs4rw,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,

clientaddr=172.16.1.8,minorversion=0,local_lock=none,addr=172.16.1.31 0 0

4、nfs掛載參數:

5、nfs服務器端配置:

/data 10.0.0.1(rw,rsync,all_squash,anonuid=65534,anongid=65534)

6、nfs客戶端掛載配置:

(1)性能和安全兼顧:

mount -t nfs -o nosuid,noatime,nodiratime,nodev,noexec,rsize=131072,wsize=131072 10.0.0.1:/data/ /mnt/

(2)禁止更新目錄及文件時間戳掛載-性能優化:

mount -t nfs -o noatime,nodirtime 10.0.0.8:/data

(3)安全優化的掛載方式(並發會很差,安全代表着性能的降低):

mount -t nfs -o nosuid,nodev,noexec,noatime,nodirtime,intr,rsize=131072,wsize=131072 10.0.0.8:/data

(4)默認的掛載方式(已經很好了,可以不用更改)

mount -t nfs 10.0.0.8:/data

(5)本地文件系統的優化 (一般不會優化的)

(6)如果是nodirtime會報錯:

mount /dev/sda1 -o defaults,noatime,async /mnt

7、fstab修改錯誤導致系統無法啟動故障修復:

(1)救援模式或是維護模式:

修改 /etc/fstab :可能不讓操作

mount -o rw,remount / #可 (以rw的模式重新掛載分區,不會影響分區的掛載點和其它的屬性設置)

(2)文件系統只讀故障(文件系統內部自動一致性(只讀),async bug):

mount :查看掛載的硬盤的寫入格式,找到只讀的分區

mount -o rw,remount /

8、對nfs進行內核的優化:

#接收套接字緩沖區的默認值和最大值

[root@nfs01 ~]# cat /proc/sys/net/core/rmem_default

124928

[root@nfs01 ~]# cat /proc/sys/net/core/rmem_max

124928

#發送套接字緩沖區的默認值和最大值

[root@nfs01 ~]# cat /proc/sys/net/core/wmem_default

124928

[root@nfs01 ~]# cat /proc/sys/net/core/wmem_max

124928

vim /etc/syctl.conf

net.core.rmem_default=8388608 #8M

net.core.rmem_max=16777216 #16M

net.core.wmem_default=8388608

net.core.wmem_max=16777216

[root@nfs01 ~]# sysctl -p

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

9、nfs卸載知識點:

強力卸載分區:

umount -lf /dev/sda1

如果卸載nfs掛載文件出現“umount:/mnt device is busy”需要退出掛載目錄再進行卸載;

如果nfs server宕機了則需要用使用命令“umount -lf /mnt/” 進行強制的卸載;

10、nfs的優缺點:

nfs是集群中后端的共享存儲,確保數據的一致性;

(1)nfs的優點:

nfs文件系統內數據是在文件系統之上的,即數據是能看的見得

部署快速,維護簡單方便,且可控,能滿足需求

可靠,從軟件層面上來看,數據可靠性高,經久耐用,數據是在文件系統之上的

服務非常的穩定

(2)nfs的缺點:

存在單點故障,如果nfs server宕機了,所有的客戶都不能訪問共享目錄。

在大數據高並發的場合,nfs效率低(cdn服務器,95%發數據被消化了,web緩存)

客戶端認證是基於ip和主機名的,權限根據id識別,安全性一般(用於內網,則問題不大)

nfs數據是明文的,nfs本身不對數據完整性進行驗證

多台客戶機器掛載一個nfs服務器時,連接管理麻煩(耦合度高),尤其當nfsServer出現問題時

所有的nfs客戶端都處於掛掉狀態,可以使用強制卸載進行修復;

nfs服務端和客戶端相對來說就是耦合性有些高,擴展性不是很好

11、應用建議:

大中小型網站(2000萬/日pv以下)線上應用,門戶網站也可以使用,生產場景應該多把數據的訪問

往前推,即盡量把靜態存儲里的資料通過cdn或緩存服務器提供服務,如果沒有緩存服務或者是架構不好

存儲服務器數量再多也抗不住壓力的,而且用戶的體驗會很差;

對於大型網站,nfs網絡文件系統的替代軟件為分布式文件系統mfs,glusterFS,fastDFS;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM