文件共享系统 php,centos6.5 64位下搭建nfs文件共享系统

一、环境介绍:

服务器:centos 192.168.204.136

客户端:centos 192.168.204.135

二、安装nfs服务器和rpcbind:

yum -y install nfs-utils rpcbind

早期版本 rpcbind 需改成 portmap

三、服务器端配置:

1、创建共享目录:

mkdir /var/ftp/

2、NFS文件配置:

vi /etc/exports

#增加一行(参数参考底部其他):

/var/ftp/ 192.168.204.135(rw,all_squash,sync)

使配置生效:

exportfs -r

一般站点是用来共享图片,所以最好加上用户id和组id(一般都是www用户)

/var/ftp 192.168.204.135(rw,all_squash,anonuid=502,anongid=502)

如果服务没起来(注意先后顺序):

service rpcbind start

service nfs start

四、客户端处理:

yum -y install nfs-utils

mount -t nfs 192.168.204.136:/var/ftp /usr/local/test

挂载失败?关闭服务器的防火墙,成功。

mount查看,即可看到挂载的文件

创建文件,两边即可同时查看。如果权限不足,先给服务器共享目录777权限。

这样就搭建完了,但很显然是不够的。优化:

一、服务器

a、自启动rpcbind和nfs

chkconfig rpcbind on

chkconfig nfs on

b、固定端口(服务器不允许关闭防火墙)

nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad5个服务,nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111。其他的3个服务是用的随机端口,那就需要先把这3个服务的端口设置成固定的。

1、rpcinfo -p

把剩下的三个服务的端口随便选择一个记录下来

mountd  46750

rquotad  875

nlockmgr  47266

2、修改nfs配置文件

vim /etc/sysconfig/nfs

# Port rquotad should listen on.

RQUOTAD_PORT=875

# TCP port rpc.lockd should listen on.

LOCKD_TCPPORT=46997

# UDP port rpc.lockd should listen on.

LOCKD_UDPPORT=47266

# Port rpc.mountd should listen on.

MOUNTD_PORT=46750

3、防火墙开放对应的端口

vim /etc/sysconfig/iptables

-A INPUT -p tcp -m multiport --dport 111,2049,875,46997,47266 -j ACCEPT

二、客户端

设置开机挂载

vim /etc/fstab

#加入下面这句

192.168.204.136:/var/ftp /usr/local/test nfs defaults,soft,intr 0 0

#Nfs是类型

#soft参数是为了向用户输出错误信息

#intr参数为了解决当网络出现故障时,我们可以通过按下ctrl+c组合键来终止操作

其他:

1、nfs参数详解

ro                      只读访问

rw                      读写访问

sync                    所有数据在请求时写入共享(资料同步写入到内存与硬盘中)

async                   NFS在写入数据前可以相应请求(资料会先暂存于内存中,而非直接写入硬盘)

secure                  NFS通过1024以下的安全TCP/IP端口发送

insecure                NFS通过1024以上的端口发送(允许从这台机器过来的非授权访问)

wdelay                  如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide                    在NFS共享目录中不共享其子目录

no_hide                 共享NFS目录的子目录

subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check        和上面相对,不检查父目录权限

all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash           保留共享文件的UID和GID(默认)

root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squash           root用户具有根目录的完全管理访问权限

anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID

2、如果觉得默认文件权限较低(644)

可以修改unmask的配置(默认022)

/etc/profile

3、参考:

http://www.lvtao.net/server/centos-nfs.html

http://www.j3j5.com/post-28.html

http://www.linuxidc.com/Linux/2013-05/84777.htm

有问题请留言~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值