
# 存储服务选型
华为云提供的存储服务主要是OBS（Object Storage Service，对象存储服务）、EVS（Elastic Volume Service，弹性云硬盘）、SFS（Scalable File Service，弹性文件服务）等，这三类存储服务的对比表如下所示。
表1三类存储服务的对比 
| **对比维度** |                        **EVS**                        |                                           **SFS**                                            |                           **OBS**                           |
|:--------:|:-----------------------------------------------------:|:--------------------------------------------------------------------------------------------:|:-----------------------------------------------------------:|
|    特点    |                 高可靠、高IOPS、弹性扩展（等同于硬盘）                 |                                    高带宽、按需扩展、共享访问（等同于NAS）                                     |                 高可靠、低成本、海量可扩展性、支持任意类型和大小的对象                 |
|   使用场景   |              高性能计算、企业核心集群应用、企业应用系统和开发测试等              |                                 高性能计算、媒体处理、文件共享和内容管理和Web服务等                                  |              大数据分析、静态网站托管、在线视频点播、基因测序和智能视频监控等               |
|   存储逻辑   |           存放的是二进制数据，无法直接存放文件，如果需存放要先格式化文件系统           |                                  存放的是文件，会以文件和文件夹的层次结构来整理和呈现                                  |       存放的是对象，可以直接存放文件，文件会自动产生对应的系统元数据，用户也可以自定义文件的元数据        |
|   访问方式   | 只能在ECS/BMS中挂载使用，不能被操作系统应用直接访问，需要格式化成文件系统（OS层，不涉及应用改造） | 在ECS/BMS/CCE中通过网络协议挂载使用，支持NFS/CIFS（通用文件系统不支持CIFS），需要指定网络地址访问，也可以将网络地址映射为本地目录后访问（OS层，不涉及应用改造） | 可以通过互联网或专线指定桶地址使用HTTP或HTTPS访问（应用层，需要应用集成SDK或调用API接口，涉及应用改造） |
|   数据共享   |          支持，需通过ECS/BMS中安装的集群管理软件控制，不能跨可用区共享           |                         支持，直接NFS V3协议访问即可（SFS Turbo还支持CIFS），支持跨可用区共享                         |                 支持，直接HTTP/HTTPS访问即可，可无限制共享                  |
|   远程访问   |                          不支持                          |                                              支持                                              |                             支持                              |
|   单独使用   |                          不支持                          |                                              支持                                              |                             支持                              |
|    容量    |                         TiB级                          |                                 PiB级（SFS Trubo）/EiB级（通用文件系统）                                 |                            EiB级                             |
|    时延    |                          最小                           |                                              中                                               |                             最大                              |
|   吞吐带宽   |                        MiB/s级                         |                                            GiB/s级                                            |                           TiB/s级                            |
|   数据冗余   |                         单可用区                          |                                单可用区（SFS Turbo）/单或多可用区（通用文件系统）                                |                          单可用区/多可用区                          |
|  数据可靠性   |                          9个9                          |                                             10个9                                             |                      单AZ：11个9；多AZ：12个9                      |
|  存储计费方式  |                         按容量计费                         |                                SFS Turbo按容量计费/SFS通用文件系统按使用量计费                                |                           按使用量计费                            |
   
以下是存储服务的选型原则：
#### 业务适用原则
首先要根据业务场景选择适用的存储类型，重点考虑如下几个方面：
1. **可用的访问方式：**EVS盘或SFS文件系统挂载到主机后，体现为操作系统中的一个文件系统路径，上层应用可以直接访问，而OBS需要业务应用调用专用的SDK或API接口访问，需要了解业务可接受的访问方式。对于数据库类需要直接裸盘映射的应用，只能使用块存储（EVS）。
2. **是否需要共享：**EVS支持共享操作，需要在购买时勾选共享特性，并通过专用集群软件管理共享磁盘。而SFS和OBS天然支持共享，因此需要结合业务场景分析要存储的内容是否有多节点共享的诉求。
3. **存储容量：** 不同的存储类型可以支持的容量不同，需要基于当前业务量和未来发展预估所需的容量级别，以便选择合适的存储类型：
   表2存储服务的最小和最大容量 
   |       **存储类型**        || **最小容量** | **最大容量** |
   |:---------:|---|:--------:|:--------:|
   |          EVS          ||   10GB   |   32TB   |
   | SFS Turbo | 20MB/s/TiB |  3.6TB   |   1PB    |
   | SFS Turbo | 其他         |  1.2TB   |   1PB    |
   |       SFS通用容量型        ||    0     |   无限制    |
   |          OBS          ||    0     |   无限制    |
      
   
 
