NFS(二)

一、服務(wù)器配置:

安裝軟件:

yum -y install nfs-utils rpcbind


更改配置文件:


vim /etc/exports

#? 添加

/var/www/html/ nfs 192.168.1.*(rw,async,no_root_squash)


先來設(shè)置IP


/etc/sysconfig/network-scripts/ifcfg-enp0s3


更改BOOTPROTO=static;添加IPADDR、NETMASK、GATEWAY。


臨時設(shè)置IP:

ifconfig enp0s3 192.168.1.101

這里因為是虛擬機(jī),便不在更改IP設(shè)置,采用默認(rèn)IP。

/var/www/html/ nfs 10.0.2.*(rw,async,no_root_squash)


更改目錄權(quán)限:

chmod?-R? a+w? /home/lee/nfs


啟動服務(wù):

先為rpcbind和nfs做開機(jī)啟動:(必須先啟動rpcbind服務(wù))

systemctl enable rpcbind.service

systemctl enable nfs-server.service


systemctl?start? rpcbind

systemctl?start? nfs

開啟防火墻端口:

#rpcbind的端口

iptables?-I? INPUT? -p?udp? --dport? 111?-j? ACCEPT

iptables?-I? INPUT? -p?tcp? --dport? 111?-j? ACCEPT

#nfs的端口

iptables?-I? INPUT? -p?udp? --dport? 2049?-j? ACCEPT

iptables?-I? INPUT? -p?tcp? --dport? 2049?-j? ACCEPT

rpcinfo -p

檢查 NFS 服務(wù)器是否掛載我們想共享的目錄 /home/nfs/:


exportfs -r

#使配置生效

exportfs



二、linux客戶端安裝

yum?-y? install? nfs-utils


查看遠(yuǎn)程共享信息:

showmount? -e? 192.168.1.251


clnt_create: RPC: Program not registered

是由于你nfs服務(wù)器沒有啟動,可通過service

nfs start 啟動



手動掛載

mount 192.168.1.251:/var/www/html/nfs/root/nfs


查看日志

cat /var/log/messages | grep mount

refused mount request from 10.0.2.15 for/var/www/html/nfs (/var/www/html/nfs): unmatched host



查找資料

解決方式1、去掉/etc/hosts中的主機(jī)名ip

解決方式2、查看客戶端掛載的目錄不具備讀寫權(quán)限,添加權(quán)限即可。

解決方式3、服務(wù)器和客戶機(jī)網(wǎng)段不同引起,修改ip地址,使其同網(wǎng)段即可。

最后通過更改IP地址在同一網(wǎng)段內(nèi)設(shè)置OK。

驗證

掛載的服務(wù)器上新建test.txt 查看nfs服務(wù)器上是否可以同步?

Nfs更改文件內(nèi)容 其掛載的服務(wù)器上是否有對應(yīng)的更改?

Nfs上新建文件djw.txt,查看掛載服務(wù)器上是否有該文件?



總結(jié)

NFS服務(wù)需要安裝的軟件

nfs-utils-*?:包括基本的NFS命令與監(jiān)控程序?

rpcbind-*?:支持安全NFS RPC服務(wù)的連接

注:通常情況下,是作為系統(tǒng)的默認(rèn)包安裝的

??? CentOS6.*之前rpcbind叫portmap。

NFS系統(tǒng)守護(hù)進(jìn)程

nfsd:它是基本的NFS守護(hù)進(jìn)程,主要功能是管理客戶端是否能夠登錄服務(wù)器mountd:它是RPC安裝守護(hù)進(jìn)程,主要功能是管理NFS的文件系統(tǒng)。當(dāng)客戶端順利通過nfsd登錄NFS服務(wù)器后,在使用NFS服務(wù)所提供的文件前,還必須通過文件使用權(quán)限的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端權(quán)限。

