2.1.5 存储层次架构
从分布式系统的角度看,整个集群中所有服务器上的存储介质(内存、机械硬盘,SSD)构成一个整体,其他服务器上的存储介质与本机存储介质一样都是可访问的,区别仅仅在于需要额外的网络传输及网络协议栈等访问开销。
如图2-5所示,假设集群中有30个机架,每个机架接入40台服务器,同一个机架的服务器接入到同一个接入交换机,不同机架的服务器接入到不同的接入交换机。每台服务器的内存为24GB,磁盘为10×1TB的SATA机械硬盘(15000转)或者10×160GB的SSD固态硬盘。那么,对于每台服务器,本地内存大小为24GB,访问延时为100ns,本地SATA磁盘的大小为4TB(假设利用率为40%),随机访问的寻道时间为10ms,本地SSD磁盘的大小为1TB(假设利用率为60%),访问延时为0.1ms,SATA磁盘和SSD的访问带宽受限于SATA接口,最大不超过300MB/s。同一个机架下的服务器的内存总量大致为1TB,访问延时和带宽受限于网络,访问延时大约为300µs,带宽为100MB/s,磁盘总容量为160TB,访问延时为网络延时加上磁盘寻道时间,大约为11ms,SSD容量为40TB,访问延时为网络延时加上SSD访问延时,大约为2ms。整个集群下所有服务器的内存总量为30TB,访问延时和带宽受限于网络,跨机架访问需要经过聚合层或者核心层的交换机,访问延时大约为500µs,带宽大约为10MB/s,磁盘和SSD的访问延时分别为11ms以及2ms,带宽为10MB/s。
图 2-5 存储层次结构图
存储系统的性能主要包括两个维度:吞吐量以及访问延时,设计系统时要求能够在保证访问延时的基础上,通过最低的成本实现尽可能高的吞吐量。磁盘和SSD的访问延时差别很大,但带宽差别不大,因此,磁盘适合大块顺序访问的存储系统,SSD适合随机访问较多或者对延时比较敏感的关键系统。二者也常常组合在一起进行混合存储,热数据(访问频繁)存储到SSD中,冷数据(访问不频繁)存储到磁盘中。