Storage

共 57 篇文章。

购买二手硬件的一些人生经验

• Hardware

以往我是不直接在 eBay 上购买二手硬件(这不包括美国比较常见的「翻新refurbished」硬件,这类卖家往往是比较专业的回收处理机构)的,原因是购买此类硬件多少有点像拆盲盒:二手硬件的质量往往缺乏统一且一致的标准,并且通常只提供较短的退货窗口。

不过 上回书 说到我收了一台二手的 Dell R640 服务器,既然选择了消费降级索性一降到底试试看买二手内存和存储。

阅读全文… ( 本文约 1702 字,阅读大致需要 4 分钟 )

数据的长期保存

• Data Management

我们每个人每天都在产生各种数据。包括个人笔记、照片等等在内的许多数据,许多可能不太容易再次获得或制造。今年夏天,我整理了一些自己二十年前刻录的光盘,这里记录一下长期保存数据的一些原则、需要避免的陷阱,以及确保数据在数十年后仍然可用的最佳实践。

阅读全文… ( 本文约 1586 字,阅读大致需要 4 分钟 )

线上重做 FreeBSD GPT 引导分区

• Kernel

记一笔。

我现在这台服务器已经用了蛮久(超过10年)了,刚刚安装的时候还是 FreeBSD 8.1 RC,一路升级到 FreeBSD 12.2。前段时间因为工作比较忙,一直没顾上把它升级到 FreeBSD 13.0,今天总算是找了点时间来做升级。

总体上这次升级比预想的还要平稳一些,由于 FreeBSD 13.0 和 12.2 的内核接口变化不大,因此我也没按照正规的做法,即升级内核、重启第一次、etcupdate、installworld,重启第二次、delete-old/delete-old-libs,而是在 installkernel之后直接做了 etcupdate 和 installworld。

阅读全文… ( 本文约 2437 字,阅读大致需要 5 分钟 )

geli(8)的HMAC设计

• Kernel

读到哪算哪的先记一笔。

geli(8)在启用了数据完整性检测的时候采取的设计是将HMAC数据保存在同一扇区中,换言之它在保存数据时,物理扇区(通常是512字节)中占用了32字节来保存HMAC数据。

阅读全文… ( 本文约 590 字,阅读大致需要 2 分钟 )

基于Asrock C2750D4I的全加密存储

• Hardware

去年第四季度的时候,在网上看到 华擎科技 推出了一款基于 Intel Atom C2750 SoC 的主板, Asrock C2750D4I,感觉很赞,于是立即和华擎科技取得了联系(当时这款主板还没进入量产),并着手开始了测试等工作。这张主板的重要特色包括:

  • mini-iTX尺寸
  • CPU支持Intel AES-NI,加密加速
  • 提供了两个千兆以太网口
  • 支持ECC内存(更重要的是,采用的是台式机和服务器常见的4x240-pin DDR3 DIMM规格,不像同类产品通常使用的是204-pin的SO-DIMM,这一点可以节省很多成本)
  • 提供了8个SATA III 6.0Gbps接口和4个SATA II 3.0Gbps接口
  • 支持IPMI并提供了独立网口

此处强行插入一条广告: 我厂 目前这一代的 FreeNAS Mini 采用了这张主板,组装好的产品可以通过 Amazon 购买,我厂每年都会将一部分利润捐给 FreeBSD 基金会,如果先 在 smile.amazon.com 注册支持 FreeBSD 基金会,并使用前述链接, Amazon 公司还会再捐出 0.5% 的金额给 FreeBSD 基金会。

目前这张主板已经进入了量产阶段,因此也可以从其他零售渠道获得相关组件自行组装。

阅读全文… ( 本文约 1384 字,阅读大致需要 3 分钟 )

OpenZFS Developer Summit

• Kernel

今天去 San Francisco 的 Delphix 参加了 OpenZFS Developer Summit,今天这会太充实了,先记一笔。

ZFS Channel Program:目前的 ZFS 应用程序需要以多次系统调用来完成一项功能。为了实现原子性,用户态部分实现起来比较复杂,而且最终内核中的 sync task 可能会导致长时间的延迟。提出的解决方案是在 ZFS 内核部分引入一个 Lua 字节码解释器,用户态一次灌一个脚本进去,通过脚本逻辑实现原子性,从而减少上下文切换开销并极大地简化用户态部分。

阅读全文… ( 本文约 496 字,阅读大致需要 1 分钟 )

如何:远程刷 Seagate 硬盘固件

• Hardware

🚨 警告

刷写硬盘固件时的不当操作可能会导致硬盘无法使用。本人不承担由于使用本文中介绍的内容所导致的任何后果的责任。

📜 历史文件已不具备现实意义

本文章提到的硬件已过时。

上回 说到 谷奥 的一块硬盘坏了,但是忘记说实际上两块硬盘的固件都有已知问题(ST1000DM003-9YN162 固件版本 CC4D,目前的最新版本是 CC4H)。虽然在 ticket 里提到了这件事,但是 remote hand 没做升级,想想之后决定还是自己把它远程刷掉好了。

由于刷写不当会导致硬盘无法使用(实际上还是有办法恢复的,但是比较麻烦而且没法在远程做),因此为了以防万一,在执行任何操作之前应备份硬盘上全部数据。由于使用的是 graid 的镜像模式,因此事实上我们有一份完整备份,故跳过这一步。

接下来要从 Seagate 网站下载固件。考虑到刷新固件操作的危险性,不知道怎么找这个固件的人可以看到这为止了。

阅读全文… ( 本文约 974 字,阅读大致需要 2 分钟 )

从 gmirror 迁移到 graid

• Kernel

谷奥 的服务器硬盘坏了,而且托管商很奇怪地用了 gmirror 而不是 BIOS 直接支持的 graid(我厂 Alexander Motin 实现的与 BIOS 兼容的软件 RAID,支持 Intel、Adaptec、JMicron、nVidia、Promise和SiL等多家厂商的软RAID格式),所以趁这个机会给它换掉。记一下迁移的过程。

阅读全文… ( 本文约 749 字,阅读大致需要 2 分钟 )

Seagate Barracuda LP固件升级笔记

• Hardware

其实 FreeBSD 本身的 camcontrol(8) 内建了用来刷硬盘/SSD固件的 ‘fwdownload’ 功能,不过因为正好也要稍微调整一下网络的配置,考虑了一下还是去机房本地做好了。

之前 Doug 的观点是刷固件有风险,所以没问题尽量别刷。不过,新版 smartmontools 没事就 nag 一下这事实在是很烦,加上网上找到的说明相当吓人:

The drives are clicking because they are recalibrating due to vibration, the reason they are only exhibiting this issue during idle is because the drive will only recalibrate when idle.

Doing a firmware update to CC35 should resolve this issue.

If it does not you should attempt to mount the drives in a different configuration, we have see using rubber washers can magnify the vibration.

所以还是升级一下好了。CC35 版本固件可以从 这里 下载。

阅读全文… ( 本文约 581 字,阅读大致需要 2 分钟 )