博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Network File System
阅读量:7044 次
发布时间:2019-06-28

本文共 3547 字,大约阅读时间需要 11 分钟。

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

Local Procedure Call为开发带来的不便

Remote Procedure Call的引入

Network File System

NFS在LAMP架构下的应用

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

Local Procedure Call为开发带来的不便

本地两个进程或进程和内核之间调用函数完成某种功能的过程叫做本地过程调用。

Remote Procedure Call的引入

远程过程调用,不同主机上的两个进程直接依赖于二进制协议通信,它是编程技术及协议,简化分布式应用程序的开发,它一种开发框架,在这种框架下,程序员开发程序无需再考虑网络报文的封装,有RPC底层机制负责完成,RPC本身只是一种协议,它的实现是Portmap。

Network File System

一、NFS简介

和ext3、ext2等一样,也位于内核空间作为内核模块工作的,它基于RPC基础实现,不同主机上的两个进程直接依赖于二进制协议通信,它可以让远程文件系统挂载到本地一个目录。nfs-utils是NFS的安装包,包含了三个主进程:

nfsd (文件传输主进程) 固定端口为TCP/UDP 2049端口

mountd (接收客户端挂载请求) 动态向portmap注册端口

quotad (磁盘配额进程) 动态向portmap注册端口

/etc/exports 主配置文件

注意:由于nfs是基于RCP协议实现,所以请确保portmap服务开启

二、NFS工作机制

三、NFS使用方法

文件系统导出属性

1
2
3
4
5
6
7
8
ro                 只读
rw                 读写
sync               
同步
async              异步
root_squach        将root用户映射为来宾账号
no_root_squach     非常不安全,客户端管理员此时等于服务器端管理员权限。
all_squash         把用户全部映射为来宾用户,最安全
anonuid,anongid    指定映射的来宾账号UID和GID

简单的通过映射用户ID来标识文件属主和属组,客户端只要有用户ID号跟服务器端一样,就可以具有相应权限,相当不安全,因此通常可以把一个目录或文件锁定为一个服务器端能控制的用户,而所有用户的权限等于此用户的权限,例如:

1
2
3
4
5
6
7
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

客户端重新挂载并看结果

showmount命令

1
2
3
4
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命令(无需重启服务让配置文件生效)

1
2
3
4
5
6
-a
-r    重新导出
-u    取消导出
-
v    
显示过程
-arv  重新导出配置文件内容
-auv  (取消所有导出文件系统)

开机自动挂载

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

让mountd和quotad等进程监听在固定端口

1
2
3
4
5
vim   
/etc/sysconfig/nfs
MOUNTD_PORT=892
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769

NFS在LAMP架构下的应用

一、NFS服务器端

部署LAMP平台

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
##########################安装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/attachment/data/attachment/album/data/attachment/forum/data/attachment/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/

启动NFS服务

1
2
3
4
5
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客户端

1
2
3
4
5
6
7
8
###########################安装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客户端)

客户端使用浏览器访问192.168.1.230(NFS服务端)

本文转自 ftmoonfans  51CTO博客,原文链接:http://blog.51cto.com/soulboy/1291982

转载地址:http://uzeal.baihongyu.com/

你可能感兴趣的文章
太阳黑子
查看>>
git log
查看>>
Spring Boot 系列博客
查看>>
sketch设计手机端页面,重构注意事项
查看>>
吴颖二:午评 12.29 年月周收官就在今日最后一个交易日
查看>>
Permission denied Command PhaseScriptExecution failed with a nonzero exit code
查看>>
Swift 实现iOS文字转语音
查看>>
Android Studio / IntelliJ IDEA 中使用lombok
查看>>
Swift枚举的全用法
查看>>
开源一个Odoo钉钉集成模块
查看>>
vim 一键运行 node中.js文件
查看>>
6月第5周业务风控关注 | 《网络安全等级保护条例(征求意见稿)》本周正式发布...
查看>>
云端Linux成为两大挖矿黑客集团的战场
查看>>
JavaScript之内存机制
查看>>
SRX 硬件相关
查看>>
vue-cli搭建之[环境变量][path]真解
查看>>
弄懂Android 源码中那些巧妙位运算
查看>>
SQLServer之锁简介
查看>>
个性化推荐哪个好,个性化推荐平台怎么样?
查看>>
微信小程序实现两边小中间大的轮播效果的示例代码
查看>>