云计算百科
云计算领域专业知识百科平台

【服务器知识】如何在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. 常见问题排查

权限问题
  • 确保服务器共享目录的权限允许客户端访问(可通过 chmod 或 chown 调整)。
  • 若客户端无法写入,检查服务器端 /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)协议实现。以下是详细步骤:

一、准备工作

  • 确认NAS信息:

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

    • 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
  • 创建本地挂载点:

    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.0或vers=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。

    四、验证挂载

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

  • 五、卸载NAS

    sudo umount /mnt/nas

    六、常见问题

  • 权限不足:

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

    • 对于SMB,尝试指定vers=2.0或vers=3.0。
  • 网络不可达:

    • 检查NAS的IP和防火墙设置(确保NFS/SMB端口开放)。
  • 通过上述步骤,您可以轻松在Linux系统中挂载NAS存储,并根据需求选择手动或自动挂载方式。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 【服务器知识】如何在linux系统上搭建一个nfs
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!