rpcbind:主要功能是進(jìn)行端口映射工作。當(dāng)客戶端嘗試連接并使用RPC服務(wù)器提供的服務(wù)(如NFS服務(wù))時,rpcbind會將所管理的與服務(wù)對應(yīng)的端口提供給客戶端,從而使客戶可以通過該端口向服務(wù)器請求服務(wù)。

NFS的常用目錄

/etc/exports?? ? NFS服務(wù)的主要配置文件

/usr/sbin/exportfs?NFS服務(wù)的管理命令

/usr/sbin/showmount 客戶端的查看命令

/var/lib/nfs/etab? 記錄NFS分享出來的目錄的完整權(quán)限設(shè)定值

/var/lib/nfs/xtab? 記錄曾經(jīng)登錄過的客戶端信息

NFS服務(wù)的配置文件為 /etc/exports,這個文件是NFS的主要配置文件,不過系統(tǒng)并沒有默認(rèn)值,所以這個文件不一定會存在,可能要使用vim手動建立,然后在文件里面寫入配置內(nèi)容。

/etc/exports文件內(nèi)容格式

<輸出目錄> [客戶端1?選項(訪問權(quán)限,用戶映射,其他)] [客戶端2?選項(訪問權(quán)限,用戶映射,其他)]

輸出目錄:輸出目錄是指NFS系統(tǒng)中需要共享給客戶機(jī)使用的目錄

客戶端:客戶端是指網(wǎng)絡(luò)中可以訪問這個NFS輸出目錄的計算機(jī)

客戶端常用的指定方式:

指定ip地址的主機(jī):192.168.0.200

指定子網(wǎng)中的所有主機(jī):192.168.0.0/24192.168.0.0/255.255.255.0

指定域名的主機(jī):david.bsmart.cn

指定域中的所有主機(jī):*.bsmart.cn

所有主機(jī):*

選項

選項用來設(shè)置輸出目錄的訪問權(quán)限、用戶映射等。

NFS主要有3類選項:

訪問權(quán)限選項

設(shè)置輸出目錄只讀:ro

設(shè)置輸出目錄讀寫:rw

用戶映射選項

all_squash:將遠(yuǎn)程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody);

no_all_squash:與all_squash取反(默認(rèn)設(shè)置);

root_squash:將root用戶及所屬組都映射為匿名用戶或用戶組(默認(rèn)設(shè)置);

no_root_squash:與rootsquash取反;

anonuid=xxx:將遠(yuǎn)程訪問的所有用戶都映射為匿名用戶,并指定該用戶為本地用戶(UID=xxx);

anongid=xxx:將遠(yuǎn)程訪問的所有用戶組都映射為匿名用戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx);

其它選項

secure:限制客戶端只能從小于1024的tcp/ip端口連接nfs服務(wù)器(默認(rèn)設(shè)置);

insecure:允許客戶端從大于1024的tcp/ip端口連接服務(wù)器;

sync:將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,效率低,但可以保證數(shù)據(jù)的一致性;

async:將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中,必要時才寫入磁盤;

wdelay:檢查是否有相關(guān)的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可以提高效率(默認(rèn)設(shè)置);

no_wdelay:若有寫操作則立即執(zhí)行,應(yīng)與sync配合使用;

subtree:若輸出目錄是一個子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限(默認(rèn)設(shè)置);

no_subtree:即使輸出目錄是一個子目錄,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率;

客戶端軟件

yum -y install nfs-utils

nfs共享權(quán)限和訪問控制

(1)客戶端root用戶

使用客戶端的root身份在nfs服務(wù)器上創(chuàng)建文件,文件的所有者和所屬組是nfsnobody。

(2)客戶端普通用戶

使用客戶端的普通用戶身份在nfs服務(wù)器上創(chuàng)建文件,所有者和所屬組是nobody或普通用戶。

(3)共享目錄的完整權(quán)限值設(shè)定/var/lib/nfs/etab

1、客戶端連接NFS的時候,對root的檢查

如果設(shè)置no_root_squash,那么此時root用戶的身份被壓縮為NFS server上面的root;

如果設(shè)置了all_squash、anonuid、anongid,此時root?身份被壓縮為指定用戶;

