minio最后一个使用apache协议的版本是RELEASE.2021-04-22T15-44-28Z
minio所支持的s3 api: https://min.io/docs/minio/linux/reference/s3-api-compatibility.html?ref=docs
有的公有云厂商的对象存储还会提供缩略图跟视频截帧等额外的功能,这些功能ceph和minio是不支持的,想要支持的话需要自己实现。
云块存储,云文件存储,都没有意义,所以云平台只需要提供虚拟机服务和s3服务就可以了,但是raid技术还是很有必要的。
常用名字的解释
- DAS: Direct Attached Storage,即直连附加存储,第一代存储系统,通过SCSI总线扩展至一个外部的存储,一般以磁带阵列的形式存在。
- NAS: Network Attached Storage,即网络附加存储,通过网络协议如NFS远程获取后端文件服务器共享的存储空间。
提供共享文件夹,客户端通过挂载目录的方式使用NAS提供的文件存储。
- SAN: Storage Area Network,即存储区域网络,分为IP-SAN和FC-SAN。IP-SAN使用标准的TCP/IP协议栈来封装SCSI命令,通过现有的以太网基础设施进行数据传输,即iSCSI(Internet Small Computer System Interface)协议。FC-SAN采用专门设计的光纤通道(Fibre Channel, FC)协议,它为存储通信提供了优化的数据路径,直接支持SCSI指令集。SAN没有使用局域网LAN技术,其使用的是高速专用存储网络。
SAN 提供块级别的数据访问,直接将磁盘空间呈现给服务器,如同直接连接的本地磁盘。
NAS 提供文件级别的访问,而 SAN 提供块级别的访问。
NAS 使用文件协议(如 NFS、SMB/CIFS),而 SAN 使用块协议(如 FC、iSCSI)
IP-SAN最适用的环境是通过IP网络环境的远程数据备份,在较轻网络负载和流量的情况下,IP-SAN网络的稳定性较好;在逼近极限的连续大I/O吞吐情况下,IP-SAN网络变得极不可靠。
- Object Storage: 即对象存储,随着大数据的发展,越来越多的图片、视频、音频静态文件存储需求,动则PG以上的存储空间,可无限扩展。
什么是块存储
块存储是i/o设备中的一类,将信息存储在固定大小的块中,每个块都有自己的地址,每次读取都读取一定长度的数据。
当给计算机连接块设备后,系统检测到有新的块设备后,该块设备的驱动程序就在/dev目录下创建个对应的块设备设备文件,用户就可以通过块设备文件使用该块设备了。
它们怎么有的叫sda?有的叫sdb?有的叫hda?
以sd开头的块设备文件对应的是scsi接口的硬盘,而以hd开头的块设备文件对应的是IDE接口的硬盘。
而sda和sdb的区别呢?当系统检测到多个scsi硬盘时,会根据检测到的顺序对硬盘设备进行字母顺序的命名。
怎么还有的叫 rbd1 和 rbd2 呢?
rbd 是“RADOS Block Device”的缩写,它是 Ceph 分布式存储系统的一部分。rbd 提供了一个块设备接口,可以让你像使用普通的硬盘那样使用 Ceph 存储集群中的存储空间。
可以这样理解,sda和hda但是通过数据线连接到了真实的硬盘,而rbd是通过网络连接到ceph集群中的一块存储区域。
对象存储
块存储读写快,不利于共享。文件存储读写慢,利于共享。能否弄一个读写快,利于共享的出来呢。于是就有了对象存储。
首先,一个文件包含了属性(术语叫metadata,元数据,例如该文件的大小、修改时间、存储路径等)以及内容(以下简称数据)。
以往像FAT32这种文件系统,是直接将一份文件的数据与metadata一起存储的,存储过程先将文件按照文件系统的最小块大小来打散(如4M的文件,假设文件系统要求一个块4K,那么就将文件打散成为1000个小块),再写进硬盘里面,过程中没有区分数据和metadata的。而每个块最后会告知你下一个要读取的块的地址,然后一直这样顺序地按图索骥,最后完成整份文件的所有块的读取。
这种情况下读写速率很慢,因为就算你有100个机械手臂在读写,但是由于你只有读取到第一个块,才能知道下一个块在哪里,其实相当于只能有1个机械手臂在实际工作。
而对象存储则将元数据独立了出来,控制节点叫metadata服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了哪几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。
这时候由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。
既然块存储之上需要文件系统,那为何不直接使用文件存储呢?
并不是所有的块存储都需要在其上构建完整的文件系统,哪怕构建了文件系统,也可以使用direct I/O技术让应用程序部分绕过文件系统层。
以下是一些原因解释为什么有时会选择块存储而不直接使用文件存储:
-
性能考虑: 块存储提供更接近硬件层面的访问,没有文件系统的元数据开销,因此在需要极高I/O性能的应用场景下更为合适。
-
灵活性: 块存储提供了更大的灵活性,因为它允许用户根据自己的需要安装任何类型的文件系统。
-
协议不一样: 文件存储和块存储使用的数据传输协议是不一样的,文件系统只是给访问块设备提供了便利而已。
-
是否通过网络:文件存储一定会通过网络,但是块存储就不一定了
-
块存储在/dev目录下有对应的设备文件,文件存储没有
-
块存储支持Direct I/O 操作,文件存储不支持Direct I/O 操作
SCSI指令集 和 SAS接口
SCSI 是一种命令集或协议,它定义了计算机主机如何与外部设备(如硬盘、光驱等)通信的标准。
SAS(Serial Attached SCSI) 是专门为块设备设计的物理接口标准,基于 SCSI 的命令集来实现数据传输。
SAS接口 SATA接口 PCIe/NVMe接口
SAS(Serial Attached SCSI)接口主要用于数据中心、服务器和其他需要高可用性和稳定性的环境。
SATA(Serial ATA)主要面向消费级市场和个人电脑,强调成本效益和易于安装。
SAS具备2对收发通道,而SATA仅有1对收发通道,SAS的接口技术可以向下兼容SATA,但SATA不可以反向兼容SAS接口。
服务器中存储架构与SSD使用场景:
+---------+ +---------+
| CPU |------------------------------------VROC----------->| NVMe |
+---------+ +---------+
|PCIe
v Brandcom
+---------+ +---------+
| Chipset |---------------------------------|HBA/RAID |
+---------+ +---------+
| |
v |
+---------+ |
| SATA | |
+---------+ |
| +------------------+-------------------+
+-------+-------+ v v v
+----v-----+ +-----v----+ +---------+ +---------+ +---------+
|Boot drive| |Data drive| | SATA | | SAS | | NVMe |
+----------+ +----------+ +---------+ +---------+ +---------+
| | |
+-------+-------+ v v
+----v-----+ +-----v----+ +-----v----+ +-----v----+
|Boot drive| |Data drive| |Data drive| |Data drive|
+----------+ +----------+ +----------+ +----------+
从目前的市场发展来看,SATA接口衰减迅速,SAS市场份额平稳,而PCIe/NVMe SSD因其更高带宽的优势增长迅速将逐步取代SATA成为主流趋势。
公有云的云硬盘为何性能强劲呢?
公有云的虚拟机,无论是系统盘还是数据盘,其实都用的云硬盘。
公有云的云硬盘之所以性能强劲,是因为物理机和云硬盘之间的数据传输使用了特有的IO线路,该线路有一个专门的团队做性能优化。
云硬盘的性能等级:
- 第一等级,基于传统HDD硬盘构建而成的:性能一般,但成本较低
- 第二个等级,基于混合硬盘(HDD+SSD):综合发挥SSD的性能优势和HDD的容量优势
- 第三个等级,纯SSD硬盘:使用的普通sata ssd,成本较高
- 第四个等级,高性能SSD硬盘:使用的最新的PCIe ssd,成本极高
存储介质 | iops | 阿里云 |
---|---|---|
HDD | 数百 | HDD |
SSD/HDD | 数百到数千 | 高效云盘 |
SDD | 数千到数万 | SSD |
高性能SSD | 数万到数十万 | ESSD |
本文发表于 0001-01-01,最后修改于 0001-01-01。
本站永久域名「 jiavvc.top 」,也可搜索「 后浪笔记一零二四 」找到我。