openstack中cinder与swift、glance的区别

2023-11-12

在这里插入图片描述

1.cinder与swift的用途是什么?

cinder是块存储,用来给虚拟机挂扩展硬盘,就是将cinder创建出来的卷,挂到虚拟机里。cinder是OpenStack到F版,将之前在Nova中的部分持久性块存储功能(Nova-Volume)分离了出来,独立为新的组件Cinder。

swift是一个系统,可以上传和下载,里面一般存储的是不经常修改的内容,比如用于存储 VM 镜像、备份和归档以及较小的文件,例如照片和电子邮件消息。更倾向于系统的管理

块存储具有安全可靠、高并发大吞吐量、低时延、规格丰富、简单易用的特点,适用于文件系统、数据库或者其他需要原始块设备的系统软件或应用。

上面说的这些可能不是太直观,个人认为cinder可以理解为个人电脑的移动硬盘,它可以随意格式化,随时存取。
而swift可以当作是网盘,相信对于云技术的同学来说,网盘应该是不陌生的,我们把一些内容统一放在网盘存储,便于管理。

2.Swift 和 Cinder 怎么选择?

那么,应该使用哪一种对象存储:Swift 还是 Cinder?
答案取决于您的应用程序。如果需要运行商用或遗留应用程序,那么很少需要进行这种选择。这些应用程序不可能被编码来利用 Swift API,但您可以轻松挂载一个 Cinder 磁盘,它表现得就像是直接将存储附加到大多数应用程序。
当然,您还可以对新应用程序使用 Cinder,但是不会从 Swift 自动附带的弹性和冗余中获益。如果编程人员面对这样的挑战,那么 Swift 的分布式可扩展架构是一个值得考虑的特性。

3.单点故障

Swift 架构是分布式的,可防止所有单点故障和进行水平扩展。
cinder存在单点故障还未解决


简单介绍一下Cinder和Swift

块存储 (Cinder)

Cinder 是 OpenStack Block Storage 的项目名称;它为虚拟机 (VM) 提供了持久块存储。对于可扩展的文件系统、最大性能、与企业存储服务的集成以及需要访问原生块级存储的应用程序而言,块存储通常是必需的。
系统可以暴露并连接设备,随后管理服务器的创建、附加到服务器和从服务器分离。应用程序编程接口 (API) 也有助于加强快照管理,这种管理可以备份大量块存储。

Cinder的API文档页面请参考这里
https://docs.openstack.org/api-ref/block-storage/

对象存储 (Swift)

Swift 是两种产品中较为成熟的一个:自 OpenStack 成立以来一直是一个核心项目。Swift 的功能类似于一个分布式、可访问 API 的存储平台,可直接将它集成到应用程序中,或者用于存储 VM 镜像、备份和归档以及较小的文件,例如照片和电子邮件消息。

Object Store 有两个主要的概念:对象和容器。

容器类似于 Windows文件夹,容器是用于存储一组文件的一个存储室。容器无法被嵌套,但一个租户可以供创建无限数量的容器。对象必须存储在容器中,所以您必须至少拥有一个容器来使用对象存储。

对象就是主要存储实体。对象中包括与 OpenStack Object Storage 系统中存储的文件相关的内容和所有可选元数据。数据保存为未压缩、未加密的格式,包含对象名称、对象的容器以及键值对形式的所有元数据。对象分布在整个数据中心的多个磁盘中,Swift 可以借此确保数据的复制和完整性。分布式操作可以利用低成本的商用硬件,同时增强可扩展性、冗余性和持久性。

与传统的文件服务器不同,Swift 是横跨多个系统进行分布的。它会自动存储每个对象的冗余副本,从而最大程度地提高可用性和可扩展性。对象版本控制提供了防止数据意外丢失或覆盖的额外保护。

