Centos 7 安装NFS实现文件共享

2018-10-23  本文已影响13人  溯水心生

[TOC]

一、NFS介绍

1.介绍

NFS 是Network File System的缩写,即网络文件系统。是一种使用于分散式文件系统的协定,功能是让客户端通过网络访问不同主机上磁盘里的数据,主要用在Linux系统上实现文件共享的一种方法。


NFS文件系统

2.核心原理

NFS使用RPC,即远程过程调用 (Remote ProcedureCall) ,它能使客户端执行其他系统中的程序。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些依赖RPC的传输协议。可以简单理解RPC和NFS的关系:NFS是一个文件系统,而RPC负责信息的传输。

二、文件共享主机安装NFS

1.关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

如果关闭防火墙不安全,则采用开放端口的方式:

[root@nfs_server ~]# firewall-cmd --add-service=nfs --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --add-service=mountd --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --add-service=rpc-bind --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --reload   重新载入配置,使其生效

2.授权共享文件夹的权限

定位到共享的文件夹,执行如下命令

[root@localhost 2018]# chmod 777 fs1

3.把selinux设置为许可模式(或者关闭)

sudo setenforce 0

4.安装NFS所需文件包

在文件共享的的服务器安装NFS文件包,本例文件共享主机为:10.18.33.90

yum install -y nfs-utils  

5.编辑exports文件增加文件共享信息

vim /etc/exports

编辑内容如下:

/var/local/dcm4chee-arc/wildfly/data/fs1/  10.18.33.204(rw,sync,fsid=0)

前面空格前为共享的路径,后面IP为共享的主机
rw表示可读写,ro只读;

sync :同步模式,内存中数据时时写入磁盘;

async :不同步,把内存中数据定期写入磁盘中;

no_root_squash :客户机用root访问该共享文件夹时,不映射root用户,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;

root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;

all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;

anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

fsid=0表示将/home/nfs整个目录包装成根目录,insecure 允许从这台机器过来的非授权访问

6.增加开机自启动

systemctl enable rpcbind.service    
systemctl enable nfs-server.service   

7.开启rpcbind和nfs服务

systemctl start rpcbind.service    
systemctl start nfs-server.service   

确认NFS服务已经启动

rpcinfo -p

返回信息:

  program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  30385  status
    100024    1   tcp  13017  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  36204  nlockmgr
    100021    3   udp  36204  nlockmgr
    100021    4   udp  36204  nlockmgr
    100021    1   tcp  31613  nlockmgr
    100021    3   tcp  31613  nlockmgr
    100021    4   tcp  31613  nlockmgr

三、 在客户机上安装访问client端服务

1.查看共享的nfs信息

本机IP为:10.18.33.204

[root@localhost 2018]# showmount -e 10.18.33.90
Export list for 10.18.33.90:
/var/local/dcm4chee-arc/wildfly/data/fs1 10.18.33.204

2.安装client服务

yum install -y nfs-utils
systemctl enable rpcbind.service
systemctl start rpcbind.service

3.在客户机上新建一个目录,用于挂载到共享主机的共享目录上

新建一个根目录 data

mkdir /data

挂载data目录到共享目录:

mount -t nfs -o nosuid,noexec,nodev,rw 10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data

特殊挂载方式,应对网络不稳定情况

 mount -t nfs -o nosuid,noexec,nodev,rw -o bg,soft,rsize=32768,wsize=32768 10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data   

开机自动挂载
编辑 /etc/fstab

10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data nfs defaults 0 0

保存,或者编辑/etc/rc.d/rc.local 增加如下内容:

mount -t nfs -o nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768 10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data  

挂载完成就可以访问了!

4.卸载目录

通过如下命令来卸载目录:

umount /data
上一篇下一篇

猜你喜欢

热点阅读