nfs服务器搭建

一、理论知识

1.NFS概念

       NFS是Network File System(网络文件系统)。
       主要功能是通过网络让不同的服务器之间可以共享文件或者 目录。
       NFS客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将NFS服务器端共享的目录挂载到NFS客户端本地的目录下 。

2.NFS工作原理

         启动RPC服务
         启动NFS服务
         客户端请求NFS服务
          RPC把端口和IP地址给客户端

3.NFS协议

       NFS在文件传送过程中依赖与RPC(远程过程调用)协议。
       NFS本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能。
       只要用到NFS的地方都需要启动RPC服务,不论是NFS的服务端还是客户端

4.NFS端口:

          TCP  111   2049

二、nfs环境搭建
 

1、服务器地址

         服务端 :192.168.26.131   test2

         客户端:192.168.26.133   test4

         客户端:192.168.26.134   test3

2、安装NFS服务器

  2.1、查看是否安装nfs、rpc

            rpm -qa nfs-utils rpcbind

   2.2 、安装nfs、rpc

           yum install rpcbind nfs-utils -y

3、配置NFS服务端

    3.1、创建NFS共享目录

    [root@server ~]# mkdir /data1

    [root@server ~]# chmod -Rf 777 /data1

 

  3.2、NFS服务的主配置文件

    [root@server ~]# vi /etc/exports
    /data1  192.168.26.133/134(rw,sync,root_squash)  #IP可以是网段也可以是客户端的IP地址。
                
 #exports配置常用参数 
 #ro 只读 
 #rw 读写 
 #root_squash    当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
 #no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 
 #all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 
 #sync   同时将数据写入到内存与硬盘中,保证不丢失数据 
 #async  优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

   参数                           说明
    ro                             该共享目录的权限是只读(read-only)
   rw                             该共享目录的权限是可读写(read-write)
   hide                          隐藏文件系统。
   noaccess                  阻止访问这个目录及其子目录
   wdelay                      为合并多次更新而延迟写入磁盘
   no_wdelay                尽可能快地把数据写入磁盘
  sync                           将数据同步写入内存缓冲区与磁盘中(同步模式)
  async                         将数据线暂存在内存缓冲区中,而非直接写入磁盘(非同步模式)
  subtree_check           验证每个被请求的文件都在导出的目录树中
  no_subtree_check     只验证涉及被导出的文件系统的文件请求
  all_squash                 将所有本地和远程账户映射到匿名用户
  root_squash              将根用户及所属组都映射为匿名用户或用户组(nfsnobody),为默认设置
  no_root_squash        将远程根用户当成本地根用户,即不压制root
  anonuid                    为匿名用户账户指定组ID
  anongid                    为匿名用户账户指定用户ID

 

 

 

 

   使配置文件生效:exportfs  -r

 

3.3、启动NFS服务

    第一步:先启动rpc服务
       

[root@server init.d]# service rpcbind start
正在启动 rpcbind:                                         [确定]
[root@server init.d]# service rpcbind status
rpcbind (pid  2041) 正在运行...

注意:

  centos系统在6版本和7版本的命是不同的7版本的命令的守护进程不是init而是systemctl。所以只有7版本的命令是systemctl,但是6版本的是service。

第二步:启动NFS服务

[root@server init.d]# service nfs start
启动 NFS 服务: exportfs: Invalid prefix `134' for 192.168.26.133/134
exportfs: Invalid prefix `134' for 192.168.26.133/134
                                                           [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]
[root@server init.d]# service nfs status
rpc.svcgssd 已停
rpc.mountd (pid 2089) 正在运行...
nfsd (pid 2104 2103 2102 2101 2100 2099 2098 2097) 正在运行...
rpc.rquotad (pid 2085) 正在运行...

  必须要先启动rpc服务,然后再启动NFS服务,如果先启动NFS服务,启动服务时会失败。

