天天看點

NFS挂載深入

NFS用戶端挂載參數清單

在NFS用戶端grep挂載的目錄可擷取預設挂載參數,指令如下:

參數

參數功能

預設參數

fg

bg

  當在用戶端執行挂載時,可選擇是前台(fg)還是在背景(bg)執行。若在前台執行,則mount會持續嘗試挂載,直到成功或挂載時間逾時為止,若在背景執行,則mount會在背景持續多次進行mount,而不會影響到前台的其他程式操作。如果網絡聯機不穩定,或是伺服器常常需要開關機,建議使用bg比較妥當。

soft

hard

當NFS Client以soft挂載Server時,若網絡或Server出現問題,造成Client和Server無法傳輸資料,Client就會一直嘗試,直到timeout後顯示錯誤才停止。若使用soft mount的話,可能會在timeout出現時造成資料丢失,故一般不建議使用。若用hard

intr

當使用hard挂載資源timeout後,若有指定intr參數,可以在timeout後把它中斷掉,這避免出現問題時系統整個被NFS鎖死,建議使用intr

rsize

wsize

讀出(rsize)與寫入(wsize)的區塊大小(block size),這個設定值可以影響用戶端與服務端傳輸資料的緩沖存儲量,一般來說,如果在區域網路内(LAN),并且用戶端與伺服器端都具有足夠的記憶體,這個值可以設定大一點,比如說65535(bytes),提升緩沖區塊将提升NFS檔案系統的傳輸能力。但設定的值也不要太大,最好以網絡能夠傳輸的最大值為限

CentOS 5:預設值

rsize=1024

wsize=1024

CentOS 6:預設值

rsize=131072

wsize=131072

proto=udp

使用UDP協定來傳輸資料,在LAN中會有比較好的性能。若要跨越Internet的話,使用proto=tcp多傳輸的資料會有比較好的糾錯能力

proto=tcp

mount -o參數對應選項

參數意義

系統預設值

suid

nosuid

當挂載的檔案系統上有任何SUID的程式時,隻要使用nosuid就能夠取消設定SUID的功能

rw

ro

可以指定問價系統是隻讀(ro)或可寫(rw)

dev

nodev

是否可以保留裝置檔案的特殊功能?一般來說隻有/dev才會有特殊的裝置,一次可以選擇nodev

exec

noexec

是否具有執行檔案的權限?如果想要挂載的僅是普通資源資料區(例如:圖檔、附件),那麼可以選擇noexec

user

nouser

是否允許使用者擁有檔案的挂載與解除安裝功能?如果要保護檔案系統,最好不要為使用者提供挂載與解除安裝功能

auto

noauto

這個auto指的是“mount -a”時會不會被挂載的項目,如果不需要這個分區随時被挂載,可以設定為noauto

mount -o參數中英翻譯對比

async:涉及檔案系統I/O的操作都是異步處理,即不會同步寫到磁盤,此參數會提高性能,但會降低資料安全。一般情況,生産環境下不推薦使用。除非對性能要求很高,對資料可靠性不要求的場合。

sync:該參數與async相反。有I/O操作時,都會同步處理I/O,即把資料同步寫入磁盤。此參數會犧牲一點I/O性能,但是,換來的是掉電後資料的安全性。

atime:在每一次資料通路時,會同步更新通路檔案的inode時間戳,是預設選項,在高并發的情況下,建議通過明确加上notime,來取消這個預設項,以到達提升I/O性能,優化I/O的目的。

noatime:通路檔案時不更新檔案的inode時間戳,高并發環境下,推薦顯式應用該選項,可以提高系統I/O性能。

ro:以隻讀的方式挂載一個檔案系統。

rw:以可寫的方式挂載一個檔案系統。

auto:能夠被自動挂載通過-a選項。

noauto:不會自動挂載檔案系統。

defaults:這是fstab裡的預設值,包括rw、suid、dev、exec、auto、nouser、async,預設情況大部分都是預設值。

exec:允許檔案系統執行二進制檔案,取消這個參數,可以提升系統安全性。

noexec:在挂載的檔案系統中不允許直接執行任何二進制的程式,注意,僅對二進制程式有效,及時設定了noexec、shell,php程式還是可以執行的。

nodiratime:不更新檔案系統上的derectory inode時間戳,高并發環境,推薦顯式應用該選項,可以提高系統I/O性能。

nosuid:不允許set-user-identifier or set-group-identifier位生效。

suid:允許set-user-identifier or set-group-identifier位生效。

nouser:禁止一個普通使用者挂載該檔案系統,這是預設挂載時的預設選項。

remount:嘗試重新挂載一個已經挂載了的檔案系統,這通常被用來改變一個檔案系統的挂載标志,進而使得一個隻讀檔案系統變的可寫,這個動作不會改變裝置或者挂在點。當系統故障時進入single或rescue模式修複系統時,會發現根檔案系統經常會變成隻讀檔案系統,不允許修改,此時該指令就派上用場了。具體指令為:mount -o remount,rw/,表示将根檔案系統重新挂載使得可寫。single或rescue模式修複系統時這個指令十分重要。

dirsync:目錄更新時同步寫入磁盤。

禁止更新目錄及檔案時間戳挂載,指令如下:

安全加優化的挂載方式如下:

預設的挂載方式:

繼續閱讀