1.搭建NFS环境,用于存储数据

Posted gytangyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.搭建NFS环境,用于存储数据相关的知识,希望对你有一定的参考价值。

作者

微信:tangy8080
电子邮箱:914661180@qq.com
更新时间:2019-06-12 14:59:50 星期三

欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程中的编写的文章
如您在阅读过程中发现文章错误,可添加我的微信 tangy8080 进行反馈.感谢您的支持。
技术图片

文章主题

搭建NFS服务器,用于存储ElasticSearch的数据.

前置条件

  • 有一个可用的K8s集群
  • 已经部署好了Helm

正文

为什么需要NFS

由于pod是可变的,这意味这如果把es的数据放在pod中,一旦Pod出现问题或者销毁等可能会造成数据丢失.所以我们需要选择一个安全的地方来存放数据
另外 本次部署ES时是基于master-data结构的,我们并不知道任务会被那个工作节点执行(由k8s调度),也不能直接映射到pod对应的物理主机上的某个目录
所以这里选择网络文件系统nfs

安装NFS服务

请根据自己的主机性能情况,磁盘容量等因素选择一个主机来作为NFS服务器.

  • 安装nfs服务
#使用yum来安装nfs-utils,nfs-utils依赖rpcbind.会被自动安装
yum -y install nfs-utils

#解决ipv6没开启导致的服务无法启动的问题
find /etc/ -name '*rpcbind.socket*'

vim /etc/systemd/system/sockets.target.wants/rpcbind.socket

[Unit]
Description=RPCbind Server Activation Socket
[Socket]
ListenStream=/var/run/rpcbind.sock
# RPC netconfig can't handle ipv6/ipv4 dual sockets
BindIPv6Only=ipv6-only
ListenStream=0.0.0.0:111
ListenDatagram=0.0.0.0:111
#ListenStream=[::]:111
#ListenDatagram=[::]:111
[Install]
WantedBy=sockets.target
  • 配置服务开机运行
#设置开机启动rpcbind和nfs服务
systemctl enable rpcbind.service &&systemctl start rpcbind.service
systemctl enable nfs.service &&systemctl start nfs.service
  • 配置共享目录
#创建共享目录
mkdir -p /usr/share/k8s
#按需设定目录权限
chmod -R 666 /usr/share/k8s
#更改共享设置
vi /etc/exports
/usr/share/k8s *(insecure,rw,no_root_squash) 
测试Nfs服务是否正常
  • 选择另外一台主机进行测试
#安装nfs-utils用于测试
yum -y install nfs-utils
#查看Nfs主机上的共享
showmount -e 192.168.161.180
Export list for 192.168.161.180:
/usr/share/k8s *

#尝试挂载
mount -t nfs 192.168.161.180:/usr/share/k8s /usr/share/k8s

#查看是否挂载成功
df -Th

参考链接

https://www.cnblogs.com/st-jun/p/7742560.html

以上是关于1.搭建NFS环境,用于存储数据的主要内容,如果未能解决你的问题,请参考以下文章

在Windows上自建nfs,性能比较差,这个怎么办?

搭建NFS环境

k8s的数据存储

⚡超容易的NFS存储服务搭建流程⚡

NFS存储高可用快速实施方案

Redhat6.5中搭建NFS共享存储服务