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命令查看