云计算之存储

news2024/12/22 20:02:40

目录

一、产品介绍

1.1 对象存储oss

1.2 特点

二、产品技术背景

三、产品架构及功能

四、常见问题及排查思路

4.1 两个bucket目录文件如何快速复制?

4.2 oss里的目录如何删除?

4.3 能否统计oss一个目录的大小

4.4 异常诊断 - 上传下载速度慢

4.5 异常诊断 - 图片处理不符合预期

4.6 异常诊断 - object访问内容不符合预期

4.7 异常诊断 - OSS访问报错


一、产品介绍

1.1 对象存储oss

阿里云对象存储OSS是一款具有行业领先的海量扩展、稳定可靠、安全合规、低成本、智能的云存储服务,可以帮助各行业的客户为各种使用场景存储和保护任意数量的数据,同时具备丰富的数据处理能力,帮助客户更便捷地使用数据。

1.2 特点

  • 海量扩展

单Bucket支持EB级容量,万亿级文件

  • 稳定可靠

99.995%的可用性SLA&12个9的可靠性完整的数据保护和冗余能力基于对象存储的原生DDos防护能力

  • 安全合规

5种加密模式,涵盖服务端加密与客户端加密唯一支持国密算法(SM4)国内唯一支持WORM,Cohasset Associates审计认证唯一原生支持敏感数据保护功能

  • 低成本

5种存储类型,冷数据更低最短留存时间(30/60/180天)2种生命周期管理策略(最后修改时间、最后访问时间)深度冷归档0.0075分/GB月的极致低成本

  • 智能处理(数据湖&媒体处理)

10000+数据湖构建于OSSHDFS全兼容能力,无缝对接Hadoop生态Oss加速器提供Tbps级的读吞吐原生的图片、视频、文档处理能力,支持RTMP写入

二、产品技术背景

块存储、文件存储、对象存储的区别

存储产品挂载方式时延吞吐协议

块存储EBS

ECS挂载

极低时延(微秒级)

数十Gbps

NVMe

文件存储NAS

ECS/ACK通过挂载点挂载

低时延(毫秒级)

数百Gbps

NFS(Linux)

/SMB(Windows)/POSIX

对象存储OSS

主要使用API进行访问调用

较低时延(几十毫秒级)

数百Gbps

HTTP/S3

 

三、产品架构及功能

( 1 ) 多种存储类型:支持5种存储类型满足数据的全生命周期覆盖以及各种业务场景的数据冷热需求,具备数据冷热分层,提供更具性价比的存储方式。

( 2 ) 稳定可靠:提供多重冗余能力及多样的数据保护功能,高达99.995%可用性的SLA承诺,12个9的数据持久型,确保业务数据的稳定可靠。

( 3 ) 安全合规:支持多维度的权限控制能力与多种加密能力(服务端、客户端等)、加密算法(AES256、国密SM4)的支持,满足企业安全与合规要求。

( 4 ) 企业级数据管理:支持生命周期(最后编辑时间、最后访问时间)、标签、清单、回源、丰富的数据上传与下载方式等,提供更简单易用、更便于管理的对象存储。

( 5 ) 数据处理能力:面向数据湖具备HDFS的全兼容接入能力,无缝对接Hadoop生态,并无缝支持阿里云SLS、EMR、MaxCompute、Hologres等各种计算分析平台与数据源,满足企业数据洞察分析与管理的需求;面向媒体处理场景提供图片处理、视频截帧、文档预览、图片场景识别、人脸识别等能力,满足媒体数据智能分析应用的需求 。

( 6 ) 大规模数据迁移:支持在线、离线迁移方案,提供更安全、更快速的数据迁移上云方案。

四、常见问题及排查思路

4.1 两个bucket目录文件如何快速复制?

排查思路:OSS本身没有目录概念,目录A拷贝其实就是遍历以“A/”为前缀的所有文件,进行一个个拷贝,目前api还不支持,可以使用ossutil工具的CP命令进行拷贝。

4.2 oss里的目录如何删除?

