1. 前言

为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合。 产品集成存储经历过几个阶段:

1.单机本机存储。 系统使用本地硬盘存储

2.单网络集中存储。 局域网主机使用同一网络内的磁盘阵列存储单元

3.分布式集群本地存储。 集群节点使用自己本地硬盘存储。

4.分布式集群集中存储。集群节点使用集中存储(其背后可以是单一存储也可以是分布式存储,集中存储相当于一个代理入口)

其中云计算用的最多的是 3,4 这几个。主要适应于网络架构的分布式设计和基本云计算存储,如多机房,多地存储。使用集中存储给运维带来的最大

优势就是核心数据保存,不怕应用崩溃,各种docker容器都可以随时抛弃,重建。不用担心数据问题。

2. Rancher中使用集中存储NFS

Rancher对Docker集群的管理已经是非常方便,默认是没有加载共享存储的,我们这里使用RancherNFS插件来实现一个统一的存储,

当然也可以选择其他的插件,目前官方只有这一个,其他非官方的如CephFS,FastDfs等请自行添加插件或自写插件来实现。在此不做过多解读

点击Rancher应用商店,搜索nfs,找到官方插件并添加

填写主机地址:IP

目录: 建议不要填 / 而是指向NFS服务器存储的一个目录

ON_Remove: Purge: 删除映射目录时会删除NFS远程对应的数据  Retain:不删除远程数据

点“启动”即可 ,Rancher会在各个宿主机上面添加NFS驱动

查看NFS驱动,每个宿主机都已启动完毕

使用NFS:

我们在添加服务的时候, 可以配置下卷  name:/容器对应目录

填  logs:/opt/logs  会对应远程NFS里面 新建的 logs目录

如果填  /logs:/opt/logs  则是常用的卷映射,会写入宿主机本地的/logs目录

驱动填写默认的  rancher-nfs

这样 容器里面读写的文件就直接操作远程Nfs服务器了

查看效果:

启动应用后,容器的日志已经输出到NFS里面了。

用途及注意事项:

主要是针对日志类的,可以统一做日志搜集。

针对于数据持久化的,如MySQL数据  可以 通过映射 mysql/data:/var/lib/mysql  把数据集中存储到NFS上

注意:1. 集中存储要考虑到同时读写的问题,即Lock。 有的程序无法同用一套数据,这时候要考虑到单独读写或放到多个变量子目录

如MySQL无法同时起2个实例读写一套数据。

2. NFS插件还有不完善的地方, 如只能映射目录,无法映射文件 ,我们常用的 -v /nginx.conf:/nginx.conf 就无法使用了。

3. 多NFS服务器配置,无法从UI界面添加, 只能从YML文件来处理。

4. 集中存储一定要考虑速度问题,毕竟网络传输没有本地传输速度快,尽量选择公有云/私有云网络是走光纤通道的。尽量不要跨地域传输,如深圳的使用上海的NFS服务器

5. 尽可能使用可靠性有保障的存储,毕竟服务器,容器神码的都可以丢弃,数据是要绝对安全的。推荐阿里云的NFS服务,可以保障9个9的安全性。

最新文章

  1. C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程
  2. 怎样去除织梦版权信息中的Power by DedeCms
  3. c# DataGridView 的一些属性设置,序号,合并头
  4. CSDN 分糖果算法的思路和求助
  5. User Settings in WPF
  6. SIP学习(实例详解)
  7. Java Servlet Filter(转)
  8. Android中的主题Theme
  9. 疯狂学习java web3(javaScript)
  10. table明明设置了固定值
  11. 企业架构研究总结(37)——TOGAF企业连续体和工具之架构资源库及架构工具的选择
  12. VHDL学习:利用Quartus自带库3步快速完成状态机
  13. Android 6.0出现的init: cannot execve(‘XXX’):Permission denied问题:禁止SELINUX的权限设置
  14. arrow function and bind
  15. python之线程(threading)
  16. 移动端采坑:Position: fixed 在Safari上的Bug
  17. Hadoop基础-Map端链式编程之MapReduce统计TopN示例
  18. html文件中jquery与velocity变量中的$冲突的解决方法
  19. jquery easyui tree异步加载子节点
  20. java对象流与序列化

热门文章

  1. Backbone.js学习之旅(一)
  2. [Linux.NET]在CentOS 7.x中编译方式安装Nginx
  3. ADOBE ACROBAT 去除Explorer右键菜单
  4. CSS网页菜单
  5. 简单易懂的程序语言入门小册子(1):基于文本替换的解释器,lambda演算
  6. Django应用:学习日志网站
  7. Centos7系统下编写systemd脚本设置redis开机自启动
  8. CRM项目之stark组件(1)
  9. JQuery获取touchstart,touchmove,touchend坐标
  10. ROS教程3 ROS自定义msg类型及使用