我是一个代码猴子,越来越多地为我的小公司承担系统管理员的职责。我的代码就是我们的产品,而且我们越来越多地提供与 SaaS 相同的应用程序。
大约 18 个月前,我将我们的服务器从一家以优质托管为中心的供应商转移到了 IV 级数据中心的准系统机架推进器。(字面意思是在街对面。)这个人自己做的事情更多——比如网络、存储和监控。
作为重大举措的一部分,为了取代我们从托管公司租用的直连存储,我构建了一个基于 SuperMicro 机箱、3ware RAID 卡、Ubuntu 10.04、两打 SATA 磁盘、DRBD 和 . 三篇博文详细记录了这一切:构建和测试新的 9TB SATA RAID10 NFSv4 NAS:第一部分、第二部分和第三部分。
我们还设置了一个 Cacit 监控系统。最近,我们添加了越来越多的数据点,例如 SMART 值。
我不能这样做这一切,而不真棒 挤入 在 ServerFault。这是一次有趣且有教育意义的经历。我的老板很高兴(我们节省了大量的美元),我们的客户很高兴(存储成本下降),我很高兴(有趣,有趣,有趣)。
直到昨天。
午饭后一段时间,我们开始从我们的应用程序(一个按需流媒体 CMS)收到性能缓慢的报告。大约在同一时间,我们的 Cacti 监控系统发送了大量电子邮件。一个更有说服力的警报是 iostat await 的图表。

性能变得如此下降以至于 Pingdom 开始发送“服务器关闭”通知。整体负载适中,没有流量高峰。
在登录应用服务器、NAS 的 NFS 客户端后,我确认几乎所有东西都在经历高度间歇性和超长的 IO 等待时间。一旦我跳到主要 NAS 节点本身,在尝试导航问题阵列的文件系统时,同样的延迟很明显。
是时候进行故障转移了,一切顺利。在 20 分钟内,一切都被确认备份并完美运行。
在任何和所有系统故障后,我都会进行事后分析以确定故障原因。我做的第一件事是 ssh 回到盒子里并开始查看日志。它完全离线。是时候去数据中心旅行了。硬件复位,备份并运行。
在/var/syslog我发现这个可怕的条目:
Nov …Run Code Online (Sandbox Code Playgroud) 我正在考虑构建一个更大的 ZFS 池(150TB+),我想听听人们关于由于硬件故障导致数据丢失情况的经验,特别是区分仅丢失一些数据的实例与整个文件系统(如果在 ZFS 中甚至有这样的区别)。
例如:假设 vdev 由于外部驱动器机箱断电或控制器卡故障等故障而丢失。从我读到的池应该进入故障模式,但如果返回 vdev 池应该恢复?或不?或者如果 vdev 部分损坏,是否会丢失整个池、某些文件等?
如果 ZIL 设备出现故障会怎样?或者只是几个 ZIL 之一?
真正感谢以深厚的技术知识为后盾的所有轶事或假设场景!
谢谢!
更新:
由于我们是一家小型企业(大约 9 人),因此我们以低廉的价格执行此操作,但我们生成了大量成像数据。
数据主要是小文件,据我统计,每 TB 大约有 50 万个文件。
数据很重要,但不是超级关键。我们计划使用 ZFS 池来镜像 48TB 的“实时”数据阵列(使用了 3 年左右),并将其余存储用于“归档”数据。
该池将使用 NFS 共享。
机架应该在建筑物备用发电机线上,我们有两个 APC UPS,能够在满载时为机架供电 5 分钟左右。
我被要求提供一个新的文件服务器来存储我们的医学图像(原始格式,而不是 dicom)。由于我们没有IT人员,我必须找到一个解决方案,我对这个话题几乎一无所知。
我们的要求是:3 年内可扩展到 24 TB,windows 文件共享,并且共享必须尽可能大(1x24TB 共享)。我发现的第一件事是 NETGEAR ReadyNAS 3200。看起来是一个非常好的系统,伴随着一个大社区,如果我们遇到麻烦,它可以派上用场。
但是这个系统的可扩展性如何?我到处都被告知这个系统“不可堆叠”。我不知道堆叠 NAS 是如何工作的,但也许我们可以购买一个 iSCSI 启动器,将所有 NAS 配置为 iSCSI 目标,然后在启动器上构建一个覆盖所有目标的突袭,然后将这个大突袭作为一个 Windows 共享共享?或者不能这样做?我显然对可扩展性的工作原理一无所知,所以如果有人能解释这一点,我将不胜感激。
如果有人看到另一个解决方案(比如另一个与 readynas 的规格相当但可堆叠的 NAS),你当然也可以提出这个建议。
backup ×1
file-sharing ×1
filesystems ×1
hard-drive ×1
performance ×1
readynas ×1
sas ×1
sata ×1
scalability ×1
storage ×1
zfs ×1