排查思路:OSS本身没有目录概念,删除目录A其实就是遍历以A/为前缀的所有文件,进行一个一个删除。 删除方案: 1、在控制台执行目录删除操作。 2、使用工具删除:ossbrowser、ossutil。 3、API:批量删除指定前缀的文件可以实现删除目录的功能。

4.3 能否统计oss一个目录的大小

排查思路:OSS本身没有目录的概念,假如用户上传 d01/object 这样的资源,控制台展示看着是d01目录下有个文件叫object ,实际这个文件真正的名称是d01/object,d01/这个目录实际是不存在的,除非用户上传一个object 名称叫做 d01/;所以要统计一个目录的大小,需要遍历以该目录名为前缀的object,累加这些object的大小,得到目录的大小;

  1. ossutil工具封装了遍历累加的逻辑,通过du命令即可统计某目录的大小来查看
  2. 用户也可以调用sdk/API 的listobject接口 遍历某目录前缀的object,结合headobject接口获取object的content-length 进行累加,得到目录大小。

4.4 异常诊断 - 上传下载速度慢

知识背景:

OSS上传文件的几种方式:简单上传、表单上传、分块上传及断点续传、追加上传、授权第三方上传等,客户在使用SDK、API、官方工具进行文件上传的时候经常会遇到上传/下载速度较慢的情况,此时需要收集端侧信息查询相关日志进行详细确认。

处理思路和流程:

1. 收集基本信息

  • 用户上传、下载的bucket
  • 客户端ip、ping、mtr、traceroute信息 使用的工具(如SDK or api or ossutil等工具)和传输方式(内网 or 公网)
  • 调用的api接口(简单 or 分片-如果是分片,片大小是多少)

2. 查看bucket是否触发流控 or bucket所在region触发流控(即被其他bucket影响)

3. 询问客户是否能提供对应慢请求的时间点、文件名或者Requestid信息。

4. 拿到对应信息(如果是文件名+时间点,让在实时日志里过滤对应请求,获取到Requestid),分析耗时是集中在哪部分。耗时由turn_around_time和response_time组成。

  • 若turn_around_time/response_time的占比较高,则说明该请求主要耗时在服务端处理,可以从sls日志里看下当前turn_around_time是否还是持续耗时高,若存在该情况,则升级后端核实。
  • 若turn_around_time/response_time的占比较低,则说明该请求主要耗时在客户到服务端的中间链路上。

5. 若问题持续,可以核实下客户端自身负载是否正常、带宽冗余是否充足、链路是否存在时延较高的情况,通过查看CPU、IO、MEM、ping、抓包等信息来判断,看看是客户端问题导致的慢还是链路时延较高导致的慢。 

4.5 异常诊断 - 图片处理不符合预期

知识背景:图片处理操作OSS图片处理服务可以通过三种方式处理图片:

为图片URL添加参数进行单次处理

使用图片样式对不同图片进行相同处理

使用OSS SDK对图片进行处理

排查思路:

1、收集信息:客户使用图片处理的什么功能,详细参数,图片的格式,图片处理预期效果与当前效果的出入;

2、核实客户使用的参数格式是否正确,参考:图片处理操作方式 若格式不正确,修改为标准格式即可,

3、若格式正确之后仍然不符合预期,可能是图片格式本身限制、图片处理限制、当前图片处理参数不太合适导致,可以查看对应操作官方文档中注意事项,及图片处理常见问题进行排查处理,参考:图片缩放

4、若格式标准且未触发限制,可能是客户图片处理规则做了特殊配置(例如自定义样式分隔符)与当前操作冲突导致,当前售后同学无法查图片处理规则配置,需要通过升级工单至oss后端同学确认。

4.6 异常诊断 - object访问内容不符合预期

问题背景:客户在使用对象存储产品的的过程中经常会遇到访问不符合预期的情况,例如:oss在线预览.txt文件出现乱码问题怎么办?、访问URL被强制下载等,这类case需要先定为具体功能或配置项目,再根据实际反馈情况对比确认。

如:用OSS提供的默认域名请求,默认会强制下载,具体排查思路如下:

1、content type 设置的是否正确

不正确会强制下载 ,请网上搜索(http content type)对应格式资源的正确content type 进行修改

2、是否对应的object设置了content disposition这个设置了也可能会强制下载