Cinder的API文档页面请参考这里
https://docs.openstack.org/api-ref/object-store/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openstack中cinder与swift、glance的区别 的相关文章

  • 在 Swift async/await 中,我可以使用 Lock 还是 Semaphore

    这不是问题 这是一个想寻求帮助以及专业指导的问题 根据文档 Sendable 类型可以在 Swift Concurrency 中安全地传递 在旧项目中并非所有类型都是可发送的 并且可能使用Cocoa类型 但它们是线程安全的 例如 class
  • 如何在 tvOS 中添加检测按钮按下情况?

    我已经遵循这个tutorial http jamesonquave com blog developing tvos apps for apple tv with swift 一切正常 我遇到的唯一问题是我不知道如何检测何时按下按钮 提前致
  • UIButton 上的圆形渐变边框

    您好 我一直在尝试在我的应用程序中实现一个 UIButton 它具有圆角和渐变边框 我使用以下代码在按钮上创建渐变边框 let gradient CAGradientLayer gradient frame CGRect origin CG
  • Swift:如何审查/过滤输入的脏话等文本?

    我只是想看看是否有一种既定的方法可以做到这一点 或者如何去做 我有一个文本字段 它本质上充当我的 iOs 应用程序中的表单 用户可以在其中发布内容 我不能让用户发布脏话 不恰当的废话 所以我想过滤掉他们输入的字符串包含这些单词之一的内容并显
  • Swift 3.0 中使用索引访问字符串的 Big O

    访问的复杂度是多少String与index in swift 3 0 复杂度与数组访问或 O N 或其他相同吗 来自文档 https developer apple com library prerelease content docume
  • 如何使用自定义布局跳转到 UICollectionView 中的任何 Cell?

    我的水平 UICollectionView 中有 40 个单元格和一个按钮 当我点击按钮时 我可以从 5 号单元格跳转到 10 号单元格 但是一旦我想要转到另一个单元格 例如从 5 到 25 它不起作用 而是变为 0 code func s
  • Swift 中的自定义输入视图

    我花了几个小时试图弄清楚如何创建 然后定制inputView上班 我有一个网格TextInputs 想想拼字板 按下时应该加载自定义inputView插入文本 我创建了一个 xib文件包含UI elements为定制inputView 我能
  • xCode 7.1 中警报的 UITesting

    我正在 xCode 7 1 中编写 UITests 并且在测试警报时遇到问题 在我的情况下允许通知 创建测试时 xCode 会写入以下代码 app alerts U201cAppName U201d Would Like to Send Y
  • 在 swift 中从本地视频创建缩略图

    如何从本地视频文件快速创建缩略图 例如 如果视频文件路径位于此处 file Users Dev Library Developer CoreSimulator Devices F33222DF D8F0 448B A127 C5B03C64
  • 如何覆盖应用程序中的内部框架方法(框架外部)

    在 Swift 中子类化时是否有重写内部框架方法 前任 超类 public class BarChartRenderer ChartDataRendererBase internal func drawDataSet context con
  • 失败:错误域=NSURLErrorDomain代码=-1004“无法连接到服务器。”

    首先 我想列出我已阅读并尝试实现答案的帖子 避免重复 iOS 9 和 iOS 10 中的应用程序传输安全问题 https stackoverflow com questions 40280936 app transport security
  • 将浮点数截断为小数点后两位的最简单方法?

    在 Swift 中 有没有办法将浮点数截断为小数点后两位 以便您可以用它执行进一步的计算 我见过的所有线程都涉及到字符串的转换 我不知道如何在数学上使用它 我尝试使用扩展 在这个论坛上找到 认为我可以在截断后转换回浮动 但我最终回到了开始的
  • Swift 错误:无法从 AST 上下文获取模块“My_App”

    我正在使用 Swift 3 Xcode 8 1 CocoaPods 1 1 1 运行后pod update 每次我尝试使用 Xcode 的 lldb 控制台时 它都会打印错误 例如 po self输出 共享 Swift 状态My App已出
  • 具有自签名证书的 Alamofire / ServerTrustPolicy

    我想使用 Alamofire 通过带有自签名证书的 https 连接与我的服务器进行通信 我的环境在本地主机上运行 我尝试连接 但响应始终如下所示 Success false Response String nil 我用下面的代码完成了它
  • prepareForSegue 和 PerformSegueWithIdentifier 发送方

    我想知道标题中的函数如何工作以及发送者参数 假设单击按钮调用了performSegue方法 那么这是否也调用了prepareSegue方法 是否在performSegue方法之前但在按下按钮之后调用prepareSegue方法 另外 这两个
  • 无法在 Swift 中创建文件路径

    我尝试在 Swift 中打开该文件 为此 我创建了文件路径 这不起作用 maaaacy pwd Users tsypa maaaacy cat a txt test maaaacy a swift nil maaaacy 剧本 usr bi
  • Mapkit 在 IOS 13 中使用过多的 CPU

    最近 在一些用户更新到 iOS 13 x 后 我的 iOS 应用程序开始频繁崩溃 在 iOS 12 x 中没有出现该问题 我正在使用 Mapkit 渲染一些 MKPolygons 和 MKPolylines MKPolylines 被删除并
  • ExpandableLabel iOS 中的“少看”

    我正在使用第三方库可扩展标签 https github com apploft ExpandableLabel实施一个see more特征 我正在寻找仅快速的解决方案 其中包含标签中的文本而不是按钮中的文本 因此这可以完美地工作 添加库并更
  • CIAdditionCompositing 给出不正确的效果

    我正在尝试通过平均其他几个图像来创建图像 为了实现这一点 我首先将每个图像变暗 其系数等于我平均的图像数量 func darkenImage by multiplier CGFloat gt CIImage let divImage CII
  • ArraySlice 中的 Swift [重复]

    这个问题在这里已经有答案了 在数组上使用 prefix 方法后 我得到了所谓的 arraySlice 我怎样才能将其转换为数组 我试图从 FacebookGraphApi 获取 Ints 然后请求前 3 个 前缀 3 并尝试将它们添加到新数

