linux的NFS及mount使用方法

2021-06-16 13:24:44 字數 4557 閱讀 6800

一:伺服器端的設定(以linux為例)

伺服器端的設定都是在/etc/exports這個檔案中進行設定的,設定格式如下:

欲分享出去的目錄 主機名稱1或者ip1(引數1,引數2) 主機名稱2或者ip2(引數3,引數4)

上面這個格式表示,同乙個目錄分享給兩個不同的主機,但提供給這兩台主機的許可權和引數是不同的,所以分別設定兩個主機得到的許可權.

可以設定的引數主要有以下這些:

rw:可讀寫的許可權;

ro:唯讀的許可權;

no_root_squash:登入到nfs 主機的使用者如果是root使用者,他就擁有root的許可權,此引數很不安全,建議不要使用.

root_squash:在登入 nfs協議主機使用分享之目的使用者如果是使用者的都成 nobody 身份;

all_squash:不管登陸nfs主機的使用者是什麼都會被重新設定為nobody.

anonuid:將登入nfs主機的使用者都設定成指定的user id,此id必須存在於/etc/passwd中.

anongid:同 anonuid ,但是?成 group id 就是了!

sync:資料同步寫入儲存器中.

async:資料會先暫時存放在記憶體中,不會直接寫入硬碟.

insecure 允許從這台機器過來的非授權訪問.

/tmp  *(rw,no_root_squash)

/home/public 192.168.0.*(rw) *(ro)

/home/test 192.168.0.100(rw)

/home/linux   *.the9.com(rw,all_squash,anonuid=40,anongid=40)

設定好後可以使用以下命令啟動nfs協議:

/etc/rc.d/init.d/portmap start (在redhat中portmap是預設啟動的)

/etc/rc.d/init.d/nfs start

exportfs命令:

如果我們在啟動了nfs協議之後又修改了/etc/exports,是不是還要重新啟動nfs呢?這個時候我們就可以用exportfs命令來使改動立刻生效,該命令格式如下:

exportfs [-aruv]

-a :全部 mount或者unmount /etc/exports中的內容

-r :重新mount /etc/exports中分享出來的目錄

-u :umount 目錄

-v :在 export 的?r候,將詳細的資訊輸出到螢幕上.

具體例子:

[root @test root]# exportfs -rv <== 全部重新 export 一次!

exporting 192.168.0.100:/home/test

exporting 192.168.0.*:/home/public

exporting *.the9.com:/home/linux

exporting *:/home/public

exporting *:/tmp

reexporting 192.168.0.100:/home/test to kernel

exportfs -au <== 全部都解除安裝了.

二、客戶端的操作:

1、showmout命令對於nfs協議的操作和查錯有很大的幫助,所以我們先來看一下showmount的用法

showmout

-a :這個引數是一般在nfs server上使用,是用來顯示已經 mount上本機nfs目錄的cline機器.

-e :顯示指定的nfs server上export出來的目錄.

例如:showmount -e 192.168.0.30

export list for localhost:

/tmp *

/home/linux *.linux.org

/home/public (everyone)

/home/test 192.168.0.100

2、 mount nfs目錄的方法:

mount -t nfs hostname(orip):/directory /mount/point

具體例子:

linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs

solaris:mount -f nfs 192.168.0.1:/tmp /mnt/nfs

bsd: mount 192.168.0.1:/tmp /mnt/nfs

3、mount nfs的其它可選引數:

hard mount 和soft mount:

hard: nfs client會不斷的嘗試與server的連線(在後台,不會給出任何提示資訊,在linux 下有的版本仍然會給出一些提示),直到mount上.

soft:會在前台嘗試與server的連線,是預設的連線方式.當收到錯誤資訊後終止 mount嘗試,並給出相關資訊.

例如:mount -f nfs -o hard 192.168.0.10:/nfs /nfs

對於到底是使用hard還是soft的問題,這主要取決於你訪問什麼資訊有關.例如你是想通過nfs協議來執行x program的話,你絕對不會希望由於一些意外的情況(如網路速度一下子變的很慢,插拔了一下網絡卡插頭等)而使系統輸出大量的錯誤資訊,如果此時你用的是hard方式的話,系統就會等待,直到能夠重新與nfs server建立連線傳輸資訊.另外如果是非關鍵資料的話也可以使用soft方式,如ftp資料等,這樣在遠端機器暫時連線不上或關閉時就不會掛起你的會話過程.

rsize和wsize:

檔案傳輸尺寸設定:v3沒有限定傳輸尺寸,v2最多只能設定為8k,可以使用-rsize and -wsize 來進行設定.這兩個引數的設定對於nfs的執行效能有較大的影響

