更新时间:2026-01-09 GMT+08:00

ECS创建nfs共享目录

  1. Linux系统
    • CentOS、SUSE、Euler OS、Fedora或OpenSUSE等系统
      1. 配置yum源

        ①在/etc/yum.repos.d目录下创建文件euleros.repo(文件名可随意取,但是必须以“.repo”结尾)。

        ②使用如下命令进入euleros.repo编辑配置信息。

        vi /etc/yum.repos.d/euleros.repo

        Euler 2.0SP3 yum配置信息如下:

        [base] 
        name=EulerOS-2.0SP3 base
        baseurl=http://repo.cloud.com/euler/2.3/os/x86_64/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.cloud.com/euler/2.3/os/RPM-GPG-KEY-EulerOS

        Euler 2.0SP5 yum配置信息如下:

        [base] 
        name=EulerOS-2.0SP5 base
        baseurl=http://repo.cloud.com/euler/2.5/os/x86_64/
        enabled=1
        gpgcheck=1
        gpgkey=http://repo.cloud.com/euler/2.5/os/RPM-GPG-KEY-EulerOS

        参数说明

        name:仓库的名称。

        baseurl:仓库的地址。
        • 使用http协议的网络地址:http://path/to/repo
        • 使用本地仓库地址:file:///path/to/local/repo

        gpgcheck:表示是否进行gpg(GNU Private Guard)校验,以确定RPM包来源的有效性和安全性。gpgcheck设置为1表示进行gpg校验,0表示不进行gpg校验。如果没有这一项,默认是检查的。

        ③保存配置的repo文件。

        ④执行如下命令清理缓存。

        yum clean all
      2. 使用如下命令安装nfs-utils
        yum install nfs-utils
      3. 设置共享文件夹

        打开/etc/exports,比如要把/sharedata目录设置为共享目录,可以填入如下内容:

        /sharedata 192.168.0.0/24(rw,sync,no_root_squash)

        • 上述内容的含义是:把/sharedata这个目录共享给192.168.0.0/24这个子网段的其他服务器。
        • 命令输入完成后,可以执行命令exportfs -v 显示共享的目录,从而判断是否设置成功
      4. 使用如下命令启动nfs服务
        systemctl start rpcbind
        service nfs start
      5. 修改共享目录

        比如需要新增/home/myself/download到共享目录,可以在/etc/exports中新增如下内容。

        /home/myself/download 192.168.0.0/24(rw,sync,no_root_squash)

        然后重启nfs服务。

        service nfs restart

        或者用如下命令,无需重启nfs服务。

        exportfs -rv
      6. 设置rpcbind开机启动(可选)

        如果需要设置rpcbind服务开机启动,可执行如下命令。

        systemctl enable rpcbind
    • Ubuntu系统
      1. 使用如下命令安装nfs-kernel-server
        sudo apt-get update
        sudo apt install nfs-kernel-server
      2. 设置共享文件夹

        打开/etc/exports,比如要把/sharedata目录设置为共享目录,可以填入如下内容。

        /sharedata 192.168.0.0/24(rw,sync,no_root_squash)

        上述内容的含义是:把/sharedata这个目录共享给192.168.0.0/24这个子网段的其他服务器。

      3. 启动nfs服务
        service nfs-kernel-server restart

        命令输入完成后,可以执行命令exportfs -v 显示共享的目录,从而判断是否设置成功。

      4. 修改共享目录

        比如需要新增/home/myself/download到共享目录,可以在/etc/exports中新增如下内容:

        /home/myself/download 192.168.0.0/24(rw,sync,no_root_squash)

        然后重启nfs服务

        service nfs restart

        或者用如下命令,无需重启nfs服务:

        exportfs -rv
  1. Windows系统
  1. 安装nfs server软件

    目前可用的收费软件有:hanewin nfs server,可到对应官网下载。

    免费的有:FreeNFS、winnfsd等,可到sourceforge上下载。

  2. 打开nfs功能
    • 如果是winnfsd,可参考winnfsd github网站
      1. 下载winnfsd并解压,同时在解压后目录中创建一个文件夹“nfs”。
      2. 设置“nfs”文件的共享和读写权限。
        1. 在“nfs”文件单击右键,然后选择“属性”。
        2. 选择“共享”页签,然后单击“共享(S)...”。
        3. 添加“Everyone”用户,然后单击“共享(H)”。
          图1 添加Everyone用户
        4. 选择“安全”页签,在“组或用户名(G)”列表中选择“Everyone”,然后单击“编辑(E)...”。
        5. 在弹出的“安全”设置窗口中,在“组或用户名(G)”列表中选择“Everyone”,在“Everyone的权限(P)”列表中的“允许”勾选框下勾选“读取”和“写入”,最后单击“确定”。
      3. 关闭所有的防火墙,包括“域网络”、“专用网络”和“公用网络”,等使用完后,再打开防火墙。
      4. 进入路由器的虚拟服务器进行端口映射,打开外部网络的端口111、2049及1058。(注意:需要有个外网IP)
      5. 最后执行如下命令即可,更多的命令解释请参考三方网站。
        WinNFSd.exe -addr {你自己的本机IP地址192.168.xxx.xxx} F:\nfs /nfs
    • 如果是hanewin nfs server,可以参考如下步骤。
      1. 以Windows系统管理员身份运行下载好的hanewin nfs server的“.exe”文件。
      2. 安装完成后,打开“NFS Server”文件,选择“Edit > Preferences”。
      3. “NFS”、“Server”和“PortMapper”三个页签下配置保持默认,选择“Exports”页签,单击“Edit exports file”,配置共享目录,配置完成后单击“Save”。

        配置共享目录格式可参考“D:\share -public -name:nfs”:将“share”文件夹权限设置为“public”,同时定义了一个别名“nfs”。

      4. 最后单击“确定”。
      5. 关闭所有的防火墙,包括“域网络”、“专用网络”和“公用网络”,等使用完后,再打开防火墙。

        在Linux系统中执行如下命令挂载目录,验证文件共享是否成功。

        mount -t nfs -o nolock 192.168.xxx.xxx:/nfs /mnt
        • “192.168.xxx.xxx”是windows系统的IP地址。
        • “nfs”是配置共享目录时创建的别名。
        • “/mnt”是指定将远程目录挂载到本地的“/mnt”目录下。