Linux下nfs實現跨機器的檔案共享

2021-10-14 15:08:15 字數 3016 閱讀 1714

目前的專案開發過程中都是採用分布式,在上傳檔案的時候,檔案不一定會在同一臺機器中,因此就需要跨機器共享檔案,在這裡就簡單的採用nfs實現跨機器的檔案共享。

1、安裝nfs和rpcbind(在centos6之前是portmap)

檢查自己的電腦是否已經預設安裝了nfs和rpcbind:

[root@unsion2 ~]# rpm -aq | grep nfs

nfs-utils-1.2.3-54.el6.x86_64

nfs4-acl-tools-0.3.3-6.el6.x86_64

nfs-utils-lib-1.1.5-9.el6.x86_64

[root@unsion2 ~]# rpm -aq | grep rpcbind

rpcbind-0.2.0-11.el6.x86_64

這表示系統已經預設安裝。如果沒有安裝也沒事,可以採用下面的命令安裝(需要聯網,會用虛擬機器的就不多說怎麼聯網了):

[root@unsion2 ~]# yum install nfs-utils rpcbind
2、配置nfs的配置檔案和hosts檔案

建立需要共享的目錄:

[root@unsion2 ~]# cd /tmp

[root@unsion2 tmp]# mkdir test

配置nfs的配置檔案:

[root@unsion2 ~]# vim /etc/exports
在這個檔案中新增需要輸出的目錄,如:

/tmp/test 192.168.56.202(rw)

/tmp/test:表示的是伺服器共享輸入的目錄

192.168.56.202:表示可以掛在伺服器目錄的客戶端ip

(rw):表示該客戶端對共享的檔案具有讀寫許可權

配置hosts檔案:

[root@unsion2 ~]# vim /etc/hosts
在檔案中新增下面這句話

192.168.56.201 unsion2

unsion2:表示伺服器的機器名

3、啟動nfs和rpcbind服務、檢測服務狀態、已經設定服務開機啟動

啟動服務:

[root@unsion2 ~]#service rpcbind start

[root@unsion2 ~]#service nfs start

測試狀態:

[root@unsion2 ~]#service rpcbind status

rpcbind (pid 1063) 正在執行...

[root@unsion2 ~]#service nfs status

rpc.svcgssd 已停

rpc.mountd (pid 2193)正在執行...

nfsd (pid 22092208 2207 2206 2205 2204 2203 2202) 正在執行...

rpc.rquotad (pid2188) 正在執行...

自動啟動:

[root@unsion2 ~]#chkconfig --list rpcbind

[root@unsion2 ~]#chkconfig --list nfs

4、檢測伺服器的nfs狀態

[root@unsion2etc]# showmount -e  //檢視自己共享的服務

export list forunsion2:

/tmp/test192.168.56.202

注意:在執行這個命令的時候如果出現錯誤,說明dns不能解析當前的伺服器,那就是hosts檔案沒有配置。

5、客戶端掛載nfs中共享的目錄

首先是啟動nfs和rpcbind服務。

查詢服務端共享的檔案目錄:

[root@unsion1tmp]# showmount -e 192.168.56.201

export list for192.168.56.201:

/tmp/test192.168.56.202

建立掛載目錄:

[root@unsion2 ~]# cd/tmp

[root@unsion2 tmp]#mkdir hehe

掛載服務端的共享目錄:

[root@unsion1tmp]# mount 192.168.56.201:/tmp/test/ /tmp/hehe/

mount.nfs: accessdenied by server while mounting 192.168.56.201:/tmp/ test /

看到此資訊表示成功掛載。

檢視掛載的狀態:

[root@unsion1tmp]# mount | grep nfs

sunrpc on/var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

nfsd on/proc/fs/nfsd type nfsd (rw)

192.168.56.201:/tmp/test/on /tmp/hehe type nfs (rw,vers=4,addr=192.168.56.201,clientaddr=192.168.56.202)

6、測試共享

伺服器建立檔案:

[root@unsion2 /]#cd /tmp/test

[root@unsion2test]# touch 123456

客戶端檢視檔案:

[root@unsion1 /]#cd /tmp/hehe

[root@unsion1hehe]# ll

總用量 0

-rw-r--r--. 1 rootroot 0 2月 25 15:37 123456

到此就結束了,nfs實現檔案的共享已經完成。

AIX 掛載linux下的nfs

今天客戶有需要,對aix小機中的一套oracle rac資料庫遷移到另一套aix 的oracle rac資料庫下,但是兩套小機都沒有額外的空間來儲存備份資料,這時就想到了nfs,可是以前只有linux的nfs使用經驗,怎麼辦呢 在網上隨便找了個文章看了下,感覺和linux下的方式差不多。搭建linu...

linux下的nfs服務配置

1 nfs伺服器端與客戶端的安裝 sudo apt get install nfs kernel server nfs common portmap 2 配置portmap 兩種方法任選一種就可以 sudo emacs etc default portmap 去掉 i 127.0.0.1 3 配置掛...

Linux下配置安裝NFS

1 nfs 的啟動與停止 service nfs start service nfs stop service nfs restart 2 nfs 分為伺服器和客戶端 伺服器提供檔案共享的機器 客戶端就是訪問伺服器的機器 3 伺服器端配置1 etc exports格式 目錄選項 share 192....