向开发人员和其他用户解释存储问题的最佳方法是什么


40

当服务器存储空间不足时,开发人员开始抱怨,“我可以花100美元在沃尔玛买到1 TB的硬盘,这是什么问题”。

如何向开发人员说明存储的复杂性,以便他们理解为什么沃尔玛的1 TB驱动器将无法工作。

ps我是开发人员,也想知道:)


5
或者“我可以通过Amazon S3以每GB 0.15 USD的价格获得存储,这是什么问题?”
克里斯·厄普彻奇

@Chris Upchurch:但是问题是,您可能必须编写一份有关选择Amazon S3,Google App Engine还是... Gosh的报告,这可能是有用的。;)
dance2die

6
我可能会反驳你。我的工作产生了收入,我需要更多的存储空间才能有效地完成工作。这是一笔可观的投资,那么为什么您不能只购买更多存储呢?

1
@Chris:当然,这总是取决于当前的情况,但是我(通过昂贵的经验)发现,将Amazon S3用于基准存储并不完全具有成本效益。S3更好地用于处理流量高峰,因此您不必投资可以处理罕见的最坏情况的系统-但是,如果您开始将其用于日常操作,您可能会发现自己的处境要好得多支付资本成本...
MihaiLimbăşan2009年

Answers:


53

关于存储的一些家庭常识,或者为什么企业存储如此昂贵?

消费类硬盘提供大量空间,因此,即使是*咳嗽*流媒体*咳嗽*的最挑剔用户也可以购买足够存储几TB数据的存储空间。实际上,几十年来,磁盘容量的增长速度已经超过了晶体管在硅片上的数量。

“企业”存储是一个稍微复杂的问题,因为数据具有对性能和完整性的要求,这决定了采用更重的方法。如果发生硬件故障,数据必须具有一定的可用性保证,并且可能必须与大量用户共享,这将比单个用户生成更多的读/写请求。

该问题的技术解决方案每GB的成本可能比消费者存储解决方案高很多倍。他们还需要物理维护;必须进行备份并经常将其存储在异地,以免发生火灾不会破坏数据。此过程增加了持续的成本。

性能

在您的1TB消费者甚至企业近线驱动器上,您只有一个磁头。磁盘以7200 RPM或每秒120转的速度旋转。这意味着理论上*每秒最多可以进行120次随机访问I / O操作,而在实践中则更少。因此,在单个1TB的卷上复制大文件相对较慢。

在具有14个72GB磁盘的磁盘阵列上,磁盘具有14个磁头,其运行速度为(例如)15,000 RPM或每秒约250转。理论上,您每秒最多可以进行3500次随机I / O操作*(同样,实际操作中要少一些)。等同于文件副本的所有其他条件将快很多倍。

*如果读取的几何形状允许驱动器移动磁头并读取磁盘旋转一圈内可用的扇区,则磁盘每旋转一圈,您可能会获得多个随机访问权限。如果磁盘访问分散,则平均访问次数可能少于一。在大多数情况下,以条带化(请参见下文)格式格式化的磁盘阵列,每转一圈最多可获得一个条带读取,并且(取决于RAID控制器)平均可能少于一个。

7200 RPM 1TB驱动器在顺序I / O上可能会相当快。通常,以条带化格式(RAID-0,RAID-5,RAID-10等)格式化的磁盘阵列每转一圈最多只能读取一个条带。使用64K条带,我们可以从15,000 RPM磁盘上每秒读取64Kx250 = 16MB左右的数据。在14个磁盘阵列上,这提供了大约220MB /秒的连续吞吐量,这在纸上没有比现代1TB SATA磁盘所引用的150MB /秒快得多。

对于视频流(例如),RAID-0中带大条带大小的4个SATA磁盘阵列(某些RAID控制器将支持最大1MB的条带大小)具有相当大的顺序吞吐量。从理论上讲,此示例的流速度约为480MB /秒,足以进行实时未压缩的高清视频编辑。因此,Mac Pro和类似硬件的所有者可以执行高清视频合成任务,而几年前就需要一台具有直接连接光纤阵列的机器。

磁盘阵列的真正好处在于数据库工作,其特点是有大量小的分散的I / O请求。在这种类型的工作负载上,性能受磁盘中金属位的物理延迟的影响。此度量标准称为IOPS(每秒I / O操作)。从理论上讲,您拥有的物理磁盘越多(无论容量如何),IOPS越多。更高的IOPS意味着每秒更多的事务。

数据的完整性

另外,大多数RAID配置为您提供了一些数据冗余-从定义上讲,它需要多个物理磁盘。具有这种冗余的存储方案和大量驱动器的组合使系统能够可靠地服务于大笔交易工作量。

磁盘阵列(在更极端的情况下为SAN)的基础架构并非完全适合大众市场。另外,它是真的,真的不能失败的部分之一。构建标准和较小的市场量的结合并不便宜。