bg:在執行mount時如果無法順利mount上時,系統會將mount的操作轉移到後台並繼續嘗試mount,直到mount成功為止.(通常在設定/etc/fstab檔案時都應該使用bg,以避免可能的mount不上而影響啟動速度)

fg:和bg正好相反,是預設的引數

nfsvers=n:設定要使用的 nfs版本,預設是使用2,這個選項的設定還要取決於server端是否支援nfs ver 3

mountport:設定mount的埠

port:根據server端export出的埠設定,例如如果server使用5555埠輸出nfs,那客戶端就需要使用這個引數進行同樣的設定

timeo=n:設定超時時間,當資料傳輸遇到問題時,會根據這個引數嘗試進行重新傳輸.預設值是7/10妙(0.7秒).如果網路連線不是很穩定的話就要加大這個數值,並且推薦使用hard mount方式,同時最好也加上intr引數,這樣你就可以終止任何掛起的檔案訪問.

intr 允許通知中斷乙個nfs呼叫.當伺服器沒有應答需要放棄的時候有用處.

udp:使用udp作為nfs協議的傳輸協議(nfs v2只支援udp)

tcp:使用tcp作為nfs的傳輸協議

namlen=n:設定遠端伺服器所允許的最長檔名.這個值的預設是255

acregmin=n:設定最小的在檔案更新之前cache時間,預設是3

acregmax=n:設定最大的在檔案更新之前cache時間,預設是60

acdirmin=n:設定最小的在目錄更新之前cache時間,預設是30

acdirmax=n:設定最大的在目錄更新之前cache時間,預設是60

actimeo=n:將acregmin、acregmax、acdirmin、acdirmax設定為同乙個數值,預設是沒有啟用.

retry=n:設定當網路傳輸出現故障的時候,嘗試重新連線多少時間後不再嘗試.預設的數值是10000 minutes

noac:關閉cache機制.

同時使用多個引數的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs

請注意,nfs客戶機和伺服器的選項並不一定完全相同,而且有的時候會有衝突.比如說伺服器以唯讀的方式匯出,客戶端卻以可寫的方式mount,雖然可以成功mount上,但嘗試寫入的時候就會發生錯誤.一般伺服器和客戶端配置衝突的時候,會以伺服器的配置為準.

4、/etc /fstab的設定方法

/etc/fstab的格式如下:

fs_spec fs_filefs_type  fs_optionsfs_dump fs_pass

fs_spec:該欄位定義希望載入的檔案系統所在的裝置或遠端檔案系統,對於 nfs這個引數一般設定為這樣:192.168.0.1:/nfs

fs_本地的掛載點

fs_type:對於nfs協議來說這個字段只要設定成nfs就可以了

fs_options:掛載的引數,可以使用的引數可以參考上面的mount引數.

fs_dump  - 該選項被"dump"命令使用來檢查乙個檔案系統應該以多快頻率進行轉儲,若不需要轉儲就設定該字段為0

fs_pass - 該字段被 fsck命令用來決定在啟動時需要被掃瞄的檔案系統的順序,根檔案系統"/"對應該欄位的值應該為1,其他檔案系統應該為2.若該檔案系統無需在啟動時掃瞄則設定該字段為0 .

5、與nfs有關的一些命令介紹

nfsstat:

檢視nfs的執行狀態,對於調整 nfs的執行有很大幫助

rpcinfo:

檢視rpc執行資訊,可以用於檢測rpc運**況的工具.

linux中mount命令引數詳解 nfs 引數

首先給大家分享乙個巨牛巨牛的人工智慧教程,是我無意中發現的。教程不僅零基礎,通俗易懂,而且非常風趣幽默,還時不時有內涵段子,像看 一樣,哈哈 我正在學習中,覺得太牛了,所以分享給大家!點這裡可以跳轉到教程 1,命令格式 mount命令的格式如下 mount t vfstype o options d...

引用 oracle用nfs時mount設定

引用 simon zzm 的 oracle用nfs時mount設定 oracle歸檔程序寫日誌到nfs檔案系統,與一般的在nfs檔案系統上通過命令新增刪除檔案是不同的,要在mount nfs檔案系統的時候指定一定的引數才能讓歸檔程序正常歸檔。原來是這樣指定mount的 mount t nfs 192...

NFS 客戶端mount 掛載深入

1 nfs客戶端掛載命令 這裡先強調下客戶端掛載的命令格式。掛載命令 掛載的格式型別 nfs服務端提供的共享目錄 nfs客戶端的掛載點 mount t nfs 172.16.1.31 data mnt 必須存在 mount t nfs 172.16.1.31 data mnt,此命令要在nfs客戶端...