#### 性能匹配
存储服务的性能指标包括传输带宽、IOPS和时延等，如下表所示，您需要根据业务系统的性能要求和特点选择最合适的存储服务及对应的规格。
另外，EVS和OBS对所存储对象的大小无限制，SFS通用容量型不适合1MB以下的海量小文件应用，SFS Turbo和后续的SFS通用性能型可支撑海量小文件应用。
表3存储服务的性能指标 
|          **存储类型**           || **带宽上限（GB/s）** | **IOPS上限** | **平均时延级别** |
|---|---|---|---|---|
| EVS       | 高IO-SAS          | 0.15           | 5K         | 1\~3ms     |
| EVS       | 通用型SSD-GPSSD     | 0.25           | 20K        | 1ms        |
| EVS       | 超高IO-SSD         | 0.35           | 50K        | 1ms        |
| EVS       | 通用型SSD V2-GPSSD2 | 1              | 128K       | 1ms        |
| EVS       | 极速型SSD-ESSD      | 1              | 128K       | 亚毫秒级       |
| EVS       | 极速型SSD V2-ESSD2  | 4              | 256K       | 亚毫秒级       |
| SFS Turbo | 20MB/s/TiB       | 20             | 250K       | 2\~5ms     |
| SFS Turbo | 40MB/s/TiB       | 20             | 250K       | 2\~5ms     |
| SFS Turbo | 125MB/s/TiB      | 100            | 百万级        | 1\~3ms     |
| SFS Turbo | 250MB/s/TiB      | 100            | 百万级        | 1\~3ms     |
| SFS Turbo | 500MB/s/TiB      | 200            | 百万级        | 1\~3ms     |
| SFS Turbo | 1000MB/s/TiB     | 200            | 百万级        | 1\~3ms     |
| SFS通用型    | 容量型              | 50             | 100K       | 7ms        |
| SFS通用型    | 性能型              | 200            | 2000K      | 5ms        |
| OBS                         || TB级            | 千万级        | 10ms+      |
   
#### 成本优化
存储类型的选择还需考虑成本因素，在满足业务性能要求的情况下降低存储成本。
1. 满足业务性能要求的情况下，优先选择存储单价低的存储服务。
2. 按规格计费的存储（EVS及SFS Turbo）做好业务增量预测和容量监控告警，建议预留15%\~20%作为扩容阈值即可，避免初始购买的容量规格过大造成资源浪费。
3. 按量计费的存储（SFS通用型及OBS）做好使用量规划，适当购买资源包抵扣使用量，可以进一步降低成本。
4. 支持生命周期管理的存储（SFS通用型及OBS）做好生命周期策略规则，及时将冷数据转入低频存储，可以进一步降低成本。
5. 对于存储容量需求较大、数据保存周期较长的业务，通过业务应用层的改造，根据不同类型存储的特点组合使用（例如组合EVS/SFS Turbo和OBS），可以在保证业务性能要求的情况下优化成本。
 
#### 可靠性保障
EVS、SFS Turbo、SFS通用型、OBS均是三副本存储，数据持久性可满足业务的要求，但可靠性方面存在一定的差异：
- EVS、SFS Turbo的三副本均在同一个可用区，若可用区出口或机房出现故障时，会导致业务不可用。
- SFS通用型、OBS支持单可用区或多可用区（当前SFS通用型还只有单可用区可选，后续逐步上线多可用区产品），对连续性要求高的业务，可选择多可用区的实例。
- EVS支持通过镜像、快照、云备份功能进行数据的快速备份和恢复，SFS Turbo支持通过云备份功能进行备份和恢复，SFS通用型、OBS一般用于超大容量业务场景、暂未规划备份能力。
 
基于以上选型原则，以下是一些典型场景的选型建议：
- 除非自建数据库双机/集群等场景，否则通常不建议使用共享盘，而是改用SFS服务来实现多主机的文件共享（共享盘不支持跨AZ被挂载到多个ECS，而SFS支持）。
- 对于需要频繁读写大量日志、且需要对日志做汇总分析的应用，建议优选SFS作为多节点共享的日志统一存储（具体类型根据性能需要选择）。
- 异步交互/对时延不敏感的业务，优选OBS存储，节省成本；若业务难以适配改造，则可以考虑SFS通用容量型替代。
- AI场景综合考虑性能和成本，通常建议组合SFS Turbo+OBS使用。
 
