nfs网络存储配置

本文详细介绍了如何在Linux服务器上配置NFS服务,包括启动rpcbind和nfs-server,设置exports权限,以及在客户端挂载和管理网络共享内存。同时,还介绍了如何实现自动挂载的autofs功能。

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

准备:yum install rpcbind
           yum install nfs-server
           一台服务器:192.168.220.131
           一台客户端:192.168.220.220

服务器:

        先启动rpcbind服务:systemctl restart rpcbind
        在启动nfs-server服务:systemctl restart nfs-server
        进入/etc/exports 文件中配置可以允许那些主机来使用我这共享内存

配置格式:目标   主机(权限)

具体权限请用命令man 5 exports查看

        配置完成之后重新读取配置:exportfs -r
        检查配置:showmount -e
        因为客户端相比较于服务器是别的人,不是root用户,所以在服务端需要将该目录文件权限设置为757,这样客户端才可以正常使用该目录:chmod 757 目录

客户端:
        将网络内存挂载在本地目录上即可正常使用

演示:

        在服务器192.168.220.131上的配置

[root@rhce ~]# systemctl restart rpcbind
[root@rhce ~]# systemctl restart nfs-server
[root@rhce ~]# mkdir /nfs/shared #创建对应目录
[root@rhce ~]# vim /etc/exports
在文件中写入内容/nfs/shared *(rw)
写入后退出 :wq
[root@rhce ~]# exportfs -r    #更新rpc登记表
[root@rhce ~]# showmount -e    #查看rpc登记表
Export list for rhce:
/nfs/shared *
[root@rhce ~]# ll /nfs
total 0
drwxr-xr-x 2 root root 6 Apr 22 15:29 shared    #对于这个目录,其他人的权限为读,执行,不能在这个目录里边添加、删除或修改文件,即客户端的所有用户,包括root用户在内都不能添加、删除、修改任何文件,所以需要修改权限以便可以正常使用这块网络共享内存
[root@rhce ~]# chmod 777 /nfs/shared/

        在客户端192.168.220.220上的配置

[root@localhost ~]# mount 192.168.220.131:/nfs/shared /shared/

之后就可以正常使用该网络共享内存了

使用演示:

        

[root@rhce ~]# ll /nfs/shared/
total 0
以上是服务器在使用之前的目录,什么都没有
接下来到客户端给该目录中添加一个file文件
[root@localhost ~]# cd /shared/
[root@localhost shared]# touch file
[root@localhost shared]# ll
total 0
-rw-r--r--. 1 nobody nobody 0 Apr 22 15:41 file
[root@localhost shared]# 
接下来再到服务器端看一下
[root@rhce ~]# cd /nfs/shared/
[root@rhce shared]# ll
total 0
-rw-r--r-- 1 nobody nobody 0 Apr 22 15:41 file

注:因为是网络共享内存,所以一旦服务器端down掉,那么所有在该内存中的文件都会消失
       

接下来顺着说一个自动挂载(按需挂载)autofs

        首先在客户端安装autofs :yum install autofs -y
        接着在进入/etc/auto.master中写将要自动挂载的位置和挂载信息文件
        vim /etc/auto.master

        接着去写挂载信息文件:vim /etc/auto.localdata

        写完保存并退出
        重启autofs服务:systemctl restart autofs
        最后进行验证        

        上图是自动挂载前的挂载信息
        进入到/localdata中:cd /localdata

        上图是自动挂载前localdata目录的内容
        接着自动挂载一下,只需要我们进入挂载目录即可  
        就会进行自动挂载,下图是自动挂载后的mount信息

### 如何配置 NFS 存储 #### 配置 NFS 服务端 为了使 Kubernetes 集群能够成功访问 NFS 存储,首先需要完成 NFS 服务端的配置。以下是详细的说明: 1. **安装必要的工具包** 在 Linux 节点上安装 `nfs-utils` 工具包以启用 NFS 功能: ```bash yum install nfs-utils -y ``` 2. **创建共享目录并调整权限** 创建一个用于共享的目录,并赋予适当的权限以便客户端可以访问该资源: ```bash mkdir -p /mnt/test chmod 777 /mnt/test ``` 生产环境中应根据实际需求细化权限设置[^3]。 3. **配置 NFS 共享策略** 编辑 `/etc/exports` 文件,定义哪些 IP 地址或网络范围可以挂载此共享目录以及它们拥有的权限级别。例如: ```plaintext /mnt/test *(rw,sync,no_root_squash) ``` 这里 `(rw)` 表示读写权限;`(sync)` 确保数据立即写入磁盘;而 `(no_root_squash)` 则允许 root 用户保持其特权身份。 4. **启动 NFS 服务及相关依赖** 启动 NFS 服务及其相关组件,并将其设为开机自启状态: ```bash systemctl start rpcbind systemctl enable rpcbind systemctl start nfs-server systemctl enable nfs-server exportfs -rav ``` 5. **验证导出配置** 使用命令确认当前系统的导出情况是否正常工作: ```bash showmount -e localhost ``` 6. **安全设置与防火墙规则** 确认防火墙上已经打开了 NFS 所需的关键端口 (TCP 协议下的 2049 和 RPC 的 111),这对于外部节点访问至关重要: ```bash firewall-cmd --add-port=111/tcp --permanent firewall-cmd --add-port=2049/tcp --permanent firewall-cmd --reload ``` #### 配置 NFS 客户端(Kubernetes 中) 对于 Kubernetes 来说,可以通过部署官方推荐的 CSI 插件来简化操作流程。具体步骤如下所示: 1. **引入合适的驱动程序** 基于文档描述,“csi-driver-nfs” 提供了一个容器化解决方案让集群内部的工作负载无缝对接到现有的 NFS 设备之上[^4]。 2. **应用 YAML 清单文件初始化环境** 下面给出了一种典型的 PersistentVolumeClaim(PVC) 结合 StorageClass(SC) 自动供应机制的例子: ```yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: managed-nfs-storage provisioner: cluster.local/nfs-provisioner parameters: archiveOnDelete: "false" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: example-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi storageClassName: managed-nfs-storage ``` 上述代码片段展示了如何利用声明式 API 构建持久化的存储单元[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值