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包
[[email protected] ~]# yum install -y nfs-utils rpcbind
# rpcbind的功能是用來通信的,想要實現server端和client端的通信就必須要有rpcbind
(2)[[email protected] ~]# 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)[[email protected] ~]# vim /etc/exports #編輯寫入要共享的目錄
/nfs 192.169.50.200(rw,sync) #也可以寫一個網段如:192.169.50.0/24 括號裏可以寫ro只讀,rw是可讀可寫,sync是同步
註意: 在A機器上(server端),編輯的這個文件目的是把自己的目錄共享給哪個ip或者網段。
(5)啟動rpcbind和nfs服務
[[email protected] ~]# /etc/init.d/rpcbind start #啟動rpcbind服務
[[email protected] ~]# /etc/init.d/nfs start #啟動nfs
註意: 重啟時註意先後順序!
在B機子上
(1)安裝nfs包
[[email protected] ~]# yum -y install nfs-utils
(2)顯示共享目錄
[[email protected] ~]# showmount -e 192.169.50.201 #這個ip是我們的server服務端
Export list for 192.169.50.201:
/nfs 192.169.50.200 #這個是我們服務端共享的目錄和共享給哪臺機器ip
(3)掛載
[[email protected] ~]# mkdir /shiyan
[[email protected] ~]# mount -t nfs 192.169.50.201:/nfs /shiyan
[[email protected] ~]# 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機器上:
[[email protected] ~]# cd /shiyan
[[email protected] shiyan]# touch 1.txt
touch: cannot touch `1.txt‘: Permission denied
#原因是A機器上共享的/nfs目錄默認掛載過來是有一個用戶的, 必然是/nfs共享目錄的權限問題,至少是其他用戶不可寫!
在A機器上:
[[email protected] ~]# ll -d /nfs
drwxr-xr-x 3 root root 4096 Apr 27 07:59 /nfs
#可見共享的這個/nfs目錄的權限是755,除了屬主外,屬組和其他用戶的權限是不可寫的。
解決辦法:
在A機器上:
[[email protected] ~]# cd /nfs
[[email protected] nfs]# chmod 777 .
[[email protected] nfs]# ll -d .
drwxrwxrwx 3 root root 4096 Apr 27 07:59 .
# 將/nfs目錄的權限改為777,任何用戶可讀可寫可執行!
在B機器上:
[[email protected] shiyan]# touch 1.txt
[[email protected] shiyan]# ll
total 16
-rw-r--r-- 1 nfsnobody nfsnobody 0 Apr 27 08:22 1.txt
drwx------ 2 root root 16384 Apr 27 07:59 lost+found
# 這個時候看到新建的1.txt的文件屬主和屬組都是nfsnobody!
這小節遺留問題:這個1.txt的屬主和屬組是否可以指定呢?下節我們接著討論。。
本文出自 “聖騎士控魔之手” 博客,請務必保留此出處http://wutengfei.blog.51cto.com/10942117/1928154
NFS部署及優化(一)