本文发布于Cylon的收藏册,转载请著名原文链接~
存储选择需要考虑的问题:不同的文件访问方式?
在关注存储之前,需要关注下面一些问题:
“应用” 访问数据的方式是什么?
- 一次读取 或 分块读取
- 一个连续的“流”传输最好的方式是什么
- 有序的 或 随机的
“数据的类型是什么”?
- 数据库,Text,视频/音频,图像…
- 静态 / 固定 / 动态
是否需要数据共享?
- 由应用共享 / 由存储共享
- 读 / 写
共享方面关注的问题?
- Narrow (只需要更新部分内容,这可以共享特定部分内容,这将不是一个广泛共享) / Broad
安全和访问控制:
- 应用什么级别的的安全性?
访问性会影响存储的选择:
- Local / Network
- 介质:光纤,以太网,SAS,SATA,PCIe…
有了这些问题,就可以引入存储的类型,以便选择最佳的存储(Balance performance and cost )
DAS
Direct Attached Storage (DAS) 直接附加存储是指,直接连接到服务器存储系统,通俗来讲就是直接连接磁盘,服务器与存储系统之间“没有经过网络设备” (如交换机等),服务器与存储直接由专用的“连接技术”进行连接,如 SCSI, 但现在更常见的是 “eSATA”, “SAS”, 或 “光纤通道”。
外部连接
直连存储也可以通过连接电缆从服务器连接到存储设备,但服务器中必须存在 SAS、以太网或 FC 控制器,只有该服务器可以使用外部磁盘空间。因此直连存储也可以作为是服务器的扩展
SAS 作为连接介质价格低廉,但距离仅限于几米(最大 5 或 10 米,具体取决于制造商);光纤通道的传输距离可达数公里,因此也可用作灾备系统。
许多 DAS 系统都有一个内部 RAID 控制器,这些 RAID 将作为一个逻辑磁盘呈现给服务器。这样,用小的物理磁盘也可以生产出大的逻辑硬盘。RAID 控制器的另一个优点是与单个磁盘相比,RAID 5 和 RAID 10 中的 I/O 吞吐量有所增加。
DAS的优缺点
优点:
- 高可用
- 更好的数据安全与容错
- 存储容量扩展更经济
- 消除网络设置的复杂性
- 易于管理
缺点:
- 有限的分享
- 利用率差
- 仅允许有限的使用者(服务器)
- 单设备有限的接口
表现形式
- 在操作系统方面表现为一个裸磁盘(块设备),如 /dev/sda
- 在硬件方向表现为一个硬盘设备,如:SSD, HDD, M.2…
NAS
Network Attached Storage (NAS) 网络附加存储是连接到网络的专用文件服务器。NAS 使用以太网和 TCP/IP 等协议,使得 NAS 能够摆脱 SCSI 技术的限制。在表现方面 NAS 是作为一个“网络节点”,也会存在一些 NAS 产品(例如 Network Appliance Filer 和 Auspex 服务器)作为存储设备。
NAS 的优缺点
优点:
- 对端口没有限制
- 高度的可扩展性和灵活性
- 便于安装和维护
- 多协议
缺点:
- 大规模场景下性能会下降(性能取决于协议)
- 面向文件(文件系统)
- 因依赖网络,传输速率比 DAS 慢
- NAS 由于“共享文件系统”,在安全性的地方会存在弊端
- 备份和恢复期间会造成网络拥塞
表现形式
- 在操作系统层面表现为“存储中的一个目录”,如 /data
- 协议类型:NFS, CIFS
- 典型产品:
- NFS
- Samba
- GlusterFS
- CephFS
- 公有云:EFS(AWS), CFS(tencent), NAS(Aliyun)
SAN
Storage Area Network (SAN) ,是一种附加远程存储的架构,使其看起来像是本地的,多用于数据中心的存储解决方案,SAN 将存储作为了可通过网络访问的单独设备,该方案融合了 DAS 和 NAS 的灵活性,也增加了配置的复杂性,通常使用与 DAS 类型的协议(SCSI, ISCSI, Fiber Channel) 连接。
SAN 的优缺点
优点:
- 可以存储大量数据
- 中心化管理
- 高度容错
- 支持动态扩展
- 快速高效的备份和恢复
缺点:
- 硬件成本高(FC 交换机, FC 网络接口, HBA),价格昂贵
- 因客户端是多个共享,安全性不好
- 维护困难
- SAN 不适合数据密集型传输,更适用与低流量
- 依赖高速网络
表现形式
- 在操作系统方面表现为一个裸磁盘(块设备),如 /dev/sda
- 在硬件方向表现为一个磁盘阵列服务器
DAS vs NAS vs SAN
三种存储类型在架构图上表示如下图所示:
对比 DAS, NAS 和 SAN:
类型 | DAS | NAS | SAN |
---|---|---|---|
组成 | 主机 (PC/Server)+存储设备(硬盘) | 主机 (PC/Server) 文件系统服务 存储设备 |
磁盘阵列服务器 光纤交换机 存储设备 |
传输介质 | 电缆(IDE, SATA..) | 以太网 | 光纤 + 光纤交换机 + 电缆 (IDE, SATA) |
类型 | 块设备 | 文件系统 | 块设备 |
应用规模 | 小规模 | 中 | 大 |
传输速度 | 介质通道速度 | LAN + 介质通道速度双冲因素 | 通道速度 |
NAS vs SAN
在通常情况下 NAS与 SAN 常常会进行对比,主要区别在于 SAN 是通道附加的,而 NAS 是网络附加的。
传输协议方面,SAN 与 NAS 技术相似但又不同。SAN 传统上采用低级网络协议来传输磁盘块 NAS 设备通常通过 TCP/IP 传输文件
设备表现方面:NAS 是对数据文件进行操作的单个存储设备,而 SAN 是对磁盘块进行操作的多个设备的本地网络。
网络依赖方面:SAN 通常使用 iSCSI 和光纤通道互连。NAS 通常建立以太网和 TCP/IP 连接。
性能方面:
- 由于文件系统层速度较慢,NAS 通常具有较低的吞吐量和较高的延迟,但高速网络可以弥补 NAS 的性能损失。
- SAN 是适用于事务数据库和电子商务网站等高流量环境的高性能设备。FC 或 NVMe 等技术有助于有效地消除此类请求。
扩展性方面:NAS可以是 DAS构成的主机,也可以是一个网络磁盘阵列服务器,通常扩展性不是很高;SAN 。其网络架构允许管理员在纵向或横向配置中扩展性能和容量
传输协议方面:
- NAS 通过以太网交换机的网线直接连接到以太网。NAS 可以使用多种协议连接到服务器,包括 NFS、SMB/CIFS 和 HTTP。
- SAN 使用 SCSI 协议或 SAN 驱动设备进行通信。网络是通过使用 SAS /SATA 连接类型或通过将层映射到其他协议来形成的,例如 FC 协议 (FCP) 协议映射 SCSI over FC 或 iSCSI映射 SCSI over TCP/IP 。
Block Storage
块存储是一种允许对低级存储设备进行抽象的技术,主要优点是提供低延迟操作。块设备视通常为常规磁盘(底层可以是 DAS 或 SAN),在操作系统层面会将其检测为原始磁盘。然后,对其进行格式化以在其上创建文件系统(ext4、XFS、NTFS…)并开始将其用作可以存储数据的常规设备。
块设备由集群作为较小块的集合进行管理(称为块或简称为块,因此得名)。这些块中的每一个都可以存储在由多台机器组成的存储集群中并存储在唯一的地址下。
块存储由 1 和 0 组成;没有用于跟踪和可视化数据的文件系统或元数据;操作系统必须处理所有块的读/写。此选项的优点是吞吐量性能、低延迟和高 IOPS。通常,块最适合云平台基础设施(管理程序)和数据库,因为它具有高性能的趋势。
FIle System
与块存储不同,基于文件的存储(NAS、文件系统)隐藏了与块存储相关的大部分复杂性。NAS 只是在网络上显示为驱动器号或目录,文件系统在存储和管理文件方面表现出色,而块存储缺乏更高级别的数据结构因为它能够轻松地通过网络共享文件,并且具有扩展能力。
Object Storage
对象存储是在云计算行业为了存储大量非结构化数据的需求而创建的。数据不使用文件路径,而对象及其元数据的访问是使用标准 HTTP API 完成的
Reference
[1] 스토리지 구성 DAS, NAS, SAN, IP-SAN
[2] NAS vs SAN storage: Sự khác biệt và các ứng dụng phù hợp
[4] Advantages and Disadvantages of SAN
本文发布于Cylon的收藏册,转载请著名原文链接~
链接:https://www.oomkill.com/2023/08/acquaintance-stroage/
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」 许可协议进行许可。