NFS- CentOS7安装使用NFS服务器

本文详细介绍NFS网络文件系统的原理及配置步骤,包括服务器端与客户端的安装、配置、挂载过程,以及如何实现自动挂载和权限管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1  NFS工作原理

      NFS,network  file  system,网络文件系统,主要用于Linux与Unix系统中共享目录的实现,以及用于存储。采用C/S架构,工作原理:服务器端首先启动RPC(portmap)服务,再启动NFS服务,NFS服务会向RPC服务注册自己使用的通信端口。客户端如果需要连接NFS服务,首先客户端的RPC服务会连接服务器端的RPC服务,询问NFS的工作端口,然后使用客户端的端口向NFS服务端的端口进行连接,建立连接后,实现数据传输。

      现在的NFS服务器还会连接一个源数据服务器,用于存储描述数据的信息,与iNode的作用相类似,客户端存储的数据都会记录在源数据服务器里。

2  配置NFS服务器端 

第一步:安装软件          yum  install  nfs-utils   -y

第二步:创建共享目录      mkdir /mnt/share

第三步:编辑NFS配置文件  vim  /etc/exports,写入:

共享目录    可以访问的客户端(权限)  

注:可以访问的客户端要写IP时加上子网掩码 /**

例1:   /mnt/share              *(rw)

例2:   /mnt/share              192.168.1.1(rw)

例3:   /mnt/share              client(rw,no_root_squash)

第四步:启动RPC服务      systemctl  restart  rpcbind

        启动NFS服务      systemctl  restart  nfs-server

注:每次修改/etc/exports 文件后都要重启NFS服务,systemctl  restart  nfs-server

第五步:查看NFS服务状态         systemctl   status   nfs-server

        查看RPCbind端口状态     netstat  -lantu | grep  111

        查看NFS端口状态         netstat  -lantu | grep  2049

注:查看本机启动的服务所对应的端口     #cat  /etc/services | grep  服务名

3 配置客户端

第一步 安装软件          yum  install  nfs-utils   -y

第二步 创建挂载点        mkdir   /mnt/nfs

第三步 查看服务器端共享出的目录   showmount   -e    服务器IP/主机名

例:  showmount   -e   server

第四步 挂载服务器端共享目录    

mount   -t   nfs   服务器IP/主机名:/服务器共享目录   本地挂载点

例:  mount    -t     nfs     server:/mnt/share     /mnt/nfs

4  NFS配置文件解析

1)共享的目录:必须是目录,不能是文件;如果共享多个目录,每个目录分别写一行即可

2)可以挂载的客户端可写的选项:                

客户端的主机名(该主机名必须能够被解析)           客户端IP地址

指定网段的客户端             指定域内的主机         * 任何客户端

注:使主机名能够被解析  vim  /etc/hosts   在最后添加  IP地址   主机名

例:vim   /etc/hosts

192.168.1.1       自己的主机名(自己的IP写哪个都可以)

192.168.1.2       其他主机名(IP写离自己近的)

以此类推。

3)权限:rw 读写                     ro只读    

          no_root_squash    客户端以服务器端的root用户身份操作共享目录

          sync                    数据立即同步写入内存和硬盘

          async                  数据先写入内存,再写到硬盘

注意:除了在 /etc/exports 中设定的权限外,共享出的share目录本身也具有权限,为了防止目录本身权限对服务配置造成影响,常给共享的目录赋予最大权限 chmod  777  share。

例:让客户端对服务器共享目录有root权限

vim  /etc/exports

/mnt/share                    *(rw,no_root_squash)

5  共享目录的大小

可以将某个指定大小的磁盘或分区挂载到共享目录上,那么共享目录的大小就和这个磁盘或分区的大小一样。

6  客户端自动挂载服务器端的共享目录

(1)开机自动挂载,编辑文件  vim  /etc/fstab,末尾添加:

NFS服务器:共享目录   本地挂载点    文件系统格式   权限  是否备份   是否检查

例1: nfs-server:/mnt/share    /mnt/nfs   nfs   defaults    0    0

例2: 192.168.1.1:/mnt/share   /mnt/nfs   nfs   defaults    0    0

(2)使用autofs实现自动挂载

第一步 安装软件      #yum  install  autofs  -y

第二步 生成配置文件  #cd  /etc/auto.master.d/

        vim   文件名.autofs

内容:   /-    配置文件         //  “/-”代表去查找后面的文件,所有的配置都在文件里

例:    /-      /etc/auto.master.d/f1   //f1是配置文件,放在哪个目录下都行

        vim   f1

内容:  本地挂载点       挂载的权限        服务器共享目录

例:    /mnt/nfs     -type=nfs,rw,sync      192.168.1.1:/mnt/share

注:权限设置要与服务器设置的一样

第三步 启动服务       #systemctl   restart   autofs

第四步 开机自动挂载, #systemctl   enable   autofs

7 举例说明

(1)在server上创建共享目录 /mnt/share,要求只允许client挂载,挂载到 /mnt/nfs。编辑文件  vim  /etc/fstab,设置开机自动挂载,用的是主机名,不能用ip地址。

第一步:ping通了之后,首先更改主机名,hostnamectl  set-hostname  主机名,主机名分别为server,r1,r2,client 。

第二步:然后添加各个主机名的域名解析,vim  /etc/hosts ,里面内容为:主机 IP地址    主机名。本题对sever机设置:192.168.1.1   server  

                            192.168.1.2   r1

                            192.168.2.2   r2

                            192.168.3.2   client

对其他主机的设置以此类推。

第三步:对server机设置如下

安装软件          yum  install  nfs-utils   -y

创建共享目录      mkdir /mnt/share

编辑NFS配置文件  vim  /etc/exports,写入:/mnt/share      client(rw)

启动RPC服务      systemctl  restart  rpcbind

        启动NFS服务      systemctl  restart  nfs-server

查看NFS服务状态         systemctl   status   nfs-server

        查看RPCbind端口状态     netstat  -lantu | grep  111

        查看NFS端口状态         netstat  -lantu | grep  2049

第四步:对客户端设置如下

安装软件          yum  install  nfs-utils   -y

        创建挂载点        mkdir    /mnt/nfs

查看服务器端共享出的目录   showmount   -e    server

        挂载服务器端共享目录  mount  -t   nfs  server:/mnt/share    /mnt/nfs

第五步:客户端设置开机自动挂载共享目录 vim  /etc/fstab

server:/mnt/share     /mnt/nfs     nfs    defaults    0    0

第六步:重启并检验,在server的/mnt/share下echo  hahaha  >  f1;去客户端的/mnt/nfs下查看f1。

(2)在server上创建共享目录 /mnt/share1,在R2上做,要求在共享目录中创建的文件属主属组都是root,且使用autofs开机自动挂载到 /mnt/nfs1 。

第一步 略     第二步 略

第三步:对server机设置如下

安装软件          yum  install  nfs-utils   -y

创建共享目录      mkdir /mnt/share1

编辑NFS配置文件  vim  /etc/exports,写入:/mnt/share1  *(rw,no_root_squash)

启动RPC服务      systemctl  restart  rpcbind

        启动NFS服务      systemctl  restart  nfs-server

查看NFS服务状态         systemctl   status   nfs-server

        查看RPCbind端口状态     netstat  -lantu | grep  111

        查看NFS端口状态         netstat  -lantu | grep  2049

第四步:对客户端设置如下

安装软件          yum  install  nfs-utils   -y

        创建挂载点        mkdir    /mnt/nfs1

查看服务器端共享出的目录   showmount   -e    server

        挂载服务器端共享目录  mount  -t   nfs  server:/mnt/share1    /mnt/nfs1

第五步:客户端设置开机自动挂载共享目录 vim  /etc/fstab

        server:/mnt/share1     /mnt/nfs1     nfs    defaults    0    0

第六步:重启并检验,在server的/mnt/share1下echo  hahaha  >  test;去客户端的/mnt/nfs1下查看test,并且查看test的详细信息 ll ,可以看到属主属组都是root。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值