存储云服务(华为云)
第 1 章 存储云服务概述
1.0 前言
在日常生活中,数据无处不在,也会接触到很多存储设备,如U盘、移动硬盘、网盘等,我们通常把这些设备统称为存储设备。随着云时代的到来,在企业业务云化过程中,又有哪些比较常见的云存储服务呢?本章带领大家了解华为云中常见的存储服务。
1.1 什么是存储
存储是指将数据或信息保存在计算机或其他电子设备中的过程。存储可以是临时的,也可以是长期的,例如将文件保存在硬盘驱动器或云存储中。
存储是计算机系统中非常重要的组成部分,它不但可以储存数据,还能通过存储实现容灾等功能。
1.2 什么是云存储
云存储是一种将数据存储在互联网上的服务。它允许用户通过互联网将数据上传到远程服务器上,并随时随地访问和管理这些数据。
- 云存储通常由云服务提供商提供,用户可以通过订阅服务来使用它。
- 云存储的好处包括:数据备份和恢复、数据共享、数据安全和可靠性等。
1.3 常见云存储服务一览
华为云中常见的存储服务主要有以下四类:
| 服务 | 说明 |
|---|---|
| 云硬盘服务(EVS) | 为云服务器提供块存储 |
| 对象存储服务(OBS) | 基于对象的海量存储 |
| 弹性文件服务(SFS) | 为多台云服务器提供共享文件存储 |
| 云备份服务(CBR) | 为云上、云下资源提供备份恢复 |
第 2 章 云硬盘服务(EVS)
2.1 企业对块存储的诉求
企业用户对块存储有三大核心诉求:
- 高性能
- 高可靠
- 高安全
同时需要丰富的企业增值特性支撑业务,包括:共享卷、一致性快照组、云硬盘备份、存储容灾、云硬盘加密、回收站、在线扩容、专属存储、变更磁盘类型等。
2.2 什么是云硬盘(EVS)
云硬盘(Elastic Volume Service,EVS)可以为云服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,可满足不同场景的业务需求。
- 用于分布式文件系统、开发测试、数据仓库以及高性能计算等场景。
- 云硬盘为云服务器提供规格丰富、安全可靠、可弹性扩展的硬盘资源。
云硬盘类似 PC 中的硬盘,需要挂载至云服务器使用,无法单独使用。可以对已挂载的云硬盘执行初始化、创建文件系统等操作,并且把数据持久化地存储在云硬盘上。
云硬盘架构如图所示(弹性云服务器/裸金属服务器挂载云硬盘,云硬盘可创建备份、创建新云硬盘、恢复数据、创建快照):
2.3 EVS 的特点和优势
- 提供多种规格的云硬盘,可满足不同业务场景的需求
- 支持按需平滑扩容,无需暂停业务(最小扩容步长为 1 GiB)
- 数据持久性高,支持加密、备份、快照多种保护机制
- 配合云监控服务,随时了解云硬盘健康状态
- 挂载至云服务器用作数据盘和系统盘
- 通过安全防护,可防护应用异常、数据误删等情况造成的损失
2.4 EVS 的性能指标
基础概念:
- IOPS:云硬盘每秒进行读写的操作次数(Input/Output Operations per Second)
- 吞吐量:云硬盘每秒成功传送的数据量,即读取和写入的数据量
- IO 读写时延:云硬盘连续两次进行读写操作所需要的最小时间间隔
常见云硬盘类型对比(数据供参考,具体以华为云官网为准):
| 参数 | 极速型SSD | 超高IO | 通用型SSD V2 | 通用型SSD | 高IO |
|---|---|---|---|---|---|
| 描述 | 适用于需要超大带宽和超低时延的场景 | 超高性能云硬盘,可用于企业关键性业务,适合高吞吐、低时延的工作负载 | 用于均衡各种事务型工作负载的价格和性能的通用SSD云硬盘 | 高性价比的云硬盘,可用于高吞吐、低时延的企业办公 | 可用于一般访问的工作负载 |
| 最大IOPS(参考) | 128000 | 50000 | 128000 | 20000 | 5000 |
| 最大吞吐量(参考) | 1000 MiB/s | 350 MiB/s | 1000 MiB/s | 250 MiB/s | 150 MiB/s |
| 单队列访问时延(参考) | 200 μs | 1 ms | 1 ms | 1 ms | 1 ms ~ 3 ms |
| 典型应用场景 | 数据库、AI场景 | 超大带宽的读写密集型场景,如转码类业务、I/O密集型场景、时延敏感型场景 | 各种主流的高性能、低延迟交互应用场景,如企业办公、大型开发测试、转码类业务、系统盘 | 企业办公、大型开发测试、转码类业务、容器等高性能系统盘 | 日常办公应用、轻载型开发测试,不建议用于系统盘 |
补充:
- 最大 IOPS、最大吞吐量参数的值均为读写总和(IOPS = IOPS读 + IOPS写)。
- 单个云硬盘 IOPS 性能 = “最大IOPS” 与 “基线IOPS + 每GB云硬盘的IOPS × 云硬盘容量” 的最小值。
2.5 EVS 的磁盘模式
根据是否支持高级的 SCSI 命令来划分磁盘模式:
- VBD 类型(虚拟块存储设备,Virtual Block Device)
- SCSI 类型(小型计算机系统接口,Small Computer System Interface)
- 磁盘模式在购买磁盘时配置,购买完成后无法修改。
- SCSI 磁盘:BMS(裸金属服务器)仅支持使用 SCSI 磁盘,用作系统盘和数据盘。
- SCSI 共享盘:使用共享盘时需要结合分布式文件系统或者集群软件使用。由于多数常见集群需要使用 SCSI 锁(如 Windows MSCS 集群、Veritas VCS 集群和 CFS 集群),因此建议结合 SCSI 使用共享盘。
2.6 共享云硬盘
共享云硬盘是一种支持多个云服务器并发读写访问的数据块级存储设备,具备多挂载点、高并发性、高性能、高可靠性等特点。
- 主要应用于需要支持**集群、HA(高可用集群)**能力的关键企业应用场景,多个云服务器可同时访问一个共享云硬盘。
- 可以创建VBD 类型和SCSI 类型的共享云硬盘。
- 使用共享云硬盘必须搭建共享文件系统或类似的集群管理系统(如 Windows MSCS 集群、Veritas VCS 集群和 CFS 集群),直接挂载至多台云服务器无法实现共享功能,且存在数据覆盖风险。
- 一块共享云硬盘最多可同时挂载至16 台云服务器(包括弹性云服务器和裸金属服务器)。
2.7 云硬盘加密
当用户基于业务需求或者安全性考虑,需要对存储在云硬盘的数据进行加密时,需要使用到云硬盘加密功能。
- EVS 采用行业标准的XTS-AES-256 加密算法,利用密钥加密云硬盘,对新创建的云硬盘进行加密。
- 安全管理员(拥有 “Security Administrator” 权限)可以直接授权 EVS 访问 KMS(密钥管理服务),使用加密功能。
- 当加密云硬盘挂载时,EVS 访问 KMS,KMS 会将数据密钥 DK(Data Key)发送至宿主机内存中保存,EVS 使用宿主机内存中的 DK 明文来加解密磁盘 I/O。DK 明文只会在使用的 ECS 实例所在的宿主机内存中使用。
2.8 云硬盘备份
当云硬盘中的数据比较重要时,可以通过云硬盘备份功能,对现有数据进行备份。
- 云硬盘备份功能可以在线备份,无需关闭云服务器。
- 可以通过任意时刻的备份副本来恢复数据,以保证用户数据的正确性和安全性。
- 设置备份策略,根据策略自动对云硬盘进行数据备份,通过定期创建的备份作为基线数据,用来创建新的云硬盘或者恢复数据到云硬盘。
- 云硬盘备份数据支持用户间的共享,可以通过其他用户共享的备份数据创建新的云硬盘。
2.9 云硬盘快照
云硬盘快照指的是云硬盘上的数据在快照创建时的完整拷贝或镜像,它是一种重要的数据容灾手段。
- 当数据丢失时,用户可通过快照将数据完整地恢复到快照创建的时间点,从而保障数据的安全。
快照功能可以帮助用户实现以下需求:
- 日常备份数据:通过对云硬盘定期创建快照,实现数据的日常备份,可以应对由于误操作、病毒以及黑客攻击等导致数据丢失或不一致的情况。
- 快速恢复数据:应用软件升级或业务数据迁移等重大操作前,创建一份或多份快照,一旦升级或迁移过程中出现问题,可以通过快照及时将业务恢复到快照创建点的数据状态。
- 快速部署多个业务:通过同一个快照可以快速创建出多个具有相同数据的云硬盘。
2.10 云硬盘备份 VS 快照
云硬盘的备份和快照都可以为存储在云硬盘中的数据提供冗余备份,它们的区别:
| 指标 | 备份 | 快照 |
|---|---|---|
| 存储方案 | 与云硬盘数据分开存储,存储在对象存储(OBS)中,可以实现在云硬盘存储损坏情况下的数据恢复 | 与云硬盘数据存储在一起 |
| 数据同步 | 保存云硬盘指定时刻的数据,可以设置自动备份。如果将创建备份的云硬盘删除,对应的备份不会被同时删除 | 保存云硬盘指定时刻的数据。如果将创建快照的云硬盘删除,对应的快照也会被同时删除 |
| 容灾范围 | 与云硬盘位于同一个 AZ 内,云服务器备份支持跨区域复制 | 与云硬盘位于同一个 AZ 内 |
| 业务恢复 | 通过恢复备份至云硬盘,或者通过备份创建新的云硬盘,找回数据,恢复业务,数据持久性高 | 通过回滚快照至云硬盘,或者通过快照创建新的云硬盘,找回数据,恢复业务 |
补充:备份时由于数据搬迁会耗费一定的时间,创建快照和回滚快照数据的速度比备份快。
2.11 云硬盘三副本
云硬盘的存储系统采用三副本机制来保证数据的可靠性:
- 针对某份数据,默认将数据分为1 MB 大小的数据块,每一个数据块被复制为3 个副本,然后按照一定的分布式存储算法将这些副本保存在集群中的不同节点上。
主要特点:
- 存储系统自动确保3 个数据副本分布在不同服务器的不同物理磁盘上,单个硬件设备的故障不会影响业务。
- 存储系统确保3 个数据副本之间的数据强一致性。
- 例如,对于服务器 A 的物理磁盘 A 上的数据块 P1,系统将它的数据备份为服务器 B 的物理磁盘 B 上的 P1’ 和服务器 C 的物理磁盘 C 上的 P1’‘,P1、P1’ 和 P1’’ 共同构成了同一个数据块的三个副本。若 P1 所在的物理磁盘发生故障,则 P1’ 和 P1’’ 可以继续提供存储服务,确保业务不受影响。
- 当存储系统检测到硬件(服务器或者物理磁盘)发生故障时,会自动启动数据修复。
2.12 挂载云硬盘
- 云硬盘不能单独使用,需要挂载到云服务器或者裸金属服务器上做初始化,才能被正常使用。
- 非共享云硬盘只可以挂载至1 台云服务器。
- 共享云硬盘可同时挂载至多台云服务器,这些云服务器必须与共享云硬盘位于同一区域下的同一可用区。
- 单独购买的云硬盘为数据盘,可以在云硬盘列表中看到磁盘属性为"数据盘",磁盘状态为"可用"。此时需要将该数据盘挂载给云服务器使用。
- 系统盘必须随云服务器一同购买,并且会自动挂载,磁盘属性为"系统盘",磁盘状态为"正在使用"。当系统盘从云服务器上卸载后,磁盘属性变为"启动盘",磁盘状态变为"可用"。
2.13 云硬盘应用场景
通过云硬盘加密提升公司业务安全合规:
- 虚拟机集群运行开发测试、OA 办公、数据库业务;裸机集群运行企业关键数据库。
第 3 章 对象存储服务(OBS)
3.1 什么是对象存储
对象存储服务是一个基于对象的海量存储服务,提供易扩展、高安全、高可靠、低成本的数据存储能力。
- 对象存储是一项面向 Internet 访问的服务,提供了基于HTTP/HTTPS 协议的 Web 服务接口,用户可以随时随地连接到 Internet。
特点:
- 扁平化结构,租户间数据隔离
- 用户可以创建桶(就像文件夹)和上传或下载对象,可通过转发链接分享数据
- 适合存储任意类型的文件,一般应用于大规模数据存储场景,如互联网海量内容(视频、图片、照片、图书、音像、杂志等)、网盘、数字媒体、备份、归档等。
- OBS 支持 SDK 和 OBS API 接口,可使用户方便管理自己存储在 OBS 上的数据,以及开发多种类型的上层业务应用。
- 华为云在全球多区域部署了 OBS 基础设施,具备高度的可扩展性和可靠性,用户可根据自身需要指定区域使用 OBS。
3.2 对象存储服务 OBS
对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。
核心概念:
- 桶(Bucket):OBS 中存储对象的容器。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。
- 对象(Object):OBS 中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息的集合体,包括Key、Metadata、Data三部分。用户上传至 OBS 的数据都以对象的形式保存在桶中。
- OBS 系统和单个桶都没有总数据容量和对象/文件数量的限制。
- Key:键值,即对象的名称,为经过 UTF-8 编码的长度大于 0 且不超过 1024 的字符序列。一个桶里的每个对象必须拥有唯一的 Key。
3.3 OBS 的优势
| 优势 | 说明 |
|---|---|
| 数据分层 | 支持标准、低频访问、归档数据、深度归档数据(受限公测)独立计量计费,降低存储成本 |
| 按需使用 | 提供按量计费和包年包月支付方式 |
| 简单易用 | 支持在线升级、在线扩容,升级扩容由华为云实施,客户无感知。同时提供全新的 POSIX 语言系统,应用接入更简便 |
| 便于管理 | 支持标准 REST API、多版本 SDK 和数据迁移工具 |
| 多重防护 | 支持多版本控制、敏感操作保护、服务端加密、防盗链、VPC 网络隔离、访问日志审计以及细粒度的权限控制,保障数据安全可信 |
| 授权管理 | 可信云认证,让数据安全放心 |
| 数据稳定 | 五级可靠性架构保证数据稳定:Level5 区域级(跨区域复制)、Level4 数据中心级(多AZ)、Level3 机柜级(机柜级冗余)、Level2 服务器级(Erasure Code)、Level1 介质级(慢盘/坏道检测) |
| 业务可靠 | 结合事件通知、传输加速、大数据垂直优化等,为各场景下用户的千亿对象提供千万级并发、超高带宽、稳定低时延的数据访问体验 |
| 千亿对象 | 智能调度和响应,优化数据访问路径 |
| 千万并发 | 支撑华为手机云相册,数亿用户访问,稳定可靠 |
补充:OBS 通过跨区域复制、AZ 之间数据容灾、AZ 内设备和数据冗余、存储介质的慢盘/坏道检测等技术方案,保障数据持久性高达99.9999999999%(12个9),业务连续性高达99.995%。
3.4 OBS 的访问方式
用户可以通过多种方式访问 OBS,包括:管理控制台、OBS 客户端(OBS Browser+)、SDK、API、obsutil、obsfs。
通过控制台访问 OBS,用户首先要使用华为云账号或 IAM 用户登录控制台,OBS 通过用户的账号或 IAM 用户信息进行鉴权。而在使用其他方式访问 OBS 时(OBS Browser+、obsutil、SDK、API),不需要提供华为云账号或 IAM 用户登录信息,取而代之的是通过账号或 IAM 用户的**访问密钥(AK/SK)**来进行鉴权。
各种访问方式介绍:
| 工具名称 | 描述 | 使用方式 |
|---|---|---|
| 管理控制台 | 网页的形式,通过管理控制台,使用 web 界面进行相应的操作 | 使用网页访问云服务控制台,通过账号名&密码或 IAM 的账号名&用户名&密码登录认证身份 |
| OBS Browser+ | 一款运行在 Windows 系统上的对象存储服务管理工具,图形化界面可以非常方便地让用户在本地对 OBS 进行管理 | 下载 OBS Browser+ 工具,通过访问密钥(AK/SK)进行身份鉴权。支持直接访问 OBS,也支持通过配置服务器地址方式访问 |
| API | 提供了 REST 风格 API,支持通过 HTTP/HTTPS 请求调用,实现创建、修改、删除桶,上传、下载、删除对象等操作 | 环境准备时配置终端节点,计算签名时添加访问密钥(AK/SK)到请求 |
| SDK | SDK 是对 OBS 服务提供的 REST API 进行的封装,以简化用户的开发工作 | 通过设置访问密钥(AK/SK),直接调用 SDK 提供的接口函数,即可实现使用 OBS 业务能力的目的 |
| obsutil | 一款用于访问管理 OBS 的命令行工具,对于熟悉命令行程序的用户,obsutil 是执行批量处理、自动化任务的最佳选择 | 下载 obsutil 工具,配置服务器地址,通过访问密钥(AK/SK)进行身份鉴权 |
| obsfs | 用于将 OBS 并行文件系统挂载至 Linux 系统,让用户能够在本地像操作文件系统一样直接使用 OBS 的存储空间 | 下载 obsfs 工具,通过访问密钥(AK/SK)进行身份鉴权 |
3.5 存储类别
OBS 支持4 种存储类别:
| 存储类别 | 适用场景 | 特点 |
|---|---|---|
| 标准存储 | 有大量热点文件或小文件,且需要频繁访问数据的业务场景,例如:大数据、移动应用、热点视频、社交图片等 | 访问时延低,吞吐量高 |
| 低频访问存储 | 不频繁访问(平均一年少于 12 次)但在需要时也要求快速访问数据的业务场景,例如:文件同步/共享、企业备份等 | 成本低于标准存储 |
| 归档存储 | 很少访问(平均一年访问一次)数据的业务场景,例如:数据归档、长期备份等 | 安全、持久且成本极低,数据恢复时间可能长达数分钟到数小时不等 |
| 深度归档存储 | 长期不访问(平均几年访问一次)数据的业务场景 | 成本相比归档存储更低,数据恢复时间更长,一般为数小时 |
- 创建桶时支持设置桶存储类别,也可在桶创建完成后修改桶存储类别。
- 生命周期管理:通过配置指定的规则,实现定时删除桶中的对象或者定时转换对象的存储类别,规则通常包含两个关键要素:策略(指定对象名前缀匹配受约束的对象,或将规则配置到整个桶)和时间(指定在对象最后一次更新后多少天执行)。
3.6 多版本控制功能
通过 OBS多版本控制功能,用户可以在一个桶中保留多个版本的对象,使用户更方便地检索和还原各个版本,在意外操作或应用程序故障时快速恢复数据。
- 未启用多版本控制:桶中没有相同的文件,则新上传对象,OBS 自动为每个对象创建唯一的版本号(版本 ID 为 null)。
- 启用多版本控制:开启多版本控制后,桶中已有对象版本 ID(空)和内容都不会变化,再次上传该同名对象,新上传对象会自动添加版本号;上传同名的对象将以不同的版本号同时保存在 OBS 中。
默认情况下,OBS 中新创建的桶不会开启多版本功能,向同一个桶上传同名的对象时,新上传的对象将覆盖原有的对象。
3.7 跨区域复制功能
跨区域复制能够为用户提供跨区域数据容灾的能力,满足用户数据复制到异地进行备份的需求。
- 跨区域复制是指通过创建跨区域复制规则,将一个桶(源桶)中的数据自动、异步地复制到不同区域的另外一个桶(目标桶)中。
- 源桶和目标桶必须属于同一个账号,暂不支持跨账号复制。
启用跨区域复制规则后,符合以下条件的对象会被复制到目标桶中:
- 新上传的对象(归档存储对象除外)
- 有更新的对象,比如对象内容有更新或者已复制成功的对象 ACL 有更新
- 桶中的历史对象(需要开启"同步历史对象"功能)
适用场景:客户需要在多地访问相同的 OBS 资源,为了最大限度缩短访问对象时的延迟,可以使用跨区域复制,在离客户较近的区域中创建对象副本。
3.8 服务端加密功能
OBS 支持多种方式(SSE-KMS、SSE-C、SSE-OBS)的服务端加密,都采用了行业标准的AES256 加密算法。
- 启用服务端加密功能后:
- 用户上传对象时,数据会在服务端加密成密文后存储。
- 用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。
- SSE-KMS(KMS 托管密钥):用户首先需要在 KMS 中创建密钥(或使用 KMS 提供的默认密钥),上传对象时使用该密钥进行服务端加密。可以在创建桶时开启默认加密,开启后所有上传到桶中的对象都会被加密。
- SSE-C(客户提供加密密钥):OBS 使用用户提供的密钥进行服务端加密。
- SSE-OBS:OBS 自行管理密钥的服务端加密方式。
3.9 防盗链功能
在 HTTP 协议中,通过表头字段referer,网站可以检测目标网页访问的来源网页。有了 referer 跟踪来源,就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。
- 防盗链就是通过设置 Referer,去检测请求来源的 referer 字段信息是否与白名单或黑名单匹配,若与白名单匹配成功则允许请求访问,否则阻止请求访问或返回指定页面。
- 一些不良网站想要扩充自己站点内容,但却不想增加成本,于是会盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。因此,产生了防盗链技术。
- OBS 同时支持访问白名单和访问黑名单的设置:白名单 Referer 为空、黑名单 Referer 不空时,允许所有黑名单中指定网站以外的其他网站的请求访问目标桶中的数据;白名单 Referer 不为空时,只允许白名单中指定的网站访问。
3.10 权限管理
默认情况下,OBS 的资源(桶和对象)都是私有的,只有资源拥有者可以访问 OBS 资源,其他用户在未经授权的情况下均无 OBS 访问权限。
OBS 的权限控制是指通过编写访问策略向其他账号或者 IAM 用户授予资源的控制权限。
OBS 支持通过以下方式进行权限控制:
| 方式 | 说明 |
|---|---|
| IAM 权限 | IAM 权限是作用于云资源的,IAM 权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制 |
| 桶策略 | 桶策略是作用于所配置的 OBS 桶及桶内对象的。OBS 桶拥有者通过桶策略可为 IAM 用户或其他账号授权桶及桶内对象的操作权限 |
| 对象策略 | 对象策略是桶策略中针对对象的策略 |
| ACL | OBS ACL 是基于账号级别的读写权限控制,提供桶和对象的 ACL 配置 |
策略管理(桶策略)要点:
- OBS 控制台预置了典型场景的桶策略模板,用户可以使用模板创建桶策略,快速完成桶策略配置;也可以根据业务场景的定制化需求,自定义创建桶策略。
(桶策略应用场景):
- 不用 IAM 权限控制访问权限的情况下,允许其他账号访问 OBS 资源,可以使用桶策略的方式授权其他账号对应的权限。
- 当不同的桶对于不同的 IAM 用户有不同的访问控制需求时,需使用桶策略分别授权 IAM 用户不同的权限。
- 桶拥有者允许其他账号访问自己的桶时,可使用桶策略授权其他账号对应的权限。
3.11 应用场景:备份归档
场景描述:企业数据中心的各类数据通过使用同步客户端、主流备份软件、云存储网关或数据快递服务 DES,备份至华为云对象存储服务 OBS 中。在需要时,可将 OBS 中的数据恢复到云上的灾备主机或测试主机。
OBS 提供高并发、高可靠、低时延、低成本的海量存储系统,满足各种企业应用、数据库和非结构化数据的备份归档需求。建议搭配服务:数据快递服务 DES、弹性云服务器 ECS。
3.12 应用场景:大数据分析
场景描述:OBS 提供的大数据解决方案主要面向海量数据存储分析、历史数据明细查询、海量行为日志分析和公共事务分析统计等场景,向用户提供低成本、高性能、不断业务、无需扩容的解决方案。
- 海量数据存储分析:PB 级的数据存储,批量数据分析,毫秒级的数据详单查询等。
- 历史数据明细查询:流水审计,设备历史能耗分析,轨迹回放,车辆驾驶行为分析,精细化监控等。
- 海量行为日志分析:学习习惯分析,运营日志分析,系统操作日志分析查询等。
- 公共事务分析统计:犯罪追踪,关联案件查询,交通拥堵分析,景点热度统计等。
- 建议搭配服务:MapReduce 服务 MRS、弹性云服务器 ECS。
第 4 章 弹性文件服务(SFS)
4.1 什么是弹性文件服务(SFS)
弹性文件服务(Scalable File Service,SFS)可为用户提供按需扩展的高性能文件存储(NAS,Network Attached Storage),可为云上多个弹性云服务器、容器、裸金属服务器提供共享访问。
- 通过 HTTPS 请求的 API 管理方式或管理控制台方式均可访问弹性文件服务。
- 主要分为SFS 容量型和SFS Turbo两类文件系统。
4.2 SFS 的相关概念
- NFS(Network File System):网络文件系统。一种使用于分散式文件系统的协议,通过网络让不同的机器、不同的操作系统能够彼此分享数据。
- CIFS(Common Internet File System):通用 Internet 文件系统,是一种网络文件系统访问协议。CIFS 是公共的或开放的 SMB 协议版本,由微软公司使用,它使程序可以访问远程 Internet 计算机上的文件。
- POSIX(Portable Operating System Interface):可移植操作系统接口。
弹性文件服务通过NFS/CIFS 协议为客户提供文件存储服务。
4.3 SFS 功能特点
- 支持 NFSv3 协议,满足不同操作系统环境需求(CentOS、Red Hat、SUSE、Ubuntu 等)。
- 同一区域各个可用区内的云文件服务器实例可以跨可用区访问已申请的文件系统。
- 文件系统容量可随时动态扩大或缩小,并且该过程完全对应用透明;性能随容量的扩展而线性增长。
- 支持为多个 VPC中的弹性云服务器提供共享存储并通过授权地址进行访问控制。
4.4 SFS 的优势
与传统的文件共享存储相比,弹性文件服务具有以下优势:
| 优势 | 说明 |
|---|---|
| 弹性扩展 | 弹性文件服务可以根据您的使用需求,在不中断应用的情况下,增加或者缩减文件系统的容量 |
| 高性能、高可靠 | 性能随容量增加而提升,同时保障数据的高持久度,满足业务增长需求 |
| 文件共享 | 同一区域跨多个可用区的云服务器可以访问同一文件系统,实现多台云服务器共同访问和分享文件 |
| 无缝集成 | 弹性文件服务同时支持 NFS 和 CIFS 协议。通过标准协议,无缝适配主流应用程序进行数据读写 |
| 操作简单、低成本 | 操作界面简单易用,可轻松快捷地创建和管理文件系统 |
4.5 弹性文件服务规格
| 规格 | 描述 | 应用场景 | 说明 |
|---|---|---|---|
| SFS 3.0 容量型 | 为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB 规模,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持 | 适用于 HPC、媒体处理、文件共享、内容管理和 Web 服务等 | 不适合海量小文件和随机小 IO 等时延敏感性业务;仅限内网访问,不支持公网访问;不支持使用 CBR 备份 |
| SFS Turbo | 为用户提供一个完全托管的共享文件存储,能够弹性伸缩至 PB 级规模,具备高可用性和持久性,为海量的小文件、低延迟高 IOPS 型应用提供有力支持 | 适用于 HPC、媒体处理、文件共享、AI 训练、自动驾驶、影视渲染、内容管理和 Web 服务等 | SFS Turbo 分为通用型和 HPC 型、HPC 缓存型三大类,更适合海量小文件业务;华为云内网访问,支持云下使用(通过 VPN/专线/其他方式访问) |
SFS 容量型已于2022 年 7 月 1 日停售。
4.6 SFS 的配置流程
- 创建 SFS 文件系统:在多个云服务器中挂载使用,实现文件系统的共享访问。可创建 SFS 3.0 容量型和 SFS Turbo 两种不同类型的文件系统。
- 挂载文件系统到 Linux 或者 Windows 主机。
4.7 挂载 NFS 文件系统
当创建文件系统后,用户需要使用云服务器来挂载该文件系统,以实现多个云服务器共享使用文件系统的目的。以挂载 NFS 文件系统到云服务器(CentOS 系统)为例:
- 以 root 用户登录弹性云服务器,并安装 NFS 客户端及依赖包:
sudoyum-yinstallnfs-utils - (可选)查看是否能解析文件系统挂载地址中的域名(SFS Turbo 文件系统无需域名解析操作,可跳过此步直接挂载):
nslookup文件系统域名 - 执行如下命令,创建用于挂载文件系统的本地路径:
mkdir本地路径 - 执行如下命令,将文件系统挂载到云服务器上(文件系统目前仅支持NFSv3 协议挂载到 Linux 云服务器):
mount-tnfs-overs=3timeo=600挂载地址 本地路径 - 挂载成功后,用户可以在云服务器上访问文件系统:
mount-l
(前提条件):
- 确定云服务器操作系统类型,不同操作系统安装 NFS 客户端的命令不同。
- 已完成创建文件系统,并获取到文件系统的挂载地址。
- 存在至少一台与文件系统所属 VPC 相同的云服务器。
- 云服务器(ECS)上已配置了用于内网解析文件系统域名的 DNS 服务器的 IP 地址。
- 针对 SFS Turbo HPC 型和 HPC 缓存型文件系统,使用域名(DNS)挂载文件系统时,不支持跨区域(Region)挂载。
4.8 挂载 CIFS 文件系统
以挂载 CIFS 文件系统到云服务器(Windows 系统)为例:
- 登录已创建好的 Windows 版本的弹性云服务器。
- 单击"开始",右键单击"这台电脑",选择"映射网络驱动器"。
- 在弹出的对话框中输入文件系统的挂载地址,即
\\文件系统域名\路径。 - 挂载成功后,在"这台电脑"界面中可以看到已经挂载好的文件系统。
CIFS 类型的文件系统不支持使用 Linux 操作系统的云服务器进行挂载。
4.9 SFS 安全可靠
文件系统加密:
- 弹性文件服务为用户提供加密功能,可以对新创建的文件系统进行加密。
- 创建 SFS 容量型文件系统需要授权文件系统访问 KMS;如果拥有 “Security Administrator” 权限,则可直接授权。若创建 SFS Turbo 文件系统时,则不需要授权。
- 可以新创建加密或者不加密的文件系统,无法更改已有文件系统的加密属性。
文件系统备份:
- 备份是文件系统在某一时间点的完整备份,记录了这一时刻文件系统的所有配置数据和业务数据。当文件系统出现故障或文件系统中的数据发生逻辑错误等时,可快速使用备份恢复数据。
- 目前仅 SFS Turbo 文件系统支持使用 CBR 备份,SFS 3.0 容量型文件系统暂不支持使用 CBR 备份。
- 需要对 SFS 3.0 容量型文件系统进行备份,可将数据复制至 OBS 中进行备份,或进行本地备份。
- 当发生病毒入侵、人为误删除、数据丢失等事件时,可以使用 SFS Turbo 备份数据创建新的文件系统。
4.10 应用场景:文件共享
SFS 适用于企业内部部门/员工众多、而且需要共享访问相同文档的场景。
- 通过 SFS 服务托管的公司文件存储,提供多种文件存储服务,具有高可靠、低时延、高带宽等性能特点。
- 用户无须关心底层硬件基础设施,避免了部署、维护硬件带来的复杂性。
推荐使用高 IOPS、低时延的SFS Turbo文件服务,设计规格为99.99999999%(10个9)持久性,保障数据不丢失。
4.11 应用场景:视频渲染
使用高带宽、大容量的 SFS 文件服务,满足视频编辑、转码、合成以及高清视频和 4K 视频点播场景对共享文件存储的需求,支持多层高清视频编辑及 4K 视频编辑。
场景核心要求:
- 共享存储性能:渲染集群会同时访问共享存储对渲染素材进行读写操作,属于高带宽场景,共享存储的存储带宽要大于 10 GB/s。
- 云主机渲染性能平稳:根据渲染消耗的时长对客户进行收费,因此云主机渲染处理要稳定,不同主机之间波动小,最终客户才会信赖。
- 批量操作时间短:批量操作的时间尽可能要短,减少等待时间。
SFS 提供百万 IOPS、几十 GB 带宽性能,满足影视渲染高性能需求,提高数据处理效率。媒体处理涉及音视频数据的存储、调用和管理,要求文件系统容量大且易于扩展、无抖动低时延、支持多用户同时编辑制作、具有较高的数据读写性能。
4.12 SFS vs OBS vs EVS
| 对比维度 | 弹性文件服务(SFS) | 对象存储服务(OBS) | 云硬盘(EVS) |
|---|---|---|---|
| 概念 | 提供按需扩展高性能文件存储,可为云上多个云服务器提供共享访问(类似 Windows 或 Linux 中的远程目录) | 提供海量、安全、高可靠、低成本的数据存储能力 | 可以为云服务器提供高可靠、高性能、规格丰富的块存储服务(类似 PC 中的硬盘) |
| 存储数据的逻辑 | 存放的是文件,会以文件和文件夹的层次结构来整理和呈现数据 | 存放的是对象,可以直接存放文件,文件会生成系统元数据,用户也可以自定义文件的元数据 | 存放的是二进制数据,无法直接存放文件。如果要存文件,需要先格式化 |
| 访问方式 | 需要指定网络地址进行访问,或将网络地址变为本地目录进行访问。使用NFS 或 CIFS的网络文件系统协议 | 可以通过互联网或专线访问,需要指定桶地址,使用的是HTTP 和 HTTPS等传输协议 | 只能在 ECS/BMS 中挂载使用,不能被操作系统应用直接访问,需要格式化 |
| 容量 | PB 级别 | EB 级别 | TB 级别 |
| 时延 | 3~10 ms | 10 ms | 亚毫秒级 |
| 带宽 | GB/s 级别 | TB/s 级别 | MB/s 级别 |
| 使用场景 | 如高性能计算、媒体处理、文件共享、内容管理和 Web 服务等 | 如大数据分析、静态网站托管、在线视频点播、基因测序等 | 如高性能计算、企业核心集群应用、企业应用系统和开发测试等 |
第 5 章 云备份服务(CBR)
5.1 什么是云备份服务(CBR)
云备份(Cloud Backup and Recovery,CBR)为云内(如 ECS、HECS、BMS、EVS、SFS 等)和云下虚拟化环境和本地文件目录,提供简单易用的备份服务。
- 当发生病毒入侵、人为误删除、软硬件故障等事件时,可将数据恢复到任意备份点。
- 云备份保障用户数据的安全性和正确性,确保业务安全。
5.2 云备份服务架构
云备份由备份、存储库和策略组成:
- 备份:一个备份对象执行一次备份任务产生的备份数据,包括备份对象恢复所需要的全部数据。
- 存储库:云备份使用存储库来存放备份。创建备份前,需要先创建至少一个存储库,并将服务器或磁盘绑定至存储库。
- 策略:策略分为备份策略和复制策略,分别用于备份和复制的场景。
- 备份策略:通过在策略中设置备份任务执行的时间、周期以及备份数据的保留规则,将备份存储库绑定到备份策略,可以为存储库执行自动备份。
- 复制策略:通过在策略中设置复制任务执行的时间、周期以及备份数据的保留规则,将备份存储库绑定到复制策略,可以为存储库执行自动复制。复制产生的备份需要存放在复制存储库中。
5.3 备份方式
云备份提供两种配置方式:
- 一次性备份:用户手动创建的一次性备份任务。
- 周期性备份:用户通过创建备份策略并绑定存储库的方式创建的周期性备份任务。
用户也可以根据业务情况将两种方式混合使用。例如,根据数据的重要程度不同,可以将所有的资源绑定至同一个存储库,并将该存储库绑定到一个备份策略中进行日常备份保护;其中个别保存有非常重要的数据的资源,根据需要不定期的执行一次性备份,保证数据的安全性。
5.4 产品优势
云备份服务具备可靠、高效、简单、安全等优势:
- 可靠:支持云服务器多盘一致性备份,数据库服务器应用一致性备份,使您的数据更加安全可靠。
- 高效:永久增量备份,大幅缩短备份时长;即时恢复,RPO 最小为 1 小时,RTO 可达分钟级。
- 简单:操作简单,3 步完成备份配置,无需具备专业的备份软件技能,相比传统备份系统使用更简单。
- 安全:加密盘的备份数据自动加密,保障数据安全。
(关键概念):
- RPO(Recovery Point Objective):数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。
- RTO(Recovery Time Objective):恢复时间目标,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。
5.5 云备份应用场景
云备份适用于数据备份和恢复以及业务快速迁移和部署的场景:
- 数据被误删:通过云备份,可立即恢复到删除前的备份时间点,找回被删除的数据。
- 应用程序更新出错:通过云备份,可立即恢复到应用程序更新前的备份时间点,使系统正常运行。
- 云服务器宕机:通过云备份,可立即恢复到宕机之前的备份时间点,使服务器能再次正常启动。
第 6 章 思考题与总结
6.1 本章总结
当数据产生时,也会有存储的需求。通过本章的学习,我们对于存储的类型有了全新的认识,对华为云的存储服务也有了全新的了解。
在企业上云的大趋势下,只有掌握好各类存储服务的定位、原理以及使用,我们才可以更好地匹配企业对于存储的需求,例如:
- 文件共享需要何种类型的存储服务?
- 数据库需要何种类型的存储服务?
附录:术语和缩略语
| 缩略语 | 英文全称 | 中文含义 |
|---|---|---|
| AK/SK | Access Key ID / Secret Access Key | 访问密钥 |
| API | Application Programming Interface | 应用编程接口 |
| AZ | Availability Zone | 可用区 |
| AS | Auto Scaling | 弹性伸缩 |
| BMS | Bare Metal Server | 裸金属服务器 |
| CIFS | Common Internet File System | 通用Internet文件系统 |
| CBR | Cloud Backup and Recovery | 云备份 |
| DES | Data Express Service | 数据快递服务 |
| DSS | Dedicated Distributed Storage Service | 专属分布式存储服务 |
| DHCP | Dynamic Host Configuration Protocol | 动态主机配置协议 |
| ECS | Elastic Cloud Server | 弹性云服务器 |
| EVS | Elastic Volume Service | 云硬盘 |
| HPC | High-Performance Computing | 高性能计算 |
| HA | High Available | 高可用 |
| HTTP | Hypertext Transfer Protocol | 超文本传输协议 |
| HTTPS | Hypertext Transfer Protocol over Secure Sockets Layer | 安全套接字层的超文本传输协议 |
| IAM | Identity and Access Management | 统一身份认证服务 |
| IOPS | Input/Output Per Second | 每秒进行读写操作的次数 |
| NAS | Network Attached Storage | 网络附加存储 |
| NFS | Network File System | 网络文件系统 |
| OBS | Object Storage Service | 对象存储服务 |
| POSIX | Portable Operating System Interface | 可移植操作系统接口 |
| RTO | Recovery Time Objective | 数据恢复点目标 |
| RPO | Recovery Point Objective | 恢复时间目标 |
| SCSI | Small Computer System Interface | 小型计算机系统接口 |
| SDK | Software Development Kit | 软件开发工具包 |
| SFS | Scalable File Service | 弹性文件服务 |
| SSD | Solid-State Drive | 固态硬盘 |
| SDRS | Storage Disaster Recovery Service | 存储容灾服务 |
| VBD | Virtual Block Device | 虚拟块设备 |
| VPC | Virtual Private Cloud | 虚拟私有云 |
| VDI | Virtual Desktop Infrastructure | 虚拟桌面基础架构 |