1. 程式人生 > >Linux系統搭建NFS並共享給AIX

Linux系統搭建NFS並共享給AIX

linux系統搭建nfs並共享給aix

一、 NFS介紹

NFS 是Network FileSystem的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位於服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。

  NFS 的基本原則是“容許不同的客戶端及服務端通過一組RPC分享相同的文件系統”,它是獨立於操作系統,容許不同硬件及操作系統的系統共同進行文件的分享。

  NFS在文件傳送或信息傳送過程中依賴於RPC協議。RPC,遠程過程調用 (RemoteProcedure Call) 是能使客戶端執行其他系統中程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER。所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這麽理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸。

二、 NFS進程

nfsd:它是基本的NFS守護進程,主要功能是管理客戶端是否能夠登錄服務器;

mountd:它是RPC安裝守護進程,主要功能是管理NFS的文件系統。當客戶端順利通過nfsd登錄NFS服務器後,在使用NFS服務所提供的文件前,還必須通過文件使用權限的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端權限。

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

三、 安裝NFS

rpm –qa| grep nfs

rpm -qa| grep rpcbind

在CentOS,原來的portmap改成了rpcbind。如果這兩個軟件沒有安裝,就要下載對應的rpm包進行安裝(當然也可以用yum等其他安裝方式)

四、 啟動NFS

1. 查看端口配置

默認情況下,nfs通過2049端口通信,portmap或者rpcbind通過111端口通信。

cat/etc/services | grep nfs

nfs 2049/tcp nfsd shilp # Network File System

nfs 2049/udp nfsd shilp # Network File System

nfs 2049/sctp nfsd shilp # Network File System

cat/etc/services | grep rpcbind

sunrpc 111/tcp portmapper rpcbind #RPC 4.0 portmapper TCP

sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper

另外,要固定mount服務的端口為976

cat>> /etc/services

mountd 976/udp

mountd 976/tcp

servicenfs restart

2. 放通網絡和防火墻

將源機器和目標機器的IP和上述端口放通。關閉防火墻對這些端口的屏蔽。

3. 配置export

vim /etc/exports

/home/bapogg 10.249.13.0/24(rw,no_root_squash,async)

4. 啟動nfs

servicenfs start

servicerpcbind start

servicenfs status

rpc.svcgssd isstopped

rpc.mountd (pid8451) is running...

nfsd (pid 84488447 8446 8445 8444 8443 8442 8441) is running...

rpc.rquotad (pid8435) is running...

servicerpcbind status

rpcbind (pid 1541) is running...

五、 查看通過NFS的傳輸性能

1. 手工方式

通過拷貝一個大文件,看拷貝完需要多長時間。大小/時間=速率。

六、 掛載NFS

1. 在AIX客戶端上掛載

stopsrc-g nfs

0513-044 The biodSubsystem was requested to stop.

0513-044 The nfsdSubsystem was requested to stop.

0513-044 Therpc.lockd Subsystem was requested to stop.

0513-044 Therpc.statd Subsystem was requested to stop.

stopsrc-s portmap

0513-044 Theportmap Subsystem was requested to stop.

startsrc-s portmap

0513-059 Theportmap Subsystem has been started. Subsystem PID is 156104.

startsrc-g nfs

0513-059 The biodSubsystem has been started. Subsystem PID is 397708.

0513-059 The nfsdSubsystem has been started. Subsystem PID is 352796.

0513-059 Therpc.mountd Subsystem has been started. Subsystem PID is 360828.

0513-059 Thenfsrgyd Subsystem has been started. Subsystem PID is 369402.

0513-059 The gssdSubsystem has been started. Subsystem PID is 360830.

0513-059 Therpc.lockd Subsystem has been started. Subsystem PID is 369404.

mount 10.249.60.65:/home/bapogg/ogg/test_nfs

在Linux客戶端上掛載

也要做一些客戶端的必要的設置,在此略過。

mount-t nfs 10.249.60.65:/home/bapogg /ogg/test_nfs

七、 卸載

1. 在AIX客戶端上卸載

unmount /ogg/test_nfs

如果報這類錯誤:umount: 1831-01516 error while unmounting 10.249.60.65:/home/bapogg - The requested resource isbusy.

就用fuser -k/ogg/test_nfs 把占用的進程殺掉。當然不那麽粗暴的方式是fuser/ogg/test_nfs看哪些進程占用這個文件系統。


Linux系統搭建NFS並共享給AIX