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使用方法

文件系统导出属性

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

客户端重新挂载并看结果

222108899.png

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架构下的应用

121701931.png

一、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/

005009295.png

005022115.png

005131815.png

005242452.png

启动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客户端)

010809884.png

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

010949429.png




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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值