[TOC]
NFS安裝吵冒、配置纯命、掛載
轉(zhuǎn)載:
- https://www.cnblogs.com/alonones/p/6105586.html
- https://blog.csdn.net/w171066/article/details/52934862
- http://linux.vbird.org/linux_server/0330nfs.php
為什么要用NFS
NFS(Network File System)即網(wǎng)絡(luò)文件系統(tǒng),是FreeBSD支持的文件系統(tǒng)中的一種痹栖,它允許網(wǎng)絡(luò)中的計機之間通過TCP/IP網(wǎng)絡(luò)共享資源亿汞。在NFS的應用中,本地NFS的客戶端應用可以透明讀寫位于遠端NFS服務器上的文件揪阿,就像訪問本地文件一樣疗我。
NFS最早是由Sun公司發(fā)展出來的咆畏,簡單的來說:它就是是可以透過網(wǎng)絡(luò),讓不同的主機吴裤、不同的操作系統(tǒng)可以共享存儲旧找。
以下是NFS最顯而易見的好處:
- 節(jié)省本地存儲空間,將常用的數(shù)據(jù)存放在一臺NFS服務器上且可以通過網(wǎng)絡(luò)訪問麦牺,那么本地終端將可以減少自身存儲空間的使用钮蛛。
- 用戶不需要在網(wǎng)絡(luò)中的每個機器上都建有Home目錄,Home目錄可以放在NFS服務器上且可以在網(wǎng)絡(luò)上被訪問使用剖膳。
- 一些存儲設(shè)備CDROM和Zip(一種高儲存密度的磁盤驅(qū)動器與磁盤)等都可以在網(wǎng)絡(luò)上被別的機器使用魏颓。這可以減少整個網(wǎng)絡(luò)上可移動介質(zhì)設(shè)備的數(shù)量。
NFS 的基本原則是“容許不同的客戶端及服務端通過一組RPC分享相同的文件系統(tǒng)”吱晒,它是獨立于操作系統(tǒng)甸饱,容許不同硬件及操作系統(tǒng)的系統(tǒng)共同進行文件的分享。
NFS在文件傳送或信息傳送過程中依賴于RPC協(xié)議仑濒。RPC柜候,遠程過程調(diào)用 (Remote Procedure Call) 是能使客戶端執(zhí)行其他系統(tǒng)中程序的一種機制。NFS本身是沒有提供信息傳輸?shù)膮f(xié)議和功能的躏精,但NFS卻能讓我們通過網(wǎng)絡(luò)進行資料的分享渣刷,這是因為NFS使用了一些其它的傳輸協(xié)議。而這些傳輸協(xié)議用到這個RPC功能的矗烛「ú瘢可以說NFS本身就是使用RPC的一個程序〔t吃;蛘哒fNFS也是一個RPC SERVER碌嘀。所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT歪架。這樣SERVER和CLIENT才能通過RPC來實現(xiàn)PROGRAM PORT的對應股冗。可以這么理解RPC和NFS的關(guān)系:NFS是一個文件系統(tǒng)和蚪,而RPC是負責負責信息的傳輸止状。
準備階段:(客戶端和服務端)
[root@NFS-server ~]# cat /etc/redhat-release #查看系統(tǒng)版本
CentOS release 6.8 (Final)
[root@NFS-server ~]# uname -r #查看系統(tǒng)內(nèi)核版本
2.6.32-642.11.1.el6.x86_64
[root@NFS-server ~]# uname -m #查看系統(tǒng)是否64位
x86_64
NFS服務端所需的軟件列表
nfs-utils: 這個是NFS服務主程序(包含rpc.nfsd、rpc.mountd攒霹、daemons)
rpcbind: 這個是CentOS6.X的RPC主程序(CentOS5.X的為portmap)
檢查軟件是否安裝
[root@NFS-server ~]# rpm -qa nfs-utils rpcbind #檢查安裝的軟件包
rpcbind-0.2.0-12.el6.x86_64
nfs-utils-1.2.3-70.el6_8.2.x86_64
<font color=red><如果沒有安裝在系統(tǒng)中通過yum 命令進行安裝以上兩個包></font>
[root@NFS-server ~]# yum install -y nfs-utils rpcbind #安裝上述所需的兩個軟件包
配置服務端NFS
固定NFS端口
[root@NFS-server ~]# vim /etc/sysconfig/nfs
RQUOTAD_PORT=1001
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
配置NFS共享目錄
創(chuàng)建目錄
[root@NFS-server ~]# mkdir -p /junnaTest/shareDir
配置目錄
[root@NFS-server ~]# vim /etc/exports
/junnaTest/shareDir 47.106.122.67(rw,no_root_squash,no_all_squash,sync) 113.106.165.0/24(rw,no_root_squash,no_all_squash,sync)
讓配置文件生效
[root@NFS-server ~]# /etc/init.d/nfs reload
[root@NFS-server ~]# exportfs -r
[root@NFS-server ~]# showmount -e 127.0.0.1
備注:
格式如下:
NFS共享目錄 NFS客戶端地址1(參數(shù)1,參數(shù)2,參數(shù)3......) 客戶端地址2(參數(shù)1,參數(shù)2,參數(shù)3......)
NFS共享目錄 NFS客戶端地址(參數(shù)1,參數(shù)2,參數(shù)3......)
常見的參數(shù)則有:
啟動NFS服務端相關(guān)服務
<strong>啟動rpcbind怯疤、nfs服務</strong>
[root@NFS-server ~]# service rpcbind start #rpcbind服務啟動
[root@NFS-server ~]# service rpcbind status #查詢rpcbind服務狀態(tài)
rpcbind (pid 1281) is running...
[root@NFS-server ~]# service nfs start #rpcbind服務啟動
[root@NFS-server ~]# service nfs status #查詢rpcbind服務狀態(tài)
<strong>開機自啟動rpcbind、nfs服務</strong>
[root@NFS-server ~]# chkconfig rpcbind on
[root@NFS-server ~]# chkconfig nfs on
[root@NFS-server ~]# chkconfig --list rpcbind #檢查rpcbind自啟動情況
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@NFS-server ~]# chkconfig --list nfs #檢查nfs自啟動情況
[root@NFS-server ~]# lsof -i :111 #查詢rpcbind監(jiān)聽狀態(tài) (111是rpcbind的主端口)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 1281 rpc 6u IPv4 10766 0t0 UDP *:sunrpc
rpcbind 1281 rpc 8u IPv4 10769 0t0 TCP *:sunrpc (LISTEN)
rpcbind 1281 rpc 9u IPv6 10771 0t0 UDP *:sunrpc
rpcbind 1281 rpc 11u IPv6 10774 0t0 TCP *:sunrpc (LISTEN)
[root@NFS-server ~]# netstat -lntup |grep rpcbind #查詢rpcbind服務啟動狀態(tài) (同lsof查詢端口效果一樣)
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1281/rpcbind
tcp 0 0 :::111 :::* LISTEN 1281/rpcbind
udp 0 0 0.0.0.0:608 0.0.0.0:* 1281/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 1281/rpcbind
udp 0 0 :::608 :::* 1281/rpcbind
udp 0 0 :::111 :::* 1281/rpcbind
配置防火墻
[root@NFS-server ~]# /sbin/iptables -I INPUT -p tcp -s 47.106.122.67 -m multiport --dport 111,2049,1001,892,32803 -j ACCEPT
[root@NFS-server ~]# /sbin/iptables -I INPUT -p udp -s 47.106.122.67 -m multiport --dport 111,2049,1001,892,32769 -j ACCEPT
[root@NFS-server ~]# /etc/rc.d/init.d/iptables save
[root@NFS-server ~]# /etc/rc.d/init.d/iptables restart
[root@NFS-server ~]# /etc/init.d/iptables status
客戶端配置
[root@NFS-server ~]# mount -t nfs 120.79.205.120:/junnaTest/shareDir /test/mmp
客戶端卸載已掛在的NFS
[root@NFS-server ~]# umount /test/mmp
可參考:Linux指令操作棧下載