Linux下部署NFS服务 局域网共享文件夹

NFS

一、NFS简介和架构图

  • NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。
  • NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。
  • NFS存储服务器主要用于用户上传的数据,图片音频、等信息

二、NFS适用场景

  • 2.1 NFS 最好是部署在局域网 ,不要在公网上 ;
  • 2.2 NFS 只能在 linux 上使用 (如果想让 windows 和 Linux 之间实现数据共享建议使用 FTP 或者 samba);
  • 2.3 NFS 适合在中小型企业使用

三、服务端配置(IP:192.168.0.215)

  • 检查系统中是否安装 NFS 和 RPC ,并进行安装NFS 和RPC
    [root@NFS ~]# rpm -qa nfs-utils rpcbind
    [root@NFS ~]# yum -y install nfs-utils rpcbind       #使用 yum 安装nfs 和 rpc  
  • 在服务端创建共享目录/data/nfs/
    [root@NFS ~]# mkdir -p /data/nfs/
    [root@NFS ~]# chmod 777 /data/nfs/
    [root@NFS ~]# ll /data/
  • 编辑配置NFS配置文件
    [root@NFS ~]# cat >>/etc/exports< /data/nfs 172.16.1.0/24(rw,sync)
    > EOF
    [root@NFS ~]# cat /etc/exports
    /data/nfs 192.168.0.138/24(rw,sync)
    [root@NFS ~]#

其中:/data/nfs 是服务器端共享的目录
192.168.0.138/24共享目录的客户端ip地址(rw,sync),其中rw代表拥有读写的权限,sync代表数据同步写入NFS服务器端的硬盘中。也可以用async,async是大数据时使用,是先写到缓存区,再写到磁盘里。

    [root@NFS ~]# exportfs -r                           #让配置文件生效 
  • 启动RPC和NFS服务
    service rpcbind start #启动rpc 
    service nfs start #启动nfs 
    service rpcbind status #查看rpc运行状态
    service nfs status #查看nfs运行状态
  • 查看NFS服务是否向rpc注册端口信息,主端口号是:111
    [root@NFS ~]# rpcinfo -p localhost

选项与参数:

-p :针对某 IP (未写则预设为本机) 显示出所有的 port 与 porgram 的信息;
-t :针对某主机的某支程序检查其 TCP 封包所在的软件版本;
-u :针对某主机的某支程序检查其 UDP 封包所在的软件版本;
  • 在NFS设定妥当之后,可以先在服务端自我测试一下是否可以联机!利用 showmount 这个指令来查看!
    [root@NFS ~]# showmount -e localhost
    Export list for localhost:
    /data/nfs 192.168.0.138/24
    [root@NFS ~]# 

选项与参数:

    -a :显示目前主机与客户端的 NFS 联机分享的状态;
    -e :显示某部主机的 /etc/exports 所分享的目录数据。

参数说明:

    #rpcinfo  -p     检查nfs服务是否有注册端口信息
    #showmount -e    检查共享目录信息 

四、客户端配置(IP:192.168.0.138)

  • 查看系统中是否有nfs和rpc
    [root@rsync ~]#  rpm -qa nfs-utils rpcbind
  • 进行安装服务,并启动服务
    [root@rsync ~]# yum -y install nfs-utils rpcbind
    [root@rsync ~]# service rpcbind start #启动rpc 
    [root@rsync ~]# service nfs start #启动nfs 
  • 创建挂载目录
    [root@rsync]# mkdir -p /data/nfs
  • 查看客户端是否可以收到服务端的共享信息
    [root@rsync nfs]# showmount -e 192.168.0.215
    Export list for 192.168.0.215:
    /data/nfs 192.168.0.138/24
    [root@rsync nfs]# 
  • 进行nfs 共享目录的挂载
    mount -t nfs 192.168.0.215:/data/nfs /data/nfs
    [root@localhost nfs]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   50G   23G   28G  45% /
    devtmpfs                 3.8G     0  3.8G   0% /dev
    tmpfs                    3.8G     0  3.8G   0% /dev/shm
    tmpfs                    3.8G  8.9M  3.8G   1% /run
    tmpfs                    3.8G     0  3.8G   0% /sys/fs/cgroup
    /dev/mapper/centos-home  407G  6.0G  401G   2% /home
    /dev/sda1               1014M  147M  868M  15% /boot
    tmpfs                    770M     0  770M   0% /run/user/0
    192.168.0.215:/data/nfs   50G   21G   30G  42% /data/nfs

服务端:

    [root@NFS nfs]# echo "nfs" > test.txt

客户端:

    [root@rsync data]# cat /data/nfs/test.txt
    nfs

你可能感兴趣的:(Linux下部署NFS服务 局域网共享文件夹)