3.4、管理共享目录

    使用exportfs命令可以共享、显示或不共享/etc/exports中定义的目录

    语法格式:exportfs 选项 [目录]

选项说明
-a共享或不共享/etc/exports中定义的共享目录,常与r或u一起使用
-r重新共享指定目录
-u不共享指定目录
-o可以指定导出选项(后面所跟的目录可以不是/etc/exports中的目录)
-v查看共享的目录及其导出选项

 

4、客户端挂载

4.1、客户端启动rpcbind、nfs

  •     service rpcbind start

  •     service nfs start

4.2、创建挂载目录: 

mkdir /root/data

4.3、查看服务器抛出的共享目录信息:

     showmount -e 192.168.26.131

[root@localhost data]# showmount -e 192.168.26.131
Export list for 192.168.26.131:
/data1 *

如果显示:rpc mount export: RPC: Unable to receive; errno = No route to host,则需要在服务端关闭防火墙。

4.4、设置挂载

     mount -t nfs 192.168.26.131:/data1 /root/data

为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议:

     mount -t nfs 192.168.26.131:/data1  /root/data  -o proto=tcp -o nolock

挂载成功后即可访问共享的NFS文件系统了。

4.5、卸载已挂在的NFS

        umount  /root/data

4.6、查看挂载目录的信息:

         fuser  -m  -v  /root/data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Linux 中搭建 NFS 服务器需要安装 NFS 相关的软件包,并进行配置。 首先,在服务器端安装 NFS 相关软件包,在 Ubuntu/Debian 系统中可以使用命令: ``` sudo apt-get install nfs-kernel-server ``` 然后,配置 NFS 服务器端的目录,在/etc/exports 中添加需要共享的目录,格式如下: ``` /path/to/shared/folder client1(rw,sync) client2(ro,sync) ``` 最后,启动 NFS 服务并设置开机启动: ``` sudo systemctl start nfs-kernel-server sudo systemctl enable nfs-kernel-server ``` 客户端可以使用 mount 命令来挂载 NFS 共享目录。 ``` mount -t nfs IP:/path/to/shared/folder /path/to/mount ``` 这样就成功搭建了一个NFS服务器。 ### 回答2: ### 回答3: NFS是Network File System的缩写,它是一种分布式文件系统,可以让不同的计算机之间、不同的操作系统之间共享文件。在Linux系统中搭建一个NFS服务器,可以方便地实现文件共享,以提高工作效率和方便管理文件。 下面我们介绍一些关于Linux中NFS服务器搭建的步骤: 1. 安装NFS服务器 可以使用命令行安装软件包。例如在ubuntu上: `sudo apt-get install nfs-kernel-server`。 2. 配置NFS服务器 首先打开/etc/exports文件,添加需要共享的目录。例如:/home/user/share 192.168.0.0/24(rw,sync,no_root_squash) 其中/home/user/share是要共享的目录,192.168.0.0/24是客户端的IP地址,rw表示可读写,sync表示同步写入,no_root_squash表示root用户对该目录具有管理员权限。 最后,重启NFS服务器:`sudo systemctl restart nfs-kernel-server.service` 3. 客户端连接NFS服务器 在客户端上,要连接到NFS服务器,需要安装nfs-common软件包。然后可以通过mount命令连接NFS服务器。 例如:`sudo mount -t nfs 192.168.0.1:/home/user/share /mnt/nfs` 其中192.168.0.1是NFS服务器的IP地址,/home/user/share是要共享的目录,/mnt/nfs是客户端上的挂载点,用于访问共享目录。 4. 验证NFS服务器 在客户端上,可以通过ls命令或者其他文件操作命令来验证NFS服务器是否正常工作。例如,执行`ls /mnt/nfs`命令来查看共享目录中的文件列表。 到此,我们完成了在Linux系统上搭建NFS服务器,实现文件共享的操作。但是需要注意的是,NFS不是一种非常安全的共享方式,因此需要在网络环境下更加注意一些安全策略,以保护数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值