3、都是直接在控制台--OSS--具体bucket--object管理--设置http头中查看

4、如果经过了cdn 缓存, 对应源站设置正确后请刷新cdn缓存

5、如果以上均正常,浏览器访问对应的object资源还是强制下载,那么很可能是浏览器不支持了

4.7 异常诊断 - OSS访问报错

阿里云访问4XX基础知识:oss访问400一般原因有:

  • 请求参数非法
  • 请求参数缺失
  • 配额达到限制

oss访问403一般原因有:

  • 权限原因
  • 鉴权key生成不正确-SignatureDoesNotMatch
  • 鉴权过期-SecurityTokenExpired or InvalidAccessKeyId
  • 防盗链-AccessDenied
  • 欠费-UserDisable、BucketDisable
  • 账号权限不足-AccessDenied
  • 命名原因,中文特殊字符没处理好
  • 涉黄封禁-确认用户权限正常但访问仍报403,通过站内信邮箱查看文件是否被封禁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源项目|聚合支付工具,封装了某宝、某东、某银、PayPal等常用的支付方式

前言 IJPay是一款开源的支付SDK,它集成了微支付、某宝支付、银联支付等多种支付方式,为开发者提供了一种简单、高效的方式来处理支付问题。以下是IJPay的一些主要特点: 支持多种支付方式:IJPay支持微信支付、支付宝支付、银联支付…

ffmpeg命令(详解)

欢迎诸位来阅读在下的博文~ 在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力 文章目录 一、常见命令二、实战三、总结 一、常见命令 ffmpeg -i input.mp4 -c copy output.mp4解释:-i 后面接输入文…

应用在蓝牙耳机中的低功耗DSP音频处理芯片-DU561

在当今社会,随着科技的不断发展,人们对于电子产品的需求也在日益增长。蓝牙耳机就是将蓝牙技术应用在免持耳机上,让使用者可以免除恼人电线的牵绊,自在地以各种方式轻松通话。自从蓝牙耳机问世以来,一直是行动商务族提…

【递归、回溯专题(二)】DFS解决floodfill算法

文章目录 1. 图像渲染2. 岛屿数量3. 岛屿的最大面积4. 被围绕的区域5. 太平洋大西洋水流问题6. 扫雷游戏7. 机器人的运动范围 1. 图像渲染 算法原理: 这题不需要创建visit数组去记录使用过的节点,因为我每次dfs都尝试修改image数组的值,当下…

[Linux]:权限

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. Linux权限的基本概念 1.1 root与普通用户 在Linux系统中,存在…

内部知识库:企业智慧资产的安全守护者

引言 在知识经济时代,企业的核心竞争力越来越依赖于其知识资源的积累、管理和利用。内部知识库,作为企业知识管理的重要组成部分,扮演着智慧资产守护者的关键角色。它不仅承载着企业多年来的经验积累、技术创新和业务流程知识,还…

2024年“羊城杯”粤港澳大湾区网络安全大赛 初赛 Web数据安全AI 题解WriteUp

文章首发于【先知社区】:https://xz.aliyun.com/t/15442 Lyrics For You 题目描述:I have wrote some lyrics for you… 开题。 看一下前端源码,猜测有路径穿越漏洞 http://139.155.126.78:35502/lyrics?lyrics../../../../../etc/passw…

中国同一带一路沿线国海关货物进出口额表(年)1994-2022进出口总额进口总额出口总额

数据来源:基于相关(证券、货币、期货等)交易所、各部委、省、市、区县统计NJ、或各地区公布的数据(若是全球各国数据,主要来源于世界银行世界发展指标WDI、或联合国统计数据) 数据范围:&#x…

安装Android Studio及第一个Android工程可能遇到的问题

Android Studio版本众多,电脑操作系统、电脑型号、电脑硬件也是多种多样,幸运的半个小时内可以完成安装,碰到不兼容的电脑,一天甚至更长时间都无法安装成功。 Android安装及第一个Android工程分为4个步骤,为什么放到一…

E31.【C语言】练习:指针运算习题集(上)

