我客户的一个网站上周受到了直接闪电袭击(巧合的是在 13 日星期五!)。
我离现场很远,但与现场人员一起工作时,我发现了一种奇怪的损坏模式。两个互联网链接都断开了,大多数服务器都无法访问。大部分损坏发生在MDF 中,但一个光纤连接的IDF也丢失了交换机堆叠成员上 90% 的端口。有足够的备用交换机端口可用于在其他地方重新分配布线和重新编程,但是在我们追踪受影响的设备时出现了停机时间。
这是一个新的建筑/仓储设施,服务器机房的设计进行了大量规划。主服务器机房由一台APC SmartUPS RT 8000VA双转换在线 UPS 运行,并由发电机提供支持。所有连接的设备都有适当的电源分配。异地数据复制和系统备份已经到位。
总之,损害(我知道)是:
大多数问题都与丢失 Cisco 4507R-E 中的整个交换机刀片有关。这包含一些 VMware NFS 网络和站点防火墙的上行链路。VMWare 主机出现故障,但一旦存储网络连接恢复,HA 就会处理 VM。我被迫重新启动/重启许多设备以清除时髦的电源状态。所以恢复的时间很短,但我很好奇应该吸取什么教训......
我在带有 12 个 Midline (7200 RPM) SAS 驱动器的 HP ProLiant DL180 G6 上运行的辅助存储服务器上使用 Nexentastor。该系统具有 E5620 CPU 和 8GB RAM。没有 ZIL 或 L2ARC 设备。
上周,我创建了一个 750GB 的稀疏 zvol,启用了重复数据删除和压缩,以通过 iSCSI 共享到 VMWare ESX 主机。然后我创建了一个 Windows 2008 文件服务器映像并将大约 300GB 的用户数据复制到 VM。对系统满意后,我将虚拟机移动到同一池中的 NFS 存储。
在 NFS 数据存储上启动并运行我的 VM 后,我决定删除原来的 750GB zvol。这样做会使系统停滞。访问 Nexenta Web 界面和 NMC 停止。我最终能够获得原始外壳。大多数操作系统操作都很好,但系统挂在zfs destroy -r vol1/filesystem
命令上。丑陋的。我发现了以下两个 OpenSolaris bugzilla 条目,现在知道机器将变砖一段未知的时间。已经 14 小时了,所以我需要一个能够重新访问服务器的计划。
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6924390
和
将来,我可能会采纳其中一种 buzilla 解决方法中给出的建议:
Workaround
Do not use dedupe, and do not attempt to destroy zvols …
Run Code Online (Sandbox Code Playgroud) 我有一台作为 NexentaStor 存储单元运行的HP ProLiant DL380 G7 服务器。该服务器具有 36GB RAM、2 个 LSI 9211-8i SAS 控制器(无 SAS 扩展器)、2 个 SAS 系统驱动器、12 个 SAS 数据驱动器、一个热备盘、一个 Intel X25-M L2ARC 缓存和一个 DDRdrive PCI ZIL 加速器。该系统为多个 VMWare 主机提供 NFS。我的阵列上还有大约 90-100GB 的去重数据。
我遇到过两次性能突然下降的事件,导致 VM 来宾和 Nexenta SSH/Web 控制台无法访问,并且需要完全重新启动阵列才能恢复功能。在这两种情况下,都是 Intel X-25M L2ARC SSD 出现故障或“离线”。NexentaStor 未能就缓存故障向我发出警报,但在(无响应)控制台屏幕上可以看到常规 ZFS FMA 警报。
该zpool status
输出显示:
pool: vol1
state: ONLINE
scan: scrub repaired 0 in 0h57m with 0 errors on Sat May 21 05:57:27 2011
config:
NAME STATE …
Run Code Online (Sandbox Code Playgroud) 备用电池 (BBU) 型号:
如果我断电并在一天左右的时间内恢复,我的数据应该是完整且未损坏的。
这样做的缺点是,如果电池没电或电量低,或者即使处于重新循环(排水/充电循环以确保电池的健康),控制器会恢复到直写模式,性能会受到影响。更重要的是,重新学习周期通常按计划自动执行,这可能会或可能不会发生在大流量中。因此,如果有问题,必须手动禁用并手动安排下班时间。无论哪种方式都很烦人。
NV 高速缓存具有足够电荷的电容器,可以将任何未提交到磁盘的数据提交到闪存。这不仅在更长的损失情况下更容易生存,而且您不必担心电池耗尽、磨损或重新学习。
所有这些对我来说听起来都很棒。不过,对我来说听起来不太好的是闪存模块有问题的前景。如果它完全被冲洗了怎么办?如果它只是部分软管怎么办?边缘有点损坏?重新学习周期可以判断诸如简单电池之类的东西何时出现故障,但是否有类似的过程来验证闪光灯是否正常工作?我只是更信任电池,疣等等。
我知道卡的 RAM 可能会出现故障,卡本身也会出现故障——不过,这是常见的领域。
万一你没有猜到,是的,我经历了让我震惊的闪存/SSD/等。失败 :)
DevOps 同事建议我们开始将生产环境转换为使用 btrfs。我们主要使用 ext4 文件系统,尽管一些使用率较低的服务器使用 ZFS(在 Linux 上)。作为决策者之一,作为对我们整体环境负责的人,我对网络上生产中有关 btrfs 的评论和文章数量犹豫不决。为了反驳这种说法,Oracle 发布了支持 btrfs 的企业 Linux,SLES 12 ( https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12/ ) 也表明它将使用 btrfs,并且有证据像 Facebook 这样的公司也在受控的生产环境中使用它。
关于为什么朝这个方向前进(采用 btrfs)会是一件好事,有很多争论,我总体上同意它们,但是,我想谨慎行事,做尽职调查,并获得更多的操作熟悉度和在更广泛的范围内前进之前,在“小生产”或暂存环境中记录了数小时。是否有任何工具可以帮助我构建案例 - 例如在压力测试之后进行数据完整性检查或类似的东西?除了没有看到这样的陈述:“问。btrfs 稳定吗?简短的回答:不,它仍然被认为是实验性的。” 在 btrfs wiki 上,我还能做些什么来获得更温暖的模糊感?
背景
我在一个研究生物医学数据的研究部门工作,我们目前正在考虑修改我们的 IT 结构。我们有几种仪器每天生成数 GB 的数据,连接到网络隔离的计算机。数据在网络中传输,在传输到大学的国家数据存储服务之前在中间步骤中进行处理。
我们需要改进的是将数据短期(约 3 个月)存储的中间步骤,在此期间,研究人员可以访问数据,而无需从远程数据中心查询数据。事实上,中间服务器用于许多不同的目的,并且通常会耗尽空间。我们打算购买一个 NAS,专门用于短期存储仪器数据。我被赋予了提出替代方案的责任。
我首先列出了我们需要什么,这导致了我们的以下需求列表:
问题)
我开始阅读存储系统,关于元的最常见问题列表是一个很好的资源。同样,我发现了两个类似的问题,询问研究环境中的存储:
然而,这两个问题似乎都集中在长期存储上,也集中在单个设备上,而我最感兴趣的是弄清楚在这种情况下哪些功能/规格/质量是有价值的。
根据先前的知识和最近的阅读,我认为在我们的案例中选择 NAS 时,有几个方面可能很重要:
支持 SAS 驱动器- 这真的很重要吗?我知道 SAS 驱动器的质量通常更高,但假设阵列中有冗余,如果 SATA 磁盘死亡有什么大不了的?
链路聚合- 我不得不说我不太了解与之相关的网络层和设备,但我对链路聚合的有限理解是,使用多个网卡,理论上 NAS 可以将带宽增加一倍/三倍,同样多个链接用于纠错(至少根据 Synology 的说法)。如果您有任何其他信息可以帮助我理解这一点并将现实与营销谈话区分开来,我将不胜感激。
多个网络- 由于我们在某些计算机上的隔离标准,我们可以在两个不同的 VLAN 中使用 NAS,这两个 VLAN 互不可见,这对我们来说是有意义的。如果 NAS 有两个以太网端口,是否像将其连接到两个不同的网络并完成它一样简单?
热插拔等- 这方面似乎有许多不同的版本。我的理解是热插拔是指连接到 NAS 的额外磁盘,当一个磁盘出现故障时首先写入该磁盘。这样对吗?如果是这样,热插拔是一项很酷的功能,还是即使阵列运行单/双冗余也是必须的?
另一个版本的“热插拔”(我不确定它是如何命名的)允许在服务器在线时更换磁盘,所以它是一种热更换(Drobo 提供了类似的东西)。它是通用功能还是 Drobo 特有的功能?是否有类似的技术可用?是否有我可能不知道的“捕获”?否则我认为这很有趣,因为它允许在线扩展存储空间。
上面的功能列表是我一直在思考的一些功能,我真的很感激对这些功能的一些见解,以及我可能错过的其他功能。
我正在使用 Ubuntu 11.10 Desktop x64 和 Native ZFS,使用 2x2 TB 6.0 Gbps 硬盘驱动器的镜像池。我的问题是我在任何时候都只能获得大约 30 Mb/s 的读/写速度,我认为我的系统可以执行得更快。
但是有一些限制:
我使用的是 Asus E350M1-I Deluxe Fusion,它是一个 1.6 Ghz 处理器和最大 8 Gb 内存,这是我得到的。我在购买系统时不知道 ZFS,现在我会选择一个能够提供更多内存的系统。
我的池有大约 15% 的可用空间,但当我有超过 50% 的可用空间时,性能并没有好多少。
当处理器非常忙时,读/写性能似乎会下降,因此很可能是处理器成为瓶颈。
我已经阅读了本网站上关于使用 SSD 作为日志缓存设备的其他帖子,考虑到我没有那么多内存,我正在考虑这样做。
我的问题:
您认为添加SSD作为日志缓存设备会提高性能吗?
我应该换一个 2 TB 的硬盘驱动器并创建一个 RAID-Z 池吗?(我最终会需要空间,但是机械驱动器的价格仍然很高)这会提高性能吗?
卖掉我的系统并转而购买 Intel i3?
谢谢你的时间!
zfs ×3
linux ×2
nexenta ×2
zfs-l2arc ×2
battery ×1
btrfs ×1
cache ×1
datacenter ×1
disaster ×1
filesystems ×1
networking ×1
nfs ×1
opensolaris ×1
raid ×1
ssd ×1
storage ×1
ubuntu ×1
untagged ×1
zfsonlinux ×1