包括备份在内的总存储成本

实际上,维护1TB数据的最大成本可能是备份和恢复。磁带驱动器和34套SDLT或ultrium磁带(用于完整的备份和恢复周期)的成本可能会比1TB磁盘阵列高。加上异地存储的成本以及什至只有一盘磁带猴子的薪水,突然之间您的1TB数据并不是那么便宜。

磁盘成本通常是降低主要存储成本层次结构的合理方法。在一家银行,我有机会为SAN存储工作,开发系统的成本为900英镑/ GB,生产服务器上的磁盘的成本为5,000英镑/ GB。即使以企业供应商的价格计算,磁盘的物理成本也只是其中的一小部分。我知道的另一个示例是(相对)适度配置的IBM Shark SAN,它们的花费超过100万英镑。仅此上的物理存储的费用约为每GB 9英镑,或者相当于1TB消费者HDD的空间约为9000英镑。


40

只需说:“是的,我可以每小时5美元的价格让Java程序员离岸。”


8
现在很好!
约翰·戴尔

3
这是一个很机智的话,但我似乎不赞成,因为它实际上并没有回答问题,我很想找出答案
dance2die

1
@ dance2die我认为它回答得很清楚。
乔·菲利普斯

11
我认为这是一个有效的回应。关键是,我们每个人都有自己的专业领域,团队成员需要彼此信任。像这样将问题转回给开发人员,将有助于他们意识到尝试相互猜测是没有意义的。
波特曼

2
另一个有效的回答是,Geek Squad的那个家伙可能会想出办法,以更低的价格做事,并对此有更好的态度。说真的,为什么这是这个问题的最高票数?我在阅读时确实笑了一下,但是如果这将是网站成员回答天真的问题的方式,我将坚持使用Google和Experts Exchange。
dfjacobs,2009年

14

也许问他们几个有关沃尔玛驱动器的问题:

  • 它的平均故障时间是多少?
  • 如果它催化降解会怎样?
  • 多久备份一次?
  • 12个月的备份需要多少存储空间?
  • 如何在异地备份?
  • 如何恢复?(总体上是一个文件还是几个目录?)
  • 存储备份需要多少费用?
  • 他将如何保证备份的安全性?安全?
  • 他需要什么保险来弥补重要数据的丢失?

...将这些答案与在管理良好的数据中心中作为RAID 5阵列一部分运行的驱动器进行比较。

(披露:我也是一名开发人员-我只是在猜测!)


1
+1是解决问题“原因”的一种很好的综合方法。
艾利·佩恩

4

也许您应该考虑差异化存储。

您的开发人员可能需要更多空间,但也许不是他追求的“企业级”驱动器空间。也许他只需要有一个存放.vhd和ISO的地方,就可以从MSDN重新下载磁盘崩溃的情况。也许测试运行需要较大的瞬态空间需求,而这些空间只需要在测试运行期间就一直存在。对于所有这些,价值50美元的Wallmart驱动器都是有效的解决方案。


3

人们需要了解的关于存储的第一件事是容量和IOPS之间存在很大差异。诸如耐用性之类的东西通常没有意义,它几乎总是取决于IOPS与容量。


4
IOPS:每秒的输入/输出操作
Sam Hasler

2

这取决于那里询问的服务器类型。对于基本的开发人员或测试服务器,一台来自Wallmart的TB驱动器可能就足够了。如果您要使用的高端服务器不使用现成的组件,请询问他们是否要制造赛车并从汽车配件商店购买轮胎以节省几美元。


1
我建议您不要在经理上使用此技术。答案很可能是“是”。
杰森·贝克

1

我的解释方式是这样的。如果您的老板会在购买时签字。我将在沃尔玛驱动器上标出一个标志,..

“ Sys广告被指示违背他的意愿和直觉将其放在此处。” 当驱动器死后,我将把驱动器移交给开发人员并记录下来,并询问他们这次如何完成我的工作。

我同意波特曼...信任团队,或者离开。


0

一个简单的单行答案:1TB驱动器通常是SATA,但是您的服务器是SCSI。(即使服务器不是SCSI,这也可能暂时停止查询。)

300GB SCSI驱动器的价格通常是价格的4倍,然后需要备份现有数据,安排停机时间,进行安装,可能会出现问题,超时等。总而言之,简单的存储升级可以带来很多好处。各种痛苦-开发人员不直接负责。说您可以购买满足当前需求的现成驱动器简直是无可救药的。

但是您知道,当您购买这些服务器时,应该在该死的服务器中放置更大的驱动器,并且现在自己踢自己!但是您想要安装服务器,它们将增加前期成本,并且可能不得不经过一轮额外的批准...欢迎系统管理员的痛苦...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.