-
2021-12-15 14:51:02
简单给大家讲解一下FC存储网络的架构,一般来说在运维的过程中,使用存储的时候不会是拿之即用,最起码为了性能的提高、安全性的提高都会围绕着存储做一系列的配置,比如将多块磁盘配置成RAID模式,然后这只是完成了第一步,接下来还要对已经配置好的RAID划LUN,然后再将LUN分配给相应的主机才可以。大体上来说,各家的存储的使用基本上都是这样一个流程。
如果对RAID和LUN有了解,下面的注释略过即可!!!
这里我对上面提到的两个名词做一个简单的说明,首先RAID是独立磁盘冗余阵列的意思,简单的说就是将多块磁盘按照不同的组合方式组合在一起,在逻辑上形成一块“逻辑磁盘”,使得上层应用看到的一块大的“磁盘”而不是多个。如果对这个概念有兴趣,可以看看我的《服务器的RAID》。
LUN是指由硬件层次生成的磁盘,就像上面所说在RAID上进行划LUN。举个简单的例子,我买了一台存储是500G的新电脑,然后我给它分了C盘、D盘各250G.这个C盘、D盘就类似与LUN.再举个例子,比如说我用5块1T的硬盘组成了一个RAID5,那么这个新组成的磁盘组在上层应用来看实际上就是一块“4T的硬盘”,接下来我要把这块大硬盘分给多台服务器使用,怎么办呢?当然是将这个逻辑上“4T”的大硬盘继续划分成一个个小硬盘,比如先划分出一个大小为500G的LUN1给服务器1使用,再划分出一个1T的硬盘分给服务器2使用。
接下来咱们说重点,我在下图中的右半部分画出了后端存储网络架构(前端是连接的服务器) ,上面列出了LUN、控制器、FC接口等信息。但是很多人肯定是看不出它具体的含义在哪里?这个图又说明了什么?
不用担心,我用左边的图举例为大家讲解:左图中描述了一个大仓库的运营方式,首先仓库中分了六个库区,仓管员小李和小王各负责管理三个库区,仓库的粮食进出都是通过东西两个大门,仓管员负责记录出库入库相关数据以及货物的具体存放和取出,各个库区的理货员负责记录自己的货物的存放位置即可。由于存取的货物太多,政府特意在仓库的门口修了一个立交桥,方便大家进出。
在这个例子中,如果仓管员小李突然生病,那么小李手中管理的三个库区也要暂时由小王接管,这就是冗余链路。再看右图,存储中划分出的LUN会被分给不同的主机,形成一条链路:LUN→控制器(位于机头)→FC接口→FC网络交换设备→对应主机(服务器),同理此时如果控制器A故障了,那么主机依旧能通过控制器B访问到LUN1,这就是双控制器的好处。
将仓库的运营方式和FC存储网络架构对照着看,是不是就觉得存储网络很简单了。
更多相关内容 -
MinIO对象存储的网关架构设计
2020-09-07 08:00:00MinIO是一个非常轻量的对象存储服务,它只有一个二进制文件即可运行,快速的构建分布式的对象存储集群,适合存储大容量的非结构化数据,比如图片、日志文件等这些。MinIO除了可以作为对象...MinIO是一个非常轻量的对象存储服务,它只有一个二进制文件即可运行,快速的构建分布式的对象存储集群,适合存储大容量的非结构化数据,比如图片、日志文件等这些。
MinIO除了可以作为对象存储服务外,还可以作为网关,也就说MinIO的后端可以NAS系统、HDFS分布式文件系统或者S3、Google对象存储这样的第三方云存储系统。有了MinIO网关,就可以为Google对象存储这些后端系统添加S3兼容的API,便于管理和移植,因为S3 API已经是对象存储界事实上的标准。
当然MinIO网关不止具备S3兼容API功能,还有其他功能,比如缓存,这篇文章主要介绍MinIO网关的架构设计。
什么是网关
在讲MinIO网关之前,先看下什么是网关,这里我摘录维基百科上的定义:
网关(英语:Gateway)是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关。
是的,对于客户端来说,你完全感知不到你在访问一个网关。从设计模式来讲,网关就像一个外观模式,它封装了下层的各种服务,统一聚合包装后为客户端提供服务;从API上来讲,它是更高级别的API,是面向客户端的API,一般是HTTP协议,而被网关封装的下层服务可能是不同编程语言开发的各种服务,这些服务的协议也可能各不相同。
为什么需要网关
网关的核心是一种转换,比如把RCP协议转为HTTP协议,多个服务聚合一个API,数据格式的转换,统一API风格等等,其目的是更好的为客户端提供服务。如果没有网关,你的客户端就会直面那些底层服务,这些底层服务五花八门,API协议各种各样,风格也各不相同,这对于客户端来说,是非常痛苦的。
因为多了这一层网关,所以它可以做的事情也不止于转换了。你可以在网关这一层做限流、熔断、日志监控、授权等,因为它们都是和具体业务无关的,可以提前放到网关这一层来做,省去了每个底层服务重复做的成本。
MinIO网关
MInIO网关的出现也是类似的原因,它可以让你的旧存储系统可以很方便的具备S3 兼容API,这样你的旧存储系统就不用再多余开发,就有了标准的对象存储API,便于迁移以及使用方入门。
如果你们的旧存储系统是公有云,那么更好,你只需使用MinIO架设一个网关,就可以让你的用户使用S3 兼容的API访问你们的公有云服务了。这样做的好处就是你可以拉来更多的用户,为什么这么说呢?比如以前你去谈客户的时候,客户说你们的云对象存储是便宜,性能也好,但是你们提供的API不是S3 API,导致客户端如果迁移成本很大,那么现在有了MinIO网关,客户简单到只需要换个endpoint就可以了,就可以直接迁移到你们的云存储服务。
除了自建的存储系统外,如果你们以前使用Google对象存储这类第三方对象存储服务,那么也可以使用MinIO作为网关,一来可以统一S3 API,二来可以用MinIO做缓存,减少第三方对象存储的访问,节约成本。
你还可以启动多个MinIO网关代理同一个存储服务,比如共享的NAS系统,这样就可以构建分布式的网关,同时结合缓存功能,提供更强大的并发访问能力。
(MinIO 网关)
以上是MinIO官方的网关示意图,基本上也能看明白MinIO网关的意思。这个图有点旧,目前MinIO支持的网关和图中的不一样,目前支持的网关如下:
AWS S3
Google Cloud Storage
NAS
HDFS
Microsoft Azure Blob Storage
MinIO网关架构图
上面的官方的示意图是基于网络连接的,没有网关的内部实现,我基于MinIO网关的具体实现画了一个架构图,对于了解MinIO的网关会更有帮助。
(MinIO网关架构图)
从以上架构可以看出,从终端发起的S3 API都是通过网关这一层的 S3 API Router提供的,通过S3 API Router统一了后端的API,也就是提供了统一的S3 兼容API。
S3 API Router的具体实现又是通过ObjectLayer这一层实现的,ObjectLayer是个接口,它定义了MinIO对象存储服务针对对象操作的所有API。ObjectLayer接口不止每个具体的网关会实现(比如GCS),MinIO本身作为存储服务器也会实现,这样对于对象的操作通过ObjectLayer接口就统一了(面向接口编程),具体的实现可以定义来实现不同的功能,比如MinIO 单点存储、分布式存储(纠删模式)、各个具体的网关存储,都是接口ObjectLayer的具体实现。
当每个具体的网关( 比如GCS)实现了ObjectLayer接口后,它对于具体后端存储的操作就是通过各个第三方存储SDK实现了。以GCS网关为例,终端通过S3 APi获取存储桶列表,那么最终的实现会通过GCS SDK访问GCS服务获取存储桶列表,然后包装成S3标准的结构返回给终端。
小结
MinIO网关是一个非常好的功能,它为S3 APi成为了事实上的标准也做出了不少贡献。除了MinIO网关的架构设计,它的源代码设计也非常好,可以很容易的添加一个新网关,便于我们进行二次开发,下一篇继续再讲MinIO网关的具体源代码分析实现。
文末推荐下阿里云2G内存40G SSD硬盘的云主机,只要96元/年,预购从速,点击阅读原文直达。
精彩推荐
Golang Gin 实战(十四)| 文件托管、代理百度网站、自实现API网关
Golang Gin 实战(十三)| 中间件详解看这一篇就够了
(扫码关注)
-
基于云存储网关的Veeam备份归档上云方案
2020-04-23 17:44:11前言 面对数据可靠性和合规性要求的不断增长,只备份一份数据已经不能...依托公共云存储的高可靠性和高可用性,用户可以选择将数据直接备份至公共云或者将第二级备份放在公共云上。 用户在面对公共云和传统备份架构...- 前言
面对数据可靠性和合规性要求的不断增长,只备份一份数据已经不能满足用户对于数据可靠性的需求。传统备份厂商的异地备份方案是将用户生产环境里的数据备份至不同机柜或者异地机房来保护数据,规避单机房存在的机柜或机房断电断网等问题。公共云的出现改变了整个备份的架构和方案。依托公共云存储的高可靠性和高可用性,用户可以选择将数据直接备份至公共云或者将第二级备份放在公共云上。
用户在面对公共云和传统备份架构时,该如何选择呢?是继续保留已有的备份架构和方案,还是使用传统的备份厂商的软件上云,还是直接使用云厂商的备份归档方案上云,或者是传统备份软件与云厂商的产品结合的方案?本文结合Veeam备份软件的使用,一方面来阐述传统备份软件是如何与阿里云云存储网关产品结合,将用户数据备份上云的,另一方面也试着给出一些想法和建议,用于指导用户结合自身的情况做选择。
- 基于云存储网关两种部署方式的Veeam备份归档上云方案
以下是基于云存储网关的Veeam备份归档上云方案架构图。取决于用户机房的实际情况,如果线下备份数据量不大,且线下已经部署了虚拟化平台,如VMware,Hyper-V,KVM虚拟化服务器,可以通过云存储网关镜像部署一个云存储网关实例。如果备份数据量比较大,结合云上服务的弹性,可以直接开通公共云云存储网关的服务来实现。
基于公共云上云存储网关的Veeam备份上云架构图
基于线下部署云存储网关的Veeam备份上云架构图无论哪种模式,备份流程分三部分:Veeam将备份数据备份至本地存储空间;再将历史备份数据分层存储到云存储网关,也可以将本地备份库的数据复制一份到云存储网关上;存储网关再将数据同步至阿里云OSS中。在云上,用户可以设置生命周期(life cycle)策略,来将历史归档数据分层到归档OSS中。当数据需要恢复时,近期数据直接从Veeam本地备份库恢复。如果需要恢复的数据存在云上OSS上,则通过云存储网关的反向同步将归档数据返回给Veeam服务器用于数据恢复。当然,如果本地备份库暂时无法访问,用户也可以直接从云端直接拉回数据来做恢复。对于备份软件的恢复流程而言,用户是可以选择从本地备份库还是在云端备份库来恢复数据的。
后文,会详细描述各部分的部署配置,并完成备份数据上云和模拟数据恢复的过程。
- 云存储网关的线下部署
首先,用户需要登陆阿里云控制台,开通云存储网关服务(https://sgwnew.console.aliyun.com)。需要用户注意一点:用户业务所在的区域需要跟阿里云的服务区尽可能的靠近。比如,在本文中,我们选择的可用区为‘华东1(杭州)’。在创建完网关集群后,用户就可以在网关集群内点击‘创建’去创建云存储网关了。
创建云存储网关页面在给网关命名之后,因为我们需要部署文件网关在本地数据中心,所以选择‘本地数据中心’-‘云存储网关’-‘文件网关’,再点击下一步。
创建云存储网关步骤一:选择类型之后,用户就可以看见针对不同虚拟化平台的线下网关镜像。用户可以根据自己的虚拟化平台类型,来选择合适的镜像来下载并部署。在创建VMware虚机前,需要注意版本信息。云存储网关线下数据中心版,仅支持在6.0及以上版本的vSphere上部署。另外一点需要特别注意的是,部署网关虚机需要在网页版的vCenter vSphere Web Client上进行操作。
创建云存储网关步骤二:下载镜像具体如何在vSphere Web Client部署云存储网关,这里不再赘述。详细请参见在线文档:https://help.aliyun.com/knowledge_detail/54123.html。在部署完成云存储网关的虚机之后,通过‘root/Alibaba#sgw#1030’账号和密码登录,就可以进入网关的控制台。
网关控制台选择语言之后,进入网络配置界面。
网关网络配置输入静态IP地址,子网掩码和网关。
配置静态IP地址配置完网关的IP地址之后,配置网关的DNS信息。
配置DNS在配置IP地址和DNS之后,需要进行网络连通性测试,以确认云存储网关和阿里云之间的网络连通性是满足需求的。
网路连通性测试在连通性测试通过后,会返回如下的测试结果。
网络连通性测试通过下一步,就是配置存储网关系统的时间。
配置系统时间
选择NTP server使用阿里云的NTP服务区:“ntp.aliyun.com”。
配置aliyun NTP server
查看网关系统信息在配置完网关虚拟机的IP地址,DNS和NTP服务器之后,需要回到阿里云控制台。点击“下一步”,控制台会弹出信息,让用户确认网关的IP等信息的配置都完成了。
确认IP设置进行网关的激活。在这个激活的页面,用户需要提供之前配置的网关IP,并设定网关的用户名和密码,用于之后的网关配置和维护。如页面显示的那样,当前浏览器必须能连接到输入的网关IP,网关IP可以是数据中心的内网IP,该IP地址可以无需公网访问。激活流程将会安全的把网关和阿里云账号进行绑定。
网关激活点击“完成”之后,会弹出手机验证的菜单。输入完手机验证码之后,控制台创建网关的工作即完成激活。网关在控制台的状态为“已激活”。这里需要注意一点:激活线下网关需要该用户开通以下2个权限“AliyunHCSSGWFullAccess”和“AliyunOSSFullAccess”。
网关创建成功,待激活激活成功之后,用户就可以通过https://地址>这个URL去访问存储网关的线下控制台了。
云存储网关主界面进入了网关的主界面,剩余的配置只需简单的3步:缓存设置,云资源设置和NFS/CIFS目录设置。与公共云上的云存储网关缓存配置不一样的是线下云存储网关的缓存盘不是来自于ECS的云盘,而是需要用户从ESXi服务器上划分虚拟磁盘。如下图中,给存储网关的虚机添加了一块512GB的虚拟磁盘。
vCenter中给虚机添加虚拟磁盘之后,用户即可返回存储网关的控制台,在“缓存设置”中,点击“创建”就能看到上一步创建的512GB的虚拟磁盘了。如果没有显示任何磁盘,可以点击“取消”,点击“创建”右边的“刷新”按钮。选择该磁盘,点击“确认”完成缓存的设置。
添加缓存盘接下来便是绑定云资源,即将公共云OSS bucket与线下云存储网关绑定。因为线下机房已经有专线,因此我们选择的是“华东1(杭州)内网”。之后,选择预先创建好的bucket “veeam-csg-test”。最后,选择“使用SSL”来保证备份数据从存储网关到公共云OSS的传输过程中都是加密的。
云资源设置进行最后一步创建NFS/SMB目录,因为Veeam支持NFS目录和SMB目录作为备份库,我们这里选择NFS目录作为备份库。需要注意的是在设置云存储网关的模式时需要选择缓存模式;忽略删除选是,因为是备份场景,不希望通过NFS目录的删除去触发云端备份文件的删除;NFSv4优化选是,通过v4挂载来提升NFS性能。其他的保持默认即可。
NFS目录配置创建完成后,即可看到目录的挂载点,在图中是‘172.16.0.57:/veeamcsgtest’。需要记录该地址,因为在后面的Veeam备份库的客户端会用到该挂载点地址。
目录挂载点- Veeam配置及数据备份
接下来,我们到Veeam这边的配置。本次集成方案验证,选择的是Veeam Backup and Replication Enterprise 10。安装和配置的过程这里省略,可以参考Veeam的手册。
Veeam版本在Backup Infrastructure里,可以看到已经有了一个默认的备份库(Default Backup Repository)。可以点击Add Repository来添加网关目录。
Veeam Backup Infrastructure选择Network attached storage来添加网关的NFS目录作为备份库。
Add Backup Repository选择NFS share,即由云存储网关提供。
Network Attached Storage输入新的备份库的名称。
新备份库名称输入之前复制的NFS挂载点路径。Veeam会去连接和挂载该目录。
新备份库共享目录连接完成后,就可以看到云存储网关对应的目录了。可以看到因为设置为缓存模式,容量显示为256TB。256TB只是网关呈现给主机端的一个容量参数,实际上,依托于后端公共云OSS存储,是可以通过云存储网关写入无限的数据。在下面的流量控制(Load Control)里,可以看到默认Veeam是设置了最大并发任务为4个,还可以对读写速度做限流。这里我们保持默认配置。
在高级选项(Advanced)中,我们保持默认,不选择任何选项。
新备份库地址及配置在挂载服务器(Mount Server)页面,保持默认配置即可,即该Veeam Server作为NFS目录的挂载服务器。
新备份库挂载服务器
应用以上备份库的设置。
应用新备份库配置完成配置后,即可在备份库列表中看到新添加的CSG Repo备份库。
备份库列表完成了备份库的添加,接下来,我们将配置一台Windows服务器和一台Linux服务器作为被Veeam备份保护的服务器。它们分别有一块1T的数据盘和500G的数据盘需要做文件备份。
到Inventory页面,选择文件共享(File Shares)之后,选择添加一个文件共享(Add File Share)。在Veeam里,NFS目录,SMB目录,或者是Windows还是Linux服务器,都被归类为文件共享。
Veeam Inventory
在New File Server页面,增加一个台新的Windows服务器。在输入用户名密码以供Veeam去连接该Windows服务器之后,即完成了添加任务。
增加被保护的Windows服务器点击下一步,以完成添加被保护服务器的任务。
应用添加服务器的配置在新的文件共享界面就可以看到刚才被添加的Windows服务器了。点击下一步。
新增文件共享到处理页面,默认的缓存备份库是Veeam服务器本地的备份库。然后再备份IO流控配置,保持默认即可。
文件共享备份处理添加完成之后,就可以在Veeam-File Servers列表里看到新添加的Windows服务器。以相同的方式,添加Linux服务器即可。
文件服务器列表到Veeam界面的文件里,就能看到刚才添加的2台服务器的本地路径。Windows服务器的D盘Archive目录和Linux服务器的archive目录就是这次需要通过Veeam做备份保护的。
文件列表接下来,回到主页,给文件共享创建备份任务。
给文件共享创建备份任务给新的备份任务命名。
备份任务命名将之前加入的Windows和Linux服务器需要备份的目录添加到备份列表中。
添加备份目录在备份存储的页面,选择默认的本地备份库为该备份任务的备份库。关于各个字段的解释,可以参见Veeam官方文档的解释。为了测试方便,我们将设置在本地备份库保留所有文件最新的副本的天数设置为2天;将更长时间的直至3年的版本存储在存储网关上,即通过存储网关上传到公共云OSS上。
备份存储配置
Veeam关于备份存储的解释在高级选项中,有关于访问权限(ACL),压缩,备份文件一致性健康检查,邮件通知及备份前置和后置脚本的支持。如果有需要可以做针对性的配置,可以按照需求来做配置。这里我对文件校验和邮件通知做了设置,以便保证备份数据一致性和及时收到备份任务运行情况的通知。
备份存储的高级选项在Secondary Target不做配置,到备份任务排程页面,定义了周期性的备份任务:每天晚上10点备份;备份失败会重试3次,每次重试会间隔10分钟。下面的备份窗口(Backup Window)的意思是可以配置一个备份窗口,当备份任务在窗口时间内没有完成,该任务就会被自动中止,以免影响源端存储在生产期间的正常性能。
备份任务周期排程勾选‘Run the job when I click Finish’,在完成任务配置后,触发第一次备份任务。
- 完成备份任务配置
取决于第一次备份的数据量大小,任务会处在运行状态。如果备份数据不多,很快就会在过去24小时的备份成功任务列表里看到刚才触发的这次备份。
备份成功任务列表到Veeam备份服务器D盘的Backup目录下,可以看到2台服务器各自目录的备份的内容。
备份库内容在第二天晚上10点,备份再次启动并执行成功。可以看到,备份扫描到了474个新增目录和56022个新增文件,总大小为22.8GB。整个备份花费了3分13秒,备份速度为142MB/s。
备份详情在经过几天的备份,同时做了一些源端文件的删除修改之后,可以看到在Windows服务器和Linux服务器上的目录情况:
- Windows服务器从4月5日开始备份,每天增加1个新的目录,直到4月11日;同时,5日和6日的目录被删除,个别目录内的文件也有被修改或者删除;
- Linux服务器从4月4日开始备份,每天增加1个新的目录,直到4月10日;同时,5日的目录被删除,个别目录内同样有文件被修改或者删除;
- Windows服务器备份目录
- Linux服务器备份目录
再来看下,4月11日晚10点备份任务执行的情况。
备份任务执行详情
当该任务被执行完,可以看到云存储网关备份库里已经被使用了1.3GB的空间。这也就意味着有超过2天的文件变动被备份到了云端保存。这样便实现了,历史备份数据上云的过程。
备份库状态如文章开头提到的那样,备份软件支持二级存储的功能,将备份复制一份到二级存储中。在Veeam的文件备份任务中,可以将云存储网关备份库配置为第二级备份目的。将备份在本地的数据复制另外一份到云存储网关。这样就可以形成本地加云端的两级全量备份体系。
二级备份存储在每次备份完成后,会有另外一个备份复制的任务,将备份库内的数据再复制一份到云存储网关上。通过备份复制任务详情,可以看到数据复制到云存储网关的性能基本稳定在139MB/s左右。
备份服务复制任务详情备份复制完成后,可以看到CSG的使用容量增长很快。
备份库详情在对象存储的bucket里,也看到复制拷贝的被保护的数据。
OSS bucket文件管理列表**- Veeam数据恢复
**
在数据恢复时,Veeam提供了三个选项:恢复整个文件共享将最新版本的所有文件恢复到指定路径;回滚所有文件到之前的某个时间点;针对文件和目录的细粒度文件恢复。
Veeam文件恢复我们选择第二个选项恢复回滚所有文件到某个时间点来模拟病毒感染的场景。可以看到Veeam可以从本地备份库和云端的复制备份库来恢复数据。
回滚文件到某个时间点我们选择从云端复制的备份库来恢复所有数据到4月11日晚11点23分的状态。以Windows服务器为例,可以看到恢复的目录和时间点情况。在此之前,我删除了Windows服务器D盘内的个别目录和文件。
恢复时间点在恢复过程中,Veeam会在比对完文件后,计算出需要恢复的文件和目录列表,再进行恢复。
恢复过程恢复完成后,可以知道整个恢复的数据量和耗时,恢复的性能在40MB/s左右。对比之前写入到存储网关的性能可以看的出来,备份写入的性能可以到139MB/s。差别主要在于,备份写入只要完成对于网关的写入即可,网关上传到云端的时间没有计算在内。而恢复的过程,部分数据从云端备份库先恢复到云存储网关的缓存,再恢复到被保护的Windows服务器上。所以,多了从对象存储到云存储网关的部分。另外,Veeam在备份写入的时候可以设置并发数目,在恢复读取的时候,并发数没有自定义的选项,这也可能是一个原因。但主要还是前面提到的从云端读取到本地是需要时间的。
恢复完成- 总结
通过上面的备份及恢复流程可以看出,Veeam可以将云存储网关创建为备份库,灵活地配置成本地备份库的延展备份库,也可以配置成本地备份库的第二级的复制备份库,从而将最近几天的版本存储在本地,将更长时间的历史数据备份在云端,或者直接复制本地备份到云端形成两份备份数据。这样的备份策略能充分利用本地备份库的性能和云端备份库的弹性和无限空间,增加了数据保护的力度,却降低了备份的整体TCO。
再回到文章开始时提到的问题,Veeam已经支持将公共云存储创建为云端备份库(暂不支持阿里云),可以直接将数据备份到云端,为什么还要通过云储存网关作为桥梁来将备份数据写上云呢?这有两方面原因:
- 备份软件一般是需要购买或升级到新版才能支持备份上云的功能,或者部分软件需要额外的付费许可,升级版本或者购买单独许可的费用远比云存储网关的费用高。
- 不少备份软件还不支持阿里云的公共云存储或者支持不完善,而云存储网关是云原生的服务,可以与阿里云各产品保持最好的兼容性和对接性能。例如,云存储网关可以第一时间支持阿里云对象存储的归档存储功能。
除了兼容性,不同于备份软件的agent模式或者类似的网关模式,云原生最大的特点是对于资源的弹性伸缩和编排。通过云存储网关的控制台用户可以很方便的创建多个共享目录,或者多个存储网关实例,来弹性扩容,支持更多的备份库接入。
这样对用户来说,与公共云结合的新备份模式可以选择兼顾传统备份厂商和云服务商的优势,让专业备份软件做专业的备份,将上云的工作交给云原生的服务来完成。
本文为云栖社区原创内容,未经允许不得转载。
-
物联网网关的架构
2019-07-05 11:57:31物联网解决方案的典型架构通常比大多数企业系统的架构复杂得多。增加物联网系统复杂性的一个主要因素是,数据中心(大多数企业系统的核心)中的后端服务实际上只是更大的物联网图景的...物联网解决方案的典型架构通常比大多数企业系统的架构复杂得多。增加物联网系统复杂性的一个主要因素是,数据中心(大多数企业系统的核心)中的后端服务实际上只是更大的物联网图景的一部分。使用物联网解决方案,我们必须处理大量在现场工作的设备。由于这些设备的性质与Web、台式机甚至移动客户机非常不同,因此我们需要一个中间体系结构,充当现场设备世界和企业数据中心之间的代理。我们需要的是物联网网关。
为什么需要IoT网关
您现在可能想知道:将网关引入您的物联网架构背后的主要原因是什么?让我通过讨论网关架构如何运作的一些最重要的方面来阐明这个问题。
首先,传感器在网络连接方面通常具有非常有限的能力。 您的传感器可能会使用蓝牙低功耗(BLE),就像市场上的大多数信标一样; 您的某些传感器还可能使用ZigBee协议提供连接。 在局域网(LAN),家庭局域网(HAN)或个人局域网(PAN)中还可以找到许多其他协议。 所有这些协议都有一个共同点 - 它们无法直接连接到广域网(WAN)或Internet等大型网络。 您需要一个网关,通过使用WiFi,GSM或其他类型的连接,可以为您的传感器提供与外部网络的单点联系。
请记住,网关不仅仅是将数据从传感器转发到后端服务的转储代理。将传感器收集到的所有信息发送到数据中心在性能和网络利用率方面都是非常无效的。在将信息发送到数据中心之前,需要一个物联网网关对现场信息进行预处理。这种预处理包括消息过滤和聚合。
网关还应充当单个访问点,用于监视操作字段的选定区域。您不需要使用监视软件连接到每个传感器;只监视网关更容易,网关反过来负责从传感器收集所有必要的数据。
体系结构概述
下面的网关体系结构图是最常见的体系结构设计,其中网关本身没有配备传感器。安装在设备上的网关软件负责从传感器收集数据,对数据进行预处理,并将结果发送到数据中心。
请记住,在此传感器体系结构上有可能发生变化,其中一些传感器位于网关设备上,如下图所示。
它可能存在于网关的嵌入式传感器可以包括GPS单元或使用GPIO接口连接到网关的温度传感器等选项。
网关软件
软件应用程序是网关的核心。网关软件负责收集来自传感器的信息,并将其适当存储,直到可以对其进行预处理和发送到数据中心。网关软件决定在给定处理阶段的数据是临时的、持久的保存在内存中的。
网关软件的设计应考虑到故障和灾难恢复。由于网关设备通常在现场操作,因此您应该为不理想的工作条件做好准备。例如,应为断电或可能导致网关处理中断的其他操作准备网关软件。网关软件应在电源恢复后立即自动启动,并从中断点继续工作。
网关软件还应该足够智能,能够正确处理系统日志记录。它必须在存储在设备上的日志条目数和发送到数据中心的日志条目数之间找到正确的平衡。
软件安装和更新
网关软件如何进入设备?这个问题有三种主要的解决方法。
第一种方法是在网关磁盘(或存储卡)上预安装软件。这种方法称为工厂引导程序。正如您可能猜到的,如果您的解决方案包含大量网关,则此技术无法很好地扩展。
第二种方法是服务器启动的引导。在此模式下,中央软件管理服务器与网关设备通信,并向其部署正确版本的软件。这种方法比工厂引导扩展得更好,但是仍然需要在服务器端启动部署操作。
第三种方法是客户端启动的引导程序。此模式假定网关负责连接到中央存储库服务器并下载适当版本的软件。在这种情况下,网关需要安装轻量级引导软件,以便它可以与软件管理服务器通信。此方法是最具可扩展性的方法
物联网网关的一个非常重要的特性是能够通过无线方式下载更新。 请记住,将网关软件安装到设备上并将其交付到现场后,您在网关软件维护方面的功能非常有限。 从安全角度来看,通过无线方式下载软件更新的能力尤其重要,因为它可能会影响关键安全修复程序的交付时间。因为它不需要对部署操作进行任何集中协调。每个网关设备在打开电源后立即下载软件
传感器消费者
如果软件应用程序是网关的核心,那么传感器就是网关的眼睛和耳朵。传感器是可以测量现实世界某些方面的小型硬件设备。传感器收集的常见数据类型有温度、GPS坐标、湿度、气压等。
网关从传感器收集的消息通常很小。 例如,传感器测量的温度的当前值仅为十进制数。 GPS坐标是两个十进制数字,代表经度和纬度。 这是一个需要记住的重要事项:网关对大量的小消息进行操作。
虽然传感器本身可以经常生成消息,但重要的是预测我们真正需要从传感器收集多少消息。例如,我们可以每毫秒读取一个传感器的温度,但在测量温度变化时我们真的需要这种精度吗?在大多数情况下,每秒读取传感器值几次就足够了,因为我们对更长时间内的度量标准更感兴趣。网关软件通常定期轮询传感器数据。良好的网关软件允许您轻松配置每个传感器的轮询间隔。您绝对不希望将不必要的传感器数据放入网关,因为过时的消息会占用受限网关设备的宝贵处理能力。
网关数据传输
通常,网关通过GPS、WiFi或以太网连接到互联网。有些网关还可以在GPS和WiFi模式下工作(例如,安装在移动车辆上的网关)。一般来说,非GPS连接优先于发送数据,因为它不需要付费的移动计划。一些网关将不断地连接到廉价的本地网络,但是那些使用GPS连接的网关在发送到数据中心的数据方面应该非常保守。网关应该对它收集的数据应用业务逻辑,以了解哪些消息应该通过昂贵的GPS网络发送,哪些数据可以缓存在设备上以进行延迟的脱机处理。
总结
网关是每个物联网解决方案的关键组件。在决定要购买哪种硬件作为网关平台之前,请花一些时间分析消息和有效负载的数据格式,并尝试在将数据从网关发送到数据中心之前过滤或聚合尽可能多的数据。此外,虽然为物联网解决方案选择合适的硬件非常重要,但您必须记住,选择合适的网关软件和管理基础设施(如用于管理设备的LWM2M服务器)将对你的总维护成本产生重大影响。
长按订阅更多精彩▼
-
云存储网关和OSSFS的使用体验
2019-09-26 09:27:10最近有需要帮助朋友在阿里云上搭建一套可以用文件接口访问对象存储的基础架构,在阿里云上搜索了一下,发现了阿里云上有两个产品都支持类似的功能- 云存储网关和ossfs。 云存储网关(CSG)是一款帮助客户在现有本地... -
混合云存储阵列与云存储网关的协同解决方案
2020-01-06 11:57:04前言 混合云存储阵列(CSA)于2017年云栖大会发布,上市2年多,已经被基因测序,...云存储网关(CSG)于2019年6月商业化后,在线上和线下(95%是线上客户),也被众多基因测序,传媒影视制作和互联网客户所采用。 ... -
存储双活架构对比分析1.docx
2020-11-10 11:26:53目前主流的存储双活解决方案主要有存储网关双活解决方案和存储阵列双活解决方案两类其中存储阵列双活解决方案又可以分为双读双写的真正双活解决方案和读写一台仅能够做故障切换的伪双活解决方案如下图 -
物联网设备网关系统架构设计
2017-12-26 11:37:46以上就是设备网关架构的Level-1,紧接着我们再更深入的剖析整个架构,进入Level-2。 4、架构演进(level-2) 这部分内容,我们深入到四个角色的内部,窥探其中的结构组成。 1) 设备以及设备群组。... -
自建API网关-架构设计篇
2018-03-28 10:42:05阅读对象传统企业正在做微服务架构转型的开发人员或者架构师,希望本文对您能起到一定的引导作用。API网关介绍网关一词较早出现在网络设备里面,比如两个相互独立的局域网段之间通过路由器或者桥接设备进行通信,这... -
应云而生——对象存储网关GRW的设计
2019-03-03 18:09:10Ceph是个分布式对象系统,具有对象存储的特征,具备存储海量非结构化数据的能力。 Ceph核心模块RADOS是一个基于对象的存储系统,通常情况下应用通过RADOS抽象库librados提供的对象接口访问RADOS集群,但是librados... -
常用基础web架构图及配置
2021-06-24 19:34:00基与LNMP架构的web架构图 web架构基本介绍: 网络:虚拟机模拟外网IP:192.168.200.0/24 内网IP:172.16.2.0/24 NFS备份服务器: -
从Kong到Envoy,网易严选网关架构演进之路
2020-09-14 10:52:43古语有云「一夫当关,万夫莫开」,网易严选网关除了提供丰富的功能满足业务多样性的需求之外,更重要的是保证稳定、可靠和高效,我们的架构演进也是围绕这一核心目标进行。这两年随着严选云原生架构的逐步落地,我们... -
CDN服务技术架构图
2019-06-12 21:58:46为什么80%的码农都做不了架构师?>>> ... -
微服务平台之网关架构与应用
2020-06-04 08:31:00转载本文需注明出处:微信公众号EAWorld,违者必究。前言:API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成... -
个推微服务网关架构实践
2019-03-05 15:46:47因此,在客户端和服务端之间增加一个API网关成为多数微服务架构的必然选择。 在个推的微服务实践中,API网关也起着至关重要的作用。一方面,API网关是个推微服务体系对外的唯一入口;另一方面,API网关中实现了很... -
Spring Cloud 微服务架构图
2018-08-15 11:32:43Spring Cloud 微服务总体架构图 上面图中技术名词理解: 1、Sleuth-链路跟踪 为服务之间调用提供链路追踪。通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们... -
从源代码级别看懂MinIO对象存储网关的实现
2020-10-19 08:00:00我在 《MinIO对象存储的网关架构设计》一文中介绍了MinIO的网关架构设计,它的整体架构如下图所示:MinIO对象存储的网关架构设计从架构图可以很清楚的看到MinIO网关的分层结构,... -
云存储网关应用场景
2018-08-30 13:19:01阿里云云存储网关是一款帮助客户在现有本地应用程序、基础设施和数据存储与阿里云的存储服务之间实现无缝集成的数据服务。通过可在本地和云上部署的兼容行业标准存储协议的虚拟设备,将现有的存储应用程序和工作负载... -
kong网关
2022-02-16 13:23:321. kong网关简介 Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来... -
03百万架构师:微服务网关案例剖析
2021-12-27 19:28:08一、业内常用的系统架构图: 1.未做水平拆分的集中式架构: 2.做了水平拆分的架构: 二、网关的作用: 功能一:请求鉴权 登录鉴权,session无状态化 功能二:数据包完整性验证 定长的业务头:userid、cmd、... -
Spring Cloud 微服务总体架构图
2021-01-21 23:02:15上面图中技术名词理解: 1、Sleuth-链路跟踪 为服务之间调用提供链路追踪。通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们可以很方便的理清各微服务间的调用关系。... -
Ceph对象存储RGW架构及安装实战
2019-05-21 15:52:04Ceph RGW架构简介 我们知道Ceph可以提供块、文件和对象三种形态的存储。而RGW就是提供对象存储的网关,也即对象存储网关。所谓对象存储网关,也...Ceph RGW的整体架构如图1所示,对象存储网关实际上是调用librados... -
Ceph 分布式存储架构解析与工作原理
2019-04-20 23:10:35文章目录目录Ceph 简介Ceph 的架构服务进程架构组件内部构件数据写入 OSD 的 UML 流程数据写入新 Primary OSD 的 UML 流程数据写入 OSD 的调度算法流程OSD 扩容时的 PG 迁移与再均衡 Ceph 简介 Ceph 是一个开源... -
微服务架构图
2019-09-01 15:19:36网上看到两张图,分享一下。 -
图解物联网---物联网的架构
2021-03-10 00:44:55物联网架构1、物联网的作用实现物联网时,物联网服务大体上发挥着两个作用。第一是把从设备收到的数据保存到数据库,并对采集的数据进行分析。第二是向设备发送指令和信息。本章将会为大家介绍如何构建... -
分布式秒杀电商-微服务架构图 上帝视角分析
2021-02-06 14:27:42文章目录一、Nginx集群→API网关二、API网关→服务模块1.Ribbon实现负载均衡2.Sentinel进行熔断降级三、服务模块对请求进行处理四、数据存储解决方案1.存储数据2.消息队列3.全文检索4.OSS云存储五、日志管理六、注册... -
第5篇:K8S功能架构图 以及全景工作流程图 (初识K8S)
2022-04-20 14:56:10本篇博客涉及到的问题: 1、容器需要分为两个部分,这两个部分指的是什么? 本博客已解答 2、K8S的诞生源于”Brog系统”的设计和经验,Brog系统的什么特点是K8S需要继承的?...6、基于k8s的架构组成图,Brog系 -
Ceph实战(一)-分布式存储介绍与原理架构概述
2020-02-08 09:28:02最近工作中有涉及到CEPH相关的内容,所以打算开一个CEPH专栏来进行总结,学习CEPH还有一个重要原因就是我同时要补充kubernetes、rancher专栏必定会涉及到有状态的存储资源抽象(StatefulSet、PV、PVC、StorageClass...