Exercise 1 求下列代码的运行结果 #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d",*(ptr - 1));return 0; } 答案速查: 分析&#xff1a; Exercise 2 求下列代码的运行结果 //在x86环境下 //假设结…

使用Ansible stat模块检查目录是否存在

使用Ansible stat模块检查目录是否存在或者是否为一个目录还是文件 理论知识 在Ansible中&#xff0c;你可以使用stat模块来检查一个目录是否存在。stat模块可以用来获取文件或目录的状态信息&#xff0c;包括它是否存在。下面是一个简单的例子&#xff0c;说明如何使用stat模…

9/3作业

一、继承&#xff08;inhert&#xff09; 面向对象三大特征&#xff1a;封装、继承、多态 继承&#xff1a;所谓继承&#xff0c;是类与类之间的关系。就是基于一个已有的类&#xff0c;来创建出一个新类的过程叫做继承。主要提高代码的复用性。 1.1 继承的作用 1> 实现…

GraphRAG工程落地成本详细解读和实例分析

最近半年GraphRAG引起不少关注&#xff0c;。GraphRAG代表了一种创新的方法&#xff0c;用于支持检索增强生成&#xff08;RAG&#xff09;应用&#xff0c;使组织能够从其复杂的数据集中提取前所未有的价值。然而&#xff0c;与大多数组织使用的相对简单的数据嵌入和向量化过程…

mkv怎么转换成mp4?2个简单易用的格式转换方法

小王立志成为一名vlogger&#xff0c;为此&#xff0c;他在旅行的时候拍摄了一段旅游视频&#xff0c;把视频保存在mkv格式中。在平台上传时小王才发现mkv视频不被平台支持。 小王傻眼了&#xff0c;视频需要把mkv转换成mp4格式才能发布&#xff0c;但mkv怎么转换成mp4&#x…

Socket编程---TCP篇

目录 一. TCP协议 二. 服务端模块代码实现 三. 服务端调用模块代码实现 四. 客户端模块代码实现 五. 初始版本结果展示 六. 多进程版服务端 七. 多线程版服务端 八. 线程池版服务端 前文已经讲了UDP的知识&#xff08;点此查看&#xff09;。今天来讲讲…

探索AWS EC2:云计算的强大引擎

在数字化转型的浪潮中&#xff0c;企业对计算资源的需求不断增长。亚马逊弹性计算云&#xff08;EC2&#xff09;作为AWS&#xff08;亚马逊网络服务&#xff09;的核心产品之一&#xff0c;凭借其强大的功能和灵活性&#xff0c;成为了全球企业构建和扩展应用的首选平台。无论…

K8S - 外部访问集群

前言 文档可以承接前面的内容看 这里只做外部访问的介绍 正文 kubectl get po#打印某个pod的环境变量 kubectl exec nginx-7c5ddbdf54-6nfw2 \-- printenv |grep KUBERNETES#删除 service kubectl get svc kubectl delete svc nginx#使用 LoadBalancer 的方式重新创建 servi…

Etherpad在线文档协作编辑工具

Etherpad在线文档协作编辑工具 一、前言 Etherpad是一种开源的实时协作编辑器&#xff0c;允许多个用户同时编辑同一文档&#xff0c;并实时显示每个用户的输入内容。Etherpad最初由Etherpad基金会开发&#xff0c;后来被Google收购&#xff0c;现在由Apache软件基金会维护。E…

ElasticSearch-集群架构

核心概念 节点类型分片集群搭建 ES安全认证 集群内部安全通信 生产环境常见集群部署方式 单一角色增加节点水平扩展读写分离架构异地多活架构Hot & Warm 架构集群容量规划 产品信息库搜索时间序列的数据 核心概念 ES集群架构的优势 提高系统的可用性&#xff0c;部分节点…

【QT】学习笔记:枚举桌面窗口句柄

在 Qt 中&#xff0c;虽然 Qt 本身没有直接提供枚举桌面窗口的 API&#xff0c;但可以通过调用 Windows API 来实现枚举桌面上所有窗口的句柄&#xff0c;包括子窗口以及子窗口与父窗口的关系。我们可以使用 Windows 的 EnumWindows 和 EnumChildWindows 函数来枚举所有顶层窗口…