前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >漫谈云存储

漫谈云存储

作者头像
SRE运维实践
发布2019-07-08 12:13:10
9.1K0
发布2019-07-08 12:13:10
举报
文章被收录于专栏:SRE运维实践

序言

IAAS层面的运维,所以总是在云里雾里,你如果懂,那就是云,你如果不懂,那就是晕。。。没做过车的人,总是要晕那么一阵子,坐的多了,就慢慢发现稀松平常了。

最近写的文章,感觉不正经,各种调侃,没有一个总的论点,所以。。。。这篇文章也是,谈谈云存储的时候,再来聊聊其他的一些想法。

云计算

云计算已经遍地开花,各种层面的运维已经漫地都是。。。IAAS层的运维,PAAS层的运维,SAAS层的运维。。。因为做的主要是IAAS,所以谈谈基础设施即服务的相关情况。

云计算,不过是构建各种资源池,例如cpu,内存计算资源池,存储池。。。在用户使用的时候,只需要按需申请即可,从而获得和传统领域中一样的计算能力,存储能力,网络能力。从另外一个方面来说,云计算就是各种不同类型的物理机器的组合的计算能力,存储能力的资源池,和水电一样方便。

公有云,数据中心在别人家手里;私有云,数据中心在自己手里;混合云,核心数据在自己手中,备份或者容灾数据放在共有云中。

云。。。一般由几个部分组成,最重要的弹性计算服务,其实也就是传统上的虚拟机,我要一个VM,但是,在目前的云中,你申请了一个VM,这可能并不是KVM的VM,也有可能是一个docker,懵懂懵懂之中,其实你并不懂。。。VM或者docker仅仅是资源的隔离,所以,并无多大的区分。

还有就是SLB,负载均衡设备,其实在市场上,各种开源组建层出不穷,而提供负载均衡服务,只不过将各种开源软件进行组装而已,例如使用LVS提供四层负载均衡服务,例如使用nginx提供七层负载均衡服务,个人感觉在构建SLB的时候,最难的部门的应该在于构建各种网络,提供一个虚拟的VIP,这种看起来容易,做起来也难,那么。。。你如何构建一个IP的资源池呢?你要如何规划这个IP池子的大小?分为内网IP池和外网IP池。。。你如何构建?

云存储。。。最关键的一部分,各种分布式数据库,分布式文件系统,分布式表格系统,分布式缓存,分布式key-value存储。。。so much more。。。。而当使用所谓的申请虚拟机的时候,是否需要持久化存储,是否需要云存储?数据存储在哪里?分布式存储。。。

云上。。。。最重要的莫过于云存储!!!

云存储

心到处流浪,无处安放总是不好的,所以总要找一个人,寻一座城,进行持久化存储。。。这就是云存储的由来。。。

为啥需要云存储?因为可靠,再也不用纠结于硬盘是做raid5,还是raid10,还是各种。。。因为便宜,在也不用使用什么EMC的高端存储,普通的X86服务器就能胜任。。。

云存储的好处太多,但是在底层基本都是分布式存储,其实云存储也就是分布式存储,只不过进行了一层封装,这就是为什么那么多人需要打扮的花枝招展,不然怎么招蜂引蝶。。。

分布式存储怎么来保证可靠性和可用性呢?副本是保证这些的唯一手段。。。在分布式文件系统上,采用的是副本的方式,这就是为什么结婚就要生孩子的理由?需要分片么。。。数据库的分库分表;而在数据库方面,采用的则是主从复制的结构,垂直拆分,水平拆封,不过扩容起来太麻烦了。

云存储,按需分配,不用像传统行业,在提前预估使用量,采用机器,扩容的时候,安装各种软件,拷贝数据。。。。而在云存储中,将资源利用率达到最高,多租户机制,使用的多,那就申请的多。。。而无须烦恼各种预算,资源的分配,资源的规划。。。规划起来很累很累。。

存储那么多,那么在一个云中,你是使用一个分布式存储还是多个分布式存储呢?在一个云中,提供各种各样的服务,例如虚拟机,例如各种数据库,那么这些底层都存储在一个分布式文件系统中,你是放在一个中还是多个?

一个集群使用一个分布式存储,这样不会依赖于其他的组件,那么问题来了,那么多的分布式存储,我是否需要每个都进行安装,升级的时候每个都要升级,修复bug的是否每个都要手工进行修复,。。。所以,就有了模板的概念,将一个模板应用于多个分布式存储的实例,这样。。。运维起来好简单。

云存储,随着集群的规模越来越大,管理成本是否会上升,运维成本是否会上升,并不会!!!在传统的存储中,随着集群的增大,各种管理成本,人员成本,运维成本都相应的增多。。除了砸钱好像没好的方法。。。团队的扩展性???

所以,云存储一般很好的支持扩展性,增加一台机器,只要几个命令,或许也都是自动进行安装,加入集群,拷贝部分数据,自动进行数据的负载均衡,随着集群的增大,各种成本都不用上升。。。这也就是为什么云越大。。。好处越多,因为,不会增加各种成本,管理的系统和集群可以无限的扩展。。。所谓的线性扩展不正是如此么。。。

在云中。。。需要存储哪些数据?

大数据。。。存储在云存储中。

虚拟机VM的快照备份信息。。。存储在云存储中。

数据库的备份binlog信息。。。存储在云存储中。

所谓的有状态和无状态,其实你的分布式存储做好了,一切都不是问题。。应用发布?删除一个虚拟机再次创建一个,数据不会丢失,一点都不担心所谓的物理机宕机了。。。

所谓的有状态和无状态,这也就是每天晚上很累,第二天睡醒了,又好了,这就是一种无状态的状态。。。这也就是为什么人们总是提到,在工作的时候不要带有情绪,一带有情绪,没准你就存储了这种垃圾数据,然后就要清理数据了。。。

说到清理数据,在分布式存储中,一般是chunkserver来存储数据,那么总是会有几种情况发生。。。这种是叫野chunk么。。。哈哈。。。。

分片一般保留三份,主要是为了选主的时候,能够达成最终一致性。。。这也就是为什么在清理的时候,需要查询几个状态。。。一个是分片数少于期望数,例如我需要三个分片,如果少于三个,那么就是异常的chunk了。。。一个是没有分片数,在分布式存储中,分片数是可用性的唯一保障,那么这种也是异常的chunk。。。最后一个就是只有一个分片数,这种主要就是在进行数据校验的时候,对比各种md5信息,都找不到一个对比的对象。。。所有的异常都需要进行监控。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SRE运维实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档