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 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,除了屬主外,屬組和其他用戶的權限是不可寫的。
解決辦法:
在A機器上:
[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,任何用戶可讀可寫可執行!
在B機器上:
[root@kehuji shiyan]# touch 1.txt
[root@kehuji 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的屬主和屬組是否可以指定呢?下節我們接著討論。。
轉載于:https://blog.51cto.com/wutengfei/1928154
總結
以上是生活随笔為你收集整理的NFS部署及优化(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ安装|使用|概念|Gol
- 下一篇: 【踩坑速记】开源日历控件,顺便全面解析开