Network File System

#####################################

Local Procedure Call爲開發帶來的不便

Remote Procedure Call的引入

Network File System

NFS在LAMP架構下的應用

#####################################

Local Procedure Call爲開發帶來的不便

本地兩個進程或進程和內核之間調用函數完成某種功能的過程叫做本地過程調用。

202804732.png

Remote Procedure Call的引入

遠程過程調用,不同主機上的兩個進程直接依賴於二進制協議通信,它是編程技術及協議,簡化分佈式應用程序的開發,它一種開發框架,在這種框架下,程序員開發程序無需再考慮網絡報文的封裝,有RPC底層機制負責完成,RPC本身只是一種協議,它的實現是Portmap。

203432517.pngNetwork File System

一、NFS簡介

和ext3、ext2等一樣,也位於內核空間作爲內核模塊工作的,它基於RPC基礎實現,不同主機上的兩個進程直接依賴於二進制協議通信,它可以讓遠程文件系統掛載到本地一個目錄。nfs-utils是NFS的安裝包,包含了三個主進程:

nfsd (文件傳輸主進程) 固定端口爲TCP/UDP 2049端口

mountd (接收客戶端掛載請求) 動態向portmap註冊端口

quotad (磁盤配額進程) 動態向portmap註冊端口

/etc/exports 主配置文件

220006605.png

注意:由於nfs是基於RCP協議實現,所以請確保portmap服務開啓

二、NFS工作機制

204942939.png

三、NFS使用方法

文件系統導出屬性

ro                 只讀
rw                 讀寫
sync               同步
async              異步
root_squach        將root用戶映射爲來賓賬號
no_root_squach     非常不安全,客戶端管理員此時等於服務器端管理員權限。
all_squash         把用戶全部映射爲來賓用戶,最安全
anonuid,anongid    指定映射的來賓賬號UID和GID

簡單的通過映射用戶ID來標識文件屬主和屬組,客戶端只要有用戶ID號跟服務器端一樣,就可以具有相應權限,相當不安全,因此通常可以把一個目錄或文件鎖定爲一個服務器端能控制的用戶,而所有用戶的權限等於此用戶的權限,例如:

NFS服務端
useradd-u 510 nfstest
touch/shared/nfstest
chownnfstest.nfstest /shared/nfstest
vim /etc/exports                          修改主配置文件
/shared192.168.1.0/24(rw,all_squash,anonuid=510,anongid=510)
exportfs -ra

客戶端重新掛載並看結果

222108899.png

showmount命令

mount-t nfs 192.168.1.30:/shared/tmp/nfs    掛載遠程NFS共享目錄至本地
showmount -a 192.168.1.30    顯示NFS服務器所有文件系統掛載情況
showmount -e 192.168.1.30    顯示NFS服務器已被掛在的文件系統和客戶端列表
showmount -d 192.168.1.30    顯示NFS服務器已被掛在的文件系統列表

exportfs命令(無需重啓服務讓配置文件生效)

-a
-r    重新導出
-u    取消導出
-v    顯示過程
-arv  重新導出配置文件內容
-auv  (取消所有導出文件系統)

開機自動掛載

vim /etc/fstab
192.168.1.30:/shared    /tmp/nfs    nfs    defaults,_rnetdev    0    0

讓mountd和quotad等進程監聽在固定端口

vim   /etc/sysconfig/nfs
MOUNTD_PORT=892
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769

NFS在LAMP架構下的應用

121701931.png

一、NFS服務器端

部署LAMP平臺

##########################安裝LAMP##########################
yum installhttpd httpd-develhttpd                安裝httpd
yum installmysql mysql-server mysql-devel mysql  安裝mysql
yum installphp53 php53-mbstring php53-mysqlphp   安裝php
##########################httpd#############################
#AddDefaultCharset UTF-8                          修改字符集
unzip Discuz_X2.5_SC_GBK.zip                      加壓論壇
mvupload/* /var/www/html/                        發佈論壇
service httpd start                               啓動服務
##########################mysql#############################
mysqladmin -uroot -p password 'redhat'            爲數據庫添加密碼
grant all privileges on *.* to root@'%'identified by 'redhat';
                                                  遠程授權root
service mysqld start                               啓動服務
##########################修改權限安裝論壇##################
cd/var/www/html
chmod777 config/ data/ data/cache/data/avatar/data/plugindata/data/download/data/addonmd5/data/template/data/threadcache/data/p_w_upload/data/p_w_upload/album/data/p_w_upload/forum/data/p_w_upload/group/data/log/uc_client/data/cache/uc_server/data/uc_server/data/cache/uc_server/data/avatar/uc_server/data/backup/uc_server/data/logs/uc_server/data/tmp/uc_server/data/view/

005009295.png

005022115.png

005131815.png

005242452.png

啓動NFS服務

service portmap status                            檢測portmap服務
vim /etc/exports                                  修改主配置文件
/var/www/html   192.168.1.240(rw,no_root_squash)
exportfs –ra                                      重新導出目
service nfs start                                 啓動nfs服務

二、NFS客戶端

###########################安裝LAP平臺##########################
yum install httpd httpd-devel                            安裝httpd
yum install php53 php53-mbstring php53-mysql             安裝php
service httpd start                                      啓動服務
##########################NFS客戶端#############################
mount -t nfs 192.168.1.230:/var/www/html /var/www/html   掛載目錄
#AddDefaultCharset UTF-8                                 修改字符集
service httpd start                                      啓動服務

三、測試

客戶端使用瀏覽器訪問192.168.1.240(NFS客戶端)

010809884.png

客戶端使用瀏覽器訪問192.168.1.230(NFS服務端)

010949429.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章