搭建NFS Server

Kubetrain K8S在线直播培训,内推机会 不满意可无条件退款 现在就去广告

#背景

Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将 Pod 分配到该节点上。在这种情况下,Pod 中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当 Pod 出现故障,Kubernetes 重新调度之后,Pod 所在的新节点上,并不存在上一次 Pod 运行时所在节点上的数据。

为了使 Pod 在任何节点上都能够使用同一份持久化存储数据,我们需要使用网络存储的解决方案为 Pod 提供 数据卷。常用的网络存储方案有:NFS/cephfs/glusterfs。

本文介绍一种使用 centos 搭建 nfs 服务器的方法。此方法仅用于测试目的,请根据您生产环境的实际情况,选择合适的 NFS 服务。

#配置要求

  • 两台 linux 服务器,centos 7

    • 一台用作 nfs server
    • 另一台用作 nfs 客户端

#配置NFS服务器

TIP

本章节中所有命令都以 root 身份执行

  • 执行以下命令安装 nfs 服务器所需的软件包

    yum install -y nfs-utils
    已复制到剪贴板!
    1
  • 执行命令 vim /etc/exports,创建 exports 文件,文件内容如下:
    /root/nfs_root/ *(insecure,rw,sync,no_root_squash)
    已复制到剪贴板!
    1
  • 执行以下命令,启动 nfs 服务
    # 创建共享目录,如果要使用自己的目录,请替换本文档中所有的 /root/nfs_root/
    mkdir /root/nfs_root systemctl enable rpcbind
    systemctl enable nfs-server systemctl start rpcbind
    systemctl start nfs-server
    exportfs -r
    已复制到剪贴板!
    1
    2
    3
    4
    5
    6
    7
    8
    9
  • 检查配置是否生效
    exportfs
    # 输出结果如下所示
    /root/nfs_root /root/nfs_root
    已复制到剪贴板!
    1
    2
    3

#在客户端测试nfs

TIP

本章节中所有命令都以 root 身份执行

  • 执行以下命令安装 nfs 客户端所需的软件包

    yum install -y nfs-utils
    已复制到剪贴板!
    1
  • 执行以下命令检查 nfs 服务器端是否有设置共享目录

    # showmount -e $(nfs服务器的IP)
    showmount -e 172.17.216.82
    # 输出结果如下所示
    Export list for 172.17.216.82:
    /root/nfs_root *
    已复制到剪贴板!
    1
    2
    3
    4
    5
  • 执行以下命令挂载 nfs 服务器上的共享目录到本机路径 /root/nfsmount

    mkdir /root/nfsmount
    # mount -t nfs $(nfs服务器的IP):/root/nfs_root /root/nfsmount
    mount -t nfs 172.17.216.82:/root/nfs_root /root/nfsmount
    # 写入一个测试文件
    echo "hello nfs server" > /root/nfsmount/test.txt
    已复制到剪贴板!
    1
    2
    3
    4
    5
  • 在 nfs 服务器上执行以下命令,验证文件写入成功

    cat /root/nfs_root/test.txt
    已复制到剪贴板!
    1

#在Kuboard中创建 NFS 存储类

搭建NFS Server的更多相关文章

  1. NFS Server搭建实践

    NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能够彼此分享个 ...

  2. 使用docker搭建nfs实现容器间共享文件

    首先介绍下今天的两个主角:nfs和docker nfs 是什么 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TC ...

  3. Ubuntu 12.04.2搭建nfs服务器

    1.安装nfs 服务器(192.168.0.1) apt-get install nfs-kernel-server 2.修改nfs配置文件: vim /etc/exports 在exports文件中 ...

  4. windows nfs server for linux

    摘要 在开发嵌入式系统的过程中,为了方便调试与文件共享,需要使用到nfs,即网络文件系统,这位板子的调试测试带来了很大的方便.之前在linux系统下开发,与ARM11核心板 linux系统对接共享也比 ...

  5. Ubuntu搭建NFS服务器,NFS协议详细分析

    目录 1. Ubuntu搭建NFS服务器 2. NFS协议分析 2.1 实验拓扑: 2.2 在kali抓包分析 1. Ubuntu搭建NFS服务器 ​ NFS(Network FileSystem,网 ...

  6. 【云计算】使用docker搭建nfs实现容器间共享文件

    首先介绍下今天的两个主角:nfs和docker nfs 是什么 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TC ...

  7. Linux 搭建NFS文件服务器实现文件共享

    我们接着玩Linux,O(∩_∩)O哈哈~ 1.什么是nfs NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP ...

  8. Linux搭建NFS服务

    一.NFS服务简单介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中, ...

  9. NFS文件系统及搭建NFS共享服务

    一.什么是文件系统? 文件系统是对一个存储设备上的数据和元数据进行组织的一种机制.文件系统是在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区上组织文件方式方法,常见文件系统如ext2.ext3. ...

随机推荐

  1. CSS选择器使用

    今天要对CSS选择器的使用方法做一个全面的总结(几乎全部是从这篇文章摘抄的 https://blog.csdn.net/qq_39241986/article/details/82185697) CS ...

  2. HttPclient 以post方式发送json

    使用HttpClient 以POST的形式发送json字符串 步骤: 1.url .parameters 2.创建httpClient对象 3.创建HttpPost对象 4.为post对象设置参数 5 ...

  3. centos7 升级系统后,启动界面出现多个选项

    需要删除多余内核 yum list kernel.x86_64 出现多个 执行yum remove kernel-3.10.0-957.10.1.e17.x86_64,会提示找不到对应的包 我也不知道 ...

  4. HotSpot的启动过程

    HotSpot通常会通过java.exe或javaw.exe来调用/jdk/src/share/bin/main.c文件中的main()函数来启动虚拟机,使用Eclipse进行调试时,也会调用到这个入 ...

  5. Ants,小小思维题。

    题目链接 题意: 蚂蚁在一个杆子上行走,每个蚂蚁有开始的位置,且速度都是1,如果蚂蚁“相撞”就会各自回头,以原速度继续行走,走到杆子边上就会掉下去,请问最快都掉下去的时间和最慢都掉下去的时间. 题目分 ...

  6. 一文了解HAProxy主要特性

    本文转自Rancher Labs 在Kubernetes中,Ingress对象定义了一些路由规则,这些规则规定如何将一个客户端请求路由到指定服务,该服务运行在你的集群中.这些规则可以考虑到输入的HTT ...

  7. 深克隆(deepclone)

    1.简单版: <script type="text/javascript"> const newObj = JSON.parse(JSON.stringify(oldO ...

  8. shell专题(十):Shell工具(重点)

    10.1 cut cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的.cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段输出. 1.基本用法 cut [选项参数]  fi ...

  9. java 面向对象(十一):关键字:package/import

    1.1 使用说明: * 1.为了更好的实现项目中类的管理,提供包的概念 * 2.使用package声明类或接口所属的包,声明在源文件的首行 * 3.包,属于标识符,遵循标识符的命名规则.规范(xxxy ...

  10. redis(十九):Redis 架构模式,特点

    单机版 特点:简单 问题: 1.内存容量有限 2.处理能力有限 3.无法高可用. 主从复制 Redis 的复制(replication)功能允许用户根据一个 Redis 服务器来创建任意多个该服务器的 ...