NFS安裝與使用
阿新 • • 發佈:2018-12-20
NFS網路檔案系統
什麼是NFS
NFS是Network File System的縮寫,中文意思是網路檔案系統,他的主要功能是通過網路(一般是區域網)讓不同的主機系統之間可以共享檔案或目錄
NFS服務只能應用在linux系統上,FTP、Samba服務均都支援linux和Windows
NFS服務的應用
- 實現資料資訊的共享
- 實現資料資訊的一致
共享儲存的方式
硬體實現共享儲存
IBM、Oracle、EMC
軟體實現共享儲存NFS、Samba、FTP
NFS共享系統原理
- 在NFS服務端建立共享目錄
- 通過mount網路掛載,將NFS客戶端本地目錄掛載到NFS服務端共享目錄上
- NFS客戶端掛載目錄上建立、刪除、檢視資料操作,等價於在服務端進行的建立 刪除 檢視操作
RPC
什麼是RPC
RPC(Remote Procedure Call Protocol)——遠端過程呼叫協議,它是一種通過網路從遠端計算機程式上請求服務,而不需要了解底層網路技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通訊程式之間攜帶資訊資料。
NFS服務部署過程
服務端
- 檢查NFS RPC服務軟體有沒有安裝
rpm -qa|grep nfs rpm -qa|grep rpc
預設Centos系統沒有安裝nfs和rpc服務
- 進行yum安裝nfs與rpc服務軟體
yum install -y nfs-utils rpcbind rpm -ql nfs-utils -ql 引數表示檢視安裝好的軟體,都安裝了哪些資訊
- 進行NFS配置檔案編寫
vim /etc/exports /data 172.16.1.0/24(rw,sync)
- 建立共享目錄
mkdir -p /data chown -R nfsnobody.nfsnobody /data
說明:nfsnobody使用者是在進行nfs軟體yum安裝時,自動建立的
*啟動服務
/etc/init.d/rpcbind start /usr/sbin/rpcinfo -- 檢視NFS服務註冊資訊的
- rpcinfo -p localhost
program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper
- /etc/init.d/nfs start
Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Starting NFS daemon: [ OK ] Starting RPC idmapd: [ OK ]
- rpcinfo -p localhost
program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 875 rquotad 100011 2 udp 875 rquotad 100011 1 tcp 875 rquotad 100011 2 tcp 875 rquotad 100005 1 udp 25565 mountd 100005 1 tcp 41264 mountd 100005 2 udp 9511 mountd 100005 2 tcp 6586 mountd 100005 3 udp 7479 mountd 100005 3 tcp 62974 mountd 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100021 1 udp 10753 nlockmgr 100021 3 udp 10753 nlockmgr 100021 4 udp 10753 nlockmgr 100021 1 tcp 27628 nlockmgr 100021 3 tcp 27628 nlockmgr 100021 4 tcp 27628 nlockmgr
- 設定開機自啟動
chkconfig rpcbind on chkconfig nfs on
- 檢查NFS服務配置,以及本地測試掛載
showmount -e localhost
Export list for localhost: /data 172.16.1.0/24
mount -t nfs 172.16.1.31:/data /mnt
df -h
Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.7G 6.7G 21% / tmpfs 238M 0 238M 0% /dev/shm /dev/sda1 190M 40M 141M 22% /boot 172.16.1.31:/data 8.8G 1.7G 6.7G 21% /mnt [[email protected] ~]# cd /mnt [[email protected] mnt]# echo "momoda" >test.txt [[email protected] mnt]# ll -rw-r--r-- 1 nfsnobody nfsnobody 7 Aug 31 10:56 test.txt [[email protected] mnt]# cd /data [[email protected] data]# cat test.txt momoda
客戶端
- 檢查NFS RPC服務軟體有沒有安裝
rpm -qa|grep nfs rpm -qa|grep rpc
*安裝nfs與rpc服務軟體
yum install -y nfs-utils rpcbind
- 檢測是否存在共享目錄,進行共享目錄掛載
showmount -e 172.16.1.31 mount -t nfs 172.16.1.31:/data /mnt df -h
說明:進行檔案建立或刪除測試
NFS拓展
指定NFS客戶端地址的配置詳細說明
客戶端地址 | 具體地址 | 說明 |
---|---|---|
授權單一客戶端訪問NFS | 10.0.0.30 | 一般情況,生產環境中國此配置不多 |
授權整個網段訪問NFS | 10.0.0.0/24 | 期中的/24等同於255.255.255.0,指定網段為生產環境中最常見的配置,配置簡單,維護方便 |
授權整個網段課訪問NFS | 10.0.0.* | 指定網段的另外寫法(不推薦) |
授權某個域名客戶端訪問 | nfs.lcx.com | 此方法生產環境一般情況不常用 |
授權整個域名客戶端訪問 | *.lcx.com | 此方法生產環境不常用 |
企業生產場景NFS配置例項
常用格式說明 | 要共享的目錄,客戶端的ip或ip段 |
---|---|
配置一 | /data 10.0.0.0/24(rw,sync)說明:允許客戶端讀寫,並且資料同步寫入到服務端的硬碟中 |
配置二 | /data 10.0.0.0/24(rw,sync,all_squash,anonuld=2000,anongid=2000)允許客戶端讀寫,並且資料同步寫到服務端的磁盤裡,並且指定客戶端的使用者UID和GID。早起生產環境的一種配置,適合多客戶端共享一個NFS服務單目錄,如果所有伺服器的nfsnobody賬戶UID都是65534,則本例沒什麼必要。早起(centos5.5)的系統預設情況下nfsnobody的UID不一定是65534,此時如果這些伺服器共享一個NFS目錄,就會出現訪問許可權問題 |
配置三 | /home/lcx 10.0.0.0/24(ro)只讀共享:例如生產環境中,開發人員有檢視生產伺服器日誌的需求,但又不希望給開發人員其他許可權,那麼就可以給開發提供從某個測試伺服器NFS客戶端上檢視某個生產伺服器的日誌目錄的許可權,當然這不是唯一的方法,例如可以吧程式記錄的日誌傳送到測試伺服器供開發檢視或者通過收集日誌等其他方式呈現 |