随机推荐

  • VMware安装GHOST版XP教程

    VMware安装GHOST版XP教程 本来我是无法安装GHOST版的XP系统在VMware上 我很苦恼 到处找方法 最后找到了这里 可是每个关于这个问题的帖子里边都说改问题早就被处理 让搜索老帖子 可是我搜索出来的帖子里边的回复都说是改问题
  • 近期数据挖掘学习_计划安排及相关资料(定期更新)

    理论学习 学习主线 1 机器学习 统计学习方法 李航 机器学习 周志华 机器学习笔记 吴恩达 Scikit Learn文档 2 统计学复习 深入浅出统计学 statistics for business economics by ander
  • 零基础入门STM32编程——点灯(HAL库)(六)

    系列教程 定时器原理与配置 系列教程 GPIO原理与配置原则 前情回顾 通过前面几篇的学习 见目录 我们对STM32的基本架构以及原理有了一定了解 对GPIO的概念了有一定的认识 接下来通过一个简单的点灯项目 进步学习STM32编程 一 项
  • 使用linux主义的问题

    第一点 看看是否有服务 没有则apt get install 第二点 更改文件后更新文件 source 文件 第三点 权限 一定要看看权限 否则上传或其他操作则不被允许
  • Python基础知识(第二天)

    链式赋值 系列解包覆值 常量 链式赋值 x y 123 相当于 x 123 y 123 系列解包覆值 a b c 4 5 6 相当于 a 4 b 5 c 6 常量 Python 不支持常量 即没有语法规则限制改变一个常量的值 我们只能约定常
  • 雅虎、领英接连退出中国,开发者:GitHub 也会受到影响吗?

    继半个月前微软宣布关闭领英 即 LinkedIn 在华业务后 本周二 雅虎也宣布了最新消息 自 2021 年 11 月 1 日起 用户将无法从中国大陆使用 Yahoo 的产品与服务 一时之间 许多人将这两起事件结合在一起 也由此引发了开发人
  • Windows使用C++模拟鼠标点击----防止校园网掉线--登录校园网

    Linux模拟鼠标使用shell脚本就可以实现了 可以搜一下就可以解决 Windows模拟鼠标点击使用Python总会出现问题 所以使用C 来实现 1 使用gl c include
  • 电脑商城项目总结-01用户管理模块(注册,登录,修改密码,个人信息,上传头像)

    目录 部分图片展示 application properties 创建数据库并且验证是否静态资源能够正常访问 创建用户表 实体类 持久层 业务层 控制层 拦截器 单元测试 部分图片展示 以下是大体上的代码 application prope
  • Mac平台VMware Fusion虚拟机无网络连接与解决方法

    打开设置Network 点击下方锁子打开权限后点击 新增一个 把所有能打的对勾都打上 打开虚拟机后点击上面的 lt gt 然后把对勾打到新增的那个网络设置上 然后重启 不是挂起 而是重启
  • SpringBoot修改端口号不生效

    springboot中端口失效问题 idea中除了在配置文件中配置端口 还可在Edit Configurations中配置端口号 以往在这里配置端口号都可生效 此次失效是因为 当前模块依赖的模块中resource文件未指定为资源文件 上图中
  • C++并发与异步知识点最全汇总

    c 并发 文章目录 c 并发 1 thread 2 this thread命名空间 3 互斥 1 mutex 2 符合RAII标准的锁 lock guard 3 符合RAII标准并且更自由 unique lock 4 死锁 1 死锁的预防
  • OpenGLES跨平台glReadPixels API问题解决

    1 引言 在原始Windows端上 我们使用glReadPixels 方法实现OpenGL 纹理到内存图像的转换 其中其支持的色彩类型包括GL RGBA GL RGB GL BGRA及GL BGR等色彩空间 便于我们实现纹理到各个色彩空间的
  • VLC搭建RTSP服务器的过程 -测试通过

    第一步 打开VLC 第二步 在媒体下拉菜单下 有一个子菜单 串流 如图所示 点击 串流 子菜单 弹出一个窗口 如下图所示 添加一个你要串流的本地文件 我刚才传给你的那个长一点的文件 第三步 会出现如下的界面 第五 点击下一步 第六步 在下拉
  • android 插入耳机 使用自身mic录音_苹果iPhone 12携最新系统强势登场,10款主流TWS耳机兼容性测试...

    北京时间2020年10月14日凌晨 苹果第二次秋季发布会成功落幕 会上发布了旗下搭载最新 iOS14 系统的 iPhone 12 系列智能手机和最新一代 HomePod mini 智能音箱 为了环保理念 苹果在此次发布会之后 官方商店在售
  • java时间工具类

    参考文档 https blog csdn net java mdzy article details 100099922 java时间工具类 package com td util import java sql Timestamp imp
  • python版本是3.9.3,如何匹配相应的pip或pip3?

    在 Windows 中 可以通过以下步骤来安装匹配 Python 3 9 3 版本的 pip 在浏览器中打开 https bootstrap pypa io get pip py 并下载该文件 打开命令提示符 Command Prompt
  • 多线程处理并有序整合数据方案

    方案设想 多线程异步 并行 处理待处理数据 for 线程池单例创实例和回收 防止处理过程中线程数过大 内存溢出 导致处理失败 例如持续for中new Thread 保证并行的线程处理个数 CountDownLatch 防止线程池未全部结束就
  • JS实现最美的3D宇宙特效

    好久没更新文章了 算下来大概有五个多月了吧 之前本人更新的比较频繁是因为疫情在家 不能出门 所以有充足的时间来更新文章 之后随着疫情越来越好转 本人就出去找工作了 毕竟本人的经济条件不允许本人闲着 哈哈 之后本人会更新很频繁的 很抱歉 这里
  • 计算机毕业设计之 房价数据爬虫及可视化分析

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目 房价数据爬虫及可视化分析 计算机毕业生设计 课程设计需要帮助的可以找我 2 设计概要 链 abssdf 家房价数据 二手房数据 租房数据等 21世纪是信息化时代 随着信息技术和网络
  • openstack中cinder与swift、glance的区别

    1 cinder与swift的用途是什么 cinder是块存储 用来给虚拟机挂扩展硬盘 就是将cinder创建出来的卷 挂到虚拟机里 cinder是OpenStack到F版 将之前在Nova中的部分持久性块存储功能 Nova Volume