如果沒有明確指定,此時root用戶被壓縮為nfsnobody;

如果同時指定no_root_squash與all_squash?用戶將被壓縮為?nfsnobody,如果設(shè)置了anonuid、anongid將被壓縮到所指定的用戶與組;

2、客戶端連接NFS的時候,對普通用戶的檢查

如果明確設(shè)定了普通用戶被壓縮的身份,那么此時客戶端用戶的身份轉(zhuǎn)換為指定用戶;

如果NFS server上面有同名用戶,那么此時客戶端登錄賬戶的身份轉(zhuǎn)換為NFS server上面的同名用戶;

如果沒有明確指定,也沒有同名用戶,那么此時?用戶身份被壓縮成nobody;

NFS共享目錄的卸載和自動掛載

(1)NFS共享目錄的卸載

a、卸載客戶端的掛載目錄,在客戶端執(zhí)行以下命令

[root@localhost ~]#umount /media/

b、停止服務(wù)器端的共享,在服務(wù)器端執(zhí)行以下命令

[root@localhost ~]#exportfs -au

c、重新共享所有目錄并輸出詳細(xì)信息,服務(wù)器端執(zhí)行以下命令

[root@localhost ~]#exportfs -rv

d、exportfs命令

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

格式:exportfs [-aruv]

-a?全部掛載或卸載?/etc/exports中的內(nèi)容

-r?重新讀取/etc/exports?中的信息?,并同步更新/etc/exports、/var/lib/nfs/xtab

-u?卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)

-v?在export的時候,將詳細(xì)的信息輸出到屏幕上。

具體例子:

exportfs -au?卸載所有共享目錄

exportfs -rv?重新共享所有目錄并輸出詳細(xì)信息

e、rpcinfo命令

rpcinfo利用rpcinfo -p?可以查看出RPC開啟的端口所提供的程序有哪些,其中nfs?開啟的是2049,portmapper(rpcbind)?開啟的是111,其余則是rpc開啟的

(2)NFS共享目錄的自動掛載

把掛載信息寫入到/etc/fstab文件中

[root@localhost~]# vim /etc/fstab

192.168.115.120:/zhangsan/media???????????????nfs??? defaults??????? 0 0

[root@localhost~]# mount -a

NFS常見故障解決方法

(1)The rpcbind failure error

故障現(xiàn)象:

nfs mount: server1:: RPC: Rpcbind failure

RPC: Timed Out

nfs mount: retrying: /mntpoint

故障原因:

第一,可能因為客戶機(jī)的hosts文件中存在錯誤的ip地址、主機(jī)名或節(jié)點名組合;

第二,服務(wù)器因為過載而暫時停止服務(wù)。

(2)The server not responding error

故障現(xiàn)象:

NFS server server2 not responding, still trying

故障原因:

第一,網(wǎng)絡(luò)不通,用ping命令檢測一下。

第二,服務(wù)器關(guān)機(jī)。

(3)The NFS client fails a reboot error

故障現(xiàn)象:

啟動客戶機(jī)后停住了,不斷顯示如下提示信息:

Setting default interface for multicast: add net 224.0.0.0:gateway:

client_node_name.

故障原因:

在etc/vfstab的mount選項中使用了fg而又無法成功mount服務(wù)器上的資源,改成bg或?qū)⒃撔凶⑨尩?,直到服?wù)器可用為止。

(4)The service not responding error

故障現(xiàn)象:

nfs mount: dbserver: NFS: Service not responding

nfs mount: retrying: /mntpoint

故障原因:

第一,當(dāng)前級別不是級別3,用who -r查看,用init 3切換。

第二,NFS Server守護(hù)進(jìn)程不存在,用ps -ef | grep nfs檢查,用/etc/init.d/nfs start啟動。

(5)The program not registered error

故障現(xiàn)象:

nfs mount: dbserver: RPC: Program not registered

nfs mount: retrying: /mntpoint

故障原因:

第一,當(dāng)前級別不是級別3。

第二,mountd守護(hù)進(jìn)程沒有啟動,用/etc/init.d/nfs腳本啟動NFS守護(hù)進(jìn)程。

第三,看/etc/dfs/dfstab中的條目是否正常。

(6)The stale file handle error

故障現(xiàn)象:

stale NFS file handle

故障原因:

服務(wù)器上的共享資源移動位置了,在客戶端使用umount和mount重新掛接就可以了。

(7)The unknown host error

故障現(xiàn)象:

nfs mount: sserver1:: RPC: Unknown host

故障原因:

hosts文件中的內(nèi)容不正確。

(8)The mount point error

故障現(xiàn)象:

mount: mount-point /DS9 does not exist.

故障原因:

該掛接點在客戶機(jī)上不存在,注意檢查命令行或/etc/vfstab文件中相關(guān)條目的拼寫。

(9)The no such file error

故障現(xiàn)象:

No such file or directory.

故障原因:

該掛接點在服務(wù)器上不存在,注意檢查命令行或/etc/vfstab文件中相關(guān)條目的拼寫。

(10)No route to host

故障現(xiàn)象:

# mount 192.168.115.120:/opt/data /data -t nfs -o rw

mount: mount to NFS server ‘192.168.115.120’ failed: SystemError: No route to host.

故障原因:

防火墻被打開,關(guān)閉防火墻。

這個原因很多人都忽視了,如果開啟了防火墻(包括iptables和硬件防火墻),NFS默認(rèn)使用111端口,我們先要檢測是否打開了這個端口,還要檢查TCP_Wrappers的設(shè)定。

(11)Not owner

故障現(xiàn)象:

# mount -F nfs -o rw 192.168.115.120:/mnt/data /data

nfs mount: mount: /data: Not owner

故障原因:

這是Solaris 10版本掛載較低版本nfs時報的錯誤。

解決:

需要用-o vers=3參數(shù)

示例:

# mount -F nfs -o vers=3 192.168.115.120:/mnt/data /data

(12)RPC: Program not registered & retrying

故障現(xiàn)象:

nfs mount: 192.168.115.120: : RPC: Program not registered

nfs mount: retrying: /data

故障原因:

沒有啟動NFS共享端服務(wù)。

解決:需要重新啟動share端的NFS服務(wù),

Linux:

mount: RPC: Program not registered

# /etc/init.d/nfs restart

Solaris:

mount: RPC: Program not registered

# /etc/rc.d/init.d/nfs restart

(13)can’t contact portmapper: RPC: Remote system error?–?Connectionrefused

故障現(xiàn)象:

# exportfs -a

can’t contact portmapper: RPC: Remote system error – Connectionrefused

故障原因:

出現(xiàn)這個錯誤信息是由于server端的portmap沒有啟動。

解決:

# /etc/init.d/portmap start

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內(nèi)容

  • 《鳥哥Linux私房菜》《老男孩Linux運維》 NFS介紹 NFS維基百科:網(wǎng)絡(luò)文件系統(tǒng)(英語:Network ...
    Zhang21閱讀 4,288評論 0 13
  • # rpcinfo -p //查看rpc服務(wù)信息 啟動NFS服務(wù)器 為了使NFS服務(wù)器能正常工作,需要啟動...
    Java_Evan閱讀 3,627評論 0 0
  • nfs大綱 1.nfs是干什么1.什么是NFS,NFS是Network File System的縮寫及網(wǎng)絡(luò)文件系統(tǒng)...
    優(yōu)秀磚閱讀 3,310評論 0 0
  • 部署NFS服務(wù)端 1.yum -y install nfs-utils #安裝NFS軟件 ----------...
    Eleven丶曉閱讀 555評論 0 0
  • 第1章 存儲與nfs存儲概述 1.為什么用共享存儲2.存儲有哪些工具3.共享存儲應(yīng)用場景有哪些4.部署nfs共享存...
    吖吖堅閱讀 1,742評論 0 0