欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 【服务器知识】如何在linux系统上搭建一个nfs

【服务器知识】如何在linux系统上搭建一个nfs

2025/2/9 7:00:08 来源:https://blog.csdn.net/wendao76/article/details/145502631  浏览:    关键词:【服务器知识】如何在linux系统上搭建一个nfs

文章目录

    • NFS网络系统搭建
      • **1. 准备工作**
      • **2. 服务器端配置**
        • **(1) 安装 NFS 服务**
        • **(2) 创建共享目录**
        • **(3) 配置共享规则**
        • **(4) 生效配置并启动服务**
        • **(5) 防火墙配置**
      • **3. 客户端配置**
        • **(1) 安装 NFS 客户端工具**
        • **(2) 创建本地挂载点**
        • **(3) 挂载 NFS 共享目录**
        • **(4) 验证挂载**
        • **(5) 设置开机自动挂载**
      • **4. 常见问题排查**
        • **权限问题**
        • **防火墙或网络问题**
        • **挂载失败**
      • **5. 安全建议**
    • NAS挂载
      • **一、准备工作**
      • **二、手动挂载NAS**
        • **方法1:挂载NFS共享**
        • **方法2:挂载SMB/CIFS共享**
      • **三、自动挂载(开机自动挂载)**
        • **NFS自动挂载**
        • **SMB/CIFS自动挂载**
      • **四、验证挂载**
      • **五、卸载NAS**
      • **六、常见问题**

NFS网络系统搭建

在 Linux 系统上搭建 NFS(Network File System)的详细步骤如下:

1. 准备工作

  • 服务器端:提供共享目录的机器。
  • 客户端:访问共享目录的机器。
  • 网络互通:确保服务器和客户端在同一个网络,防火墙允许 NFS 相关流量(默认使用 TCP/UDP 2049 端口)。

2. 服务器端配置

(1) 安装 NFS 服务

根据 Linux 发行版选择安装命令:

  • Ubuntu/Debian

    sudo apt update
    sudo apt install nfs-kernel-server
    
  • CentOS/RHEL

    sudo yum install nfs-utils
    
(2) 创建共享目录

选择一个目录作为共享存储(例如 /data/nfs_share):

sudo mkdir -p /data/nfs_share
sudo chown nobody:nogroup /data/nfs_share  # 设置权限(根据需求调整)
(3) 配置共享规则

编辑 NFS 配置文件 /etc/exports

sudo nano /etc/exports

添加以下内容(示例允许所有客户端读写):

/data/nfs_share *(rw,sync,no_subtree_check,no_root_squash)
  • 参数说明
    • rw:允许读写。
    • sync:同步写入,保证数据一致性。
    • no_subtree_check:禁用子目录检查(提高性能)。
    • no_root_squash:允许客户端 root 用户保留权限(谨慎使用)。
(4) 生效配置并启动服务
sudo exportfs -a  # 应用所有 exports 配置
sudo systemctl start nfs-server  # Ubuntu/Debian
sudo systemctl start nfs         # CentOS/RHEL
sudo systemctl enable nfs-server # 设置开机自启
(5) 防火墙配置

开放 NFS 相关端口(以 firewalld 为例):

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload

3. 客户端配置

(1) 安装 NFS 客户端工具
  • Ubuntu/Debian

    sudo apt install nfs-common
    
  • CentOS/RHEL

    sudo yum install nfs-utils
    
(2) 创建本地挂载点
sudo mkdir -p /mnt/nfs_client
(3) 挂载 NFS 共享目录
sudo mount -t nfs 服务器IP:/data/nfs_share /mnt/nfs_client
(4) 验证挂载

检查挂载是否成功:

df -h | grep nfs

或写入测试文件:

echo "NFS Test" > /mnt/nfs_client/test.txt
(5) 设置开机自动挂载

编辑 /etc/fstab 文件:

sudo nano /etc/fstab

添加以下行:

服务器IP:/data/nfs_share /mnt/nfs_client nfs defaults 0 0

4. 常见问题排查

权限问题
  • 确保服务器共享目录的权限允许客户端访问(可通过 chmodchown 调整)。
  • 若客户端无法写入,检查服务器端 /etc/exports 是否设置了 rw
