CentOS 6下掛載NFS共享的方法

掛載前請確保客戶機已安裝nfs-utils軟體包,否則是無法成功掛載的(我是不會告訴你我在這個坑裡蹲了四個多小時才爬出來的)。

[root@localhost ~]# yum install -y nfs-utils

掛載使用如下命令格式:

mount nfs伺服器ip:共享資料夾的路徑 要掛載在本地的路徑

例如:

[root@localhost ~]# mount 192.168.1.20:/tmp/test1 /mnt/test1

筆者看到網上有的教程推薦使用類似如下命令來進行掛載:

[root@localhost ~]# mount -t nfs 10.0.2.69:/home /mnt

但經過實測,CentOS 6.5可以不使用-t引數來指定檔案系統型別,程式會自動識別。

除了命令列掛載之外,也可以將其加入到/etc/fstab檔案中實現開機自動掛載。

之後重啟系統即可自動掛載,若想立即生效可以使用如下命令 :

[root@localhost ~]# mount -a

解除安裝nfs使用此命令格式:

umount nfs共享的掛載點

例如:

[root@localhost ~]# umount /mnt/test1

最後再介紹一種比較特殊的情況,那就是當nfs伺服器無響應的時候,在客戶端執行df命令或showmount命令時會導致程序假死,而使用umount命令解除安裝nfs儲存則會丟擲錯誤。

此問題的解決方法參考此篇文章:

https://www.ibadboy.net/archives/730.html

CentOS 6下的NFS檔案共享服務搭建教程

介紹:
nfs是網路檔案系統。類似於samba,但不支援身份認證,只能透過ip地址來鑑別客戶端。
起初只可用於linux/unix系統,後來windows也可以使用nfs了。
安裝軟體:

[root@localhost ~]# yum install nfs-utils

配置服務:
nfs預設的配置檔案為/etc/exports,若不存在此檔案請手動建立。
編輯配置檔案

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

向其中新增檔案共享,一條一行,格式:
要共享的資料夾 允許訪問的主機(訪問許可權) 允許訪問的主機2(訪問許可權)……….允許訪問的主機N(訪問許可權)…..
允許訪問的主機可以用IP來指定也可以用網段、主機名(NetBIOS需正常解析),支援萬用字元,需要注意的是——萬用字元只能用在主機名上,不可用於ip。
例如:

關於訪問許可權的詳細解釋如下(此處摘錄自《鳥哥的Linux私房菜——伺服器架設篇(第三版)》):

編輯完配置檔案後啟動服務即可,在正式啟動nfs服務前還需要把rpcbind這個服務給啟動了(已啟動則略過),否則nfs無法啟動。rpcbind服務主要是負責在nfs共享時候告訴客戶端伺服器的nfs埠號的。

[root@localhost ~]# service rpcbind start
[root@localhost ~]# service nfs start

修改共享配置檔案後既可以透過重啟服務使配置生效也可以透過如下命令使配置立即生效:

[root@localhost ~]# exportfs -arv

檢視當前NFS共享的目錄。

[root@localhost ~]# showmount -e     //若僅檢視已被客戶端掛載的目錄則使用-d引數替換-e引數。

目錄及檔案的許可權管理:
nfs伺服器設定目錄及檔案的使用者許可權在實際生產環境中沒有多大意義,因為客戶機和伺服器上的使用者雖然使用者名稱是相同的,但UID可能不同,而NFS是透過UID來區別使用者的,那就會產生問題啦!而且,就算在伺服器上對NFS共享中的某一個目錄設定了所有者,那客戶端上其實只要把隨便一個使用者的UID改成和目錄所有者的UID相同,就可以具有所有者的許可權啦,所以說,為NFS共享中的目錄及檔案設定許可權是完全沒有意義的事情。
客戶端掛載及解除安裝nfs:
參考此篇文章。

CentOS 6下掛載NFS共享的方法

linux解除安裝無響應的nfs檔案系統

問題表現:

如果正在使用的nfs檔案系統伺服器突然宕掉了,那在客戶端執行df命令就會卡死掉,使用umount命令解除安裝此檔案系統會提示裝置正忙(device is busy)。

解決方法:

使用umount命令加-l引數解除安裝失去響應的nfs檔案系統。
若不清楚nfs檔案系統的掛載位置可以使用nfsstat -m命令檢視