天天看點

NFS部署及優化(一)

NFS部署及優化(一)

一、NFS的基本概念

NFS == network file system 網絡檔案系統

必然通過網絡通信來實作檔案的通路和寫入,是以做這個實驗的話最好有兩台虛拟機

配置:

A:一個192.169.50.201為server端

B:一個192.169.50.200為client端

會有一個server端、一個client端

 #cs這樣的通信形式

允許一個系統在網絡上與他人共享目錄和檔案,通過使用NFS,使用者和程式可以像通路本地的檔案一樣,去通路遠端的檔案,也就是說通過NFS服務,就可以讓這台機器通路遠端的檔案,就好比是通路自己的檔案一樣!

二、常見問題

比如:我們現在有三台機器,A、B、C 他們需要通路同一個目錄,而這個目錄中都是圖檔,傳統的做法是分别将這些圖檔放到A上、B上、C上,如果A上的圖檔發生了改變,那麼需要将這些改變的圖檔分别同步到B上、C上。顯然這樣做是非常的繁瑣,也比較浪費磁盤空間,更浪費帶寬資源。

三、解決辦法:

在A上搭建一個NFS服務,把A上的目錄同時共享給B和C,B和C将A共享的目錄放在自己的本地上,這個動作叫做挂載(跟磁盤挂載一個性質),也就是把A共享的目錄挂載到B和C上。

這時候在使用者看來,A、B、C同時存在一樣的目錄,裡面的檔案也是一樣的,我去改動任何一個機器上的該目錄下的檔案,其他兩個伺服器都會跟着改動,這個就是NFS的優勢。

四、部署NFS

在A機器上

(1)安裝nfs和rpcbind包

[root@shiyanji ~]# yum install -y nfs-utils rpcbind

# rpcbind的功能是用來通信的,想要實作server端和client端的通信就必須要有rpcbind

(2)[root@shiyanji ~]# df -h #目的是檢視選擇下要共享的目錄

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              18G  5.0G   12G  30% /

tmpfs                 947M     0  947M   0% /dev/shm

/dev/sda1             190M   29M  152M  16% /boot

/dev/mapper/vg_nfs-lv_nfs

                      985M  1.3M  932M   1% /nfs

實驗中,我們要做的共享目錄是/nfs。

(3)[root@shiyanji ~]# vim /etc/exports #編輯寫入要共享的目錄

NFS部署及優化(一)

/nfs 192.169.50.200(rw,sync) #也可以寫一個網段如:192.169.50.0/24 括号裡可以寫ro隻讀,rw是可讀可寫,sync是同步

注意: 在A機器上(server端),編輯的這個檔案目的是把自己的目錄共享給哪個ip或者網段。

(5)啟動rpcbind和nfs服務

[root@shiyanji ~]# /etc/init.d/rpcbind start #啟動rpcbind服務

[root@shiyanji ~]# /etc/init.d/nfs start #啟動nfs

注意: 重新開機時注意先後順序!

在B機子上

(1)安裝nfs包

[root@kehuji ~]# yum -y install nfs-utils

(2)顯示共享目錄

[root@kehuji ~]# showmount -e 192.169.50.201 #這個ip是我們的server服務端

Export list for 192.169.50.201:

/nfs 192.169.50.200  #這個是我們服務端共享的目錄和共享給哪台機器ip

(3)挂載

[root@kehuji ~]# mkdir /shiyan

[root@kehuji ~]# mount -t nfs 192.169.50.201:/nfs   /shiyan

[root@kehuji ~]# df -h

Filesystem           Size  Used Avail Use% Mounted on

/dev/sda3             16G  4.9G  9.9G  33% /

tmpfs                504M     0  504M   0% /dev/shm

/dev/sda1            190M   25M  156M  14% /boot

192.169.50.201:/nfs  985M  1.3M  932M   1% /shiyan

權限問題

在B機器上:

[root@kehuji ~]# cd /shiyan

[root@kehuji shiyan]# touch 1.txt

touch: cannot touch `1.txt': Permission denied

#原因是A機器上共享的/nfs目錄預設挂載過來是有一個使用者的, 必然是/nfs共享目錄的權限問題,至少是其他使用者不可寫!

在A機器上:

[root@shiyanji ~]# ll -d /nfs

drwxr-xr-x 3 root root 4096 Apr 27 07:59 /nfs

#可見共享的這個/nfs目錄的權限是755,除了屬主外,屬組和其他使用者的權限是不可寫的。

解決辦法:

[root@shiyanji ~]# cd /nfs

[root@shiyanji nfs]# chmod 777 .

[root@shiyanji nfs]# ll -d .

drwxrwxrwx 3 root root 4096 Apr 27 07:59 .

# 将/nfs目錄的權限改為777,任何使用者可讀可寫可執行!

[root@kehuji shiyan]# ll

total 16

-rw-r--r-- 1 nfsnobody nfsnobody     0 Apr 27 08:22 1.txt

繼續閱讀