防火墙或网络问题
  • 使用 rpcinfo -p 服务器IP 检查 NFS 服务是否正常。
  • 在服务器端执行 showmount -e 查看共享目录是否可见。
挂载失败
  • 检查 NFS 服务状态:systemctl status nfs-server
  • 查看日志:tail -f /var/log/messages(CentOS)或 /var/log/syslog(Ubuntu)。

5. 安全建议

  • 限制客户端范围:在 /etc/exports 中指定具体 IP 或网段(如 192.168.1.0/24)。
  • 避免使用 no_root_squash:防止客户端 root 用户拥有服务器 root 权限。
  • 启用 NFSv4:在 /etc/nfs.conf 中设置 vers4.2(性能更好且更安全)。

通过以上步骤,你可以在 Linux 系统上快速搭建并配置 NFS 共享服务。

NAS挂载

在Linux系统中挂载NAS(网络附加存储)通常可以通过NFS(Network File System)或SMB/CIFS(Server Message Block/Common Internet File System)协议实现。以下是详细步骤:

一、准备工作

  1. 确认NAS信息

    • NAS的IP地址(如 192.168.1.100
    • 共享路径(如 /share/data//nas-server/share
    • 访问协议(NFS/SMB)
    • 用户名和密码(如果需要认证)
  2. 安装依赖工具

    • NFS:确保已安装NFS客户端工具:
      sudo apt install nfs-common      # Debian/Ubuntu
      sudo dnf install nfs-utils       # Fedora/CentOS/RHEL
      
    • SMB/CIFS:安装cifs-utils
      sudo apt install cifs-utils      # Debian/Ubuntu
      sudo dnf install cifs-utils      # Fedora/CentOS/RHEL
      
  3. 创建本地挂载点

    sudo mkdir -p /mnt/nas
    

二、手动挂载NAS

方法1:挂载NFS共享
sudo mount -t nfs <NAS_IP>:/<共享路径> /mnt/nas

示例:

sudo mount -t nfs 192.168.1.100:/share/data /mnt/nas
方法2:挂载SMB/CIFS共享
sudo mount -t cifs -o username=<用户名>,password=<密码> //<NAS_IP>/<共享名> /mnt/nas

示例:

sudo mount -t cifs -o username=user1,password=pass123 //192.168.1.100/myshare /mnt/nas

常用选项

  • vers=3.0:指定SMB协议版本(如vers=2.0vers=3.0)。
  • uid=1000:设置挂载后文件的用户所有者。
  • gid=1000:设置挂载后文件的组所有者。
  • file_mode=0777:设置文件权限。
  • dir_mode=0777:设置目录权限。

三、自动挂载(开机自动挂载)

编辑 /etc/fstab 文件,添加挂载配置:

NFS自动挂载
sudo nano /etc/fstab

添加行:

<NAS_IP>:/<共享路径>  /mnt/nas  nfs  defaults,_netdev  0  0
SMB/CIFS自动挂载
//<NAS_IP>/<共享名>  /mnt/nas  cifs  username=<用户名>,password=<密码>,vers=3.0,_netdev  0  0

说明

  • _netdev:确保挂载在网络就绪后进行。
  • 若需隐藏密码,可将凭据保存到文件(如 /etc/smb.creds),并在fstab中使用credentials=/etc/smb.creds

四、验证挂载

  1. 查看已挂载的文件系统:
    df -hT
    
  2. 检查挂载点读写权限:
    touch /mnt/nas/testfile && rm /mnt/nas/testfile
    

五、卸载NAS

sudo umount /mnt/nas

六、常见问题

  1. 权限不足

    • 检查NAS共享的权限设置。
    • 在挂载命令中指定uid/gidfile_mode/dir_mode
  2. 协议版本不匹配

    • 对于SMB,尝试指定vers=2.0vers=3.0
  3. 网络不可达

    • 检查NAS的IP和防火墙设置(确保NFS/SMB端口开放)。

通过上述步骤,您可以轻松在Linux系统中挂载NAS存储,并根据需求选择手动或自动挂载方式。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com