Hardware

LSI SAS HBA固件

(最后修改: Hardware #LSI #SAS HBA #Firmware #RAID

最近我厂对 LSI 6Gb/s SAS HBA 的驱动 (mps(4)) 进行了改进,令其可以在 FreeBSD 环境中进行固件刷写操作。目前最新的固件版本是 14,这个版本修正了目前已知的全部问题。

以前一直没有太注意,这类 HBA 卡上可以用两种固件。一种是 IT (initiator target) 固件,这类固件只提供HBA功能;另一种是 IR (integrated RAID) 固件,这类固件提供集成 RAID 功能。对于我们的应用来说,显然希望用 IT 固件,因为它的代码量要少得多,而由于减少了包含校验的冗余,卡本身的 RAID 功能在 ZFS 环境多数情况下都是有害的。

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

#lspe之Disks

(最后修改: Hardware #FlashCache #SSD #Storage #Performance #meetup

今天去 Y! 参加了 #lspe 的一个交流会。

比较感兴趣的项目是之前了解过但仔细看过的 FlashCache,这是 Facebook 搞的一个 SSD 加速模块,原理不复杂,是在文件系统下面做上一层集关联(set-associative)高速缓存,提供了LRU和FIFO两种淘汰方法。这次 Mohan Srinivasan 讲解的时候提到了以前公开发表的讲稿上没有的一个内容—-按线程id/线程组id去做的黑白名单,并对MySQL进行了修改,令其在扫描表时不做cache。从使用的角度,这个不失为一个不错的折衷方法。

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

配合 APC BE550G UPS 的 apcupsd 配置

(最后修改: Hardware #APC #UPS #apcupsd #power management

APC BE550G 是一种廉价的UPS,支持以 USB 线通知被保护的系统或查询状态。

在 FreeBSD 上可以用 apcupsd 来配合 USB 通知使用。

去年大河发生过一次停电事故,所以买了一个 UPS 来配合自己的机器;今天大河又来了一次大约90分钟的停电,算是完成了对 UPS 的完整测试。

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

基于 Supermicro X7SPA-H (Atom D510) 的路由器(2)

(最后修改: Development #Supermicro #X7SPA-H #router #FreeBSD #power saving #Hardware

续前。

除了硬件上直接采用的降噪措施之外,一些软件方面的配置也可以提高其效果。

首先是BIOS中的配置。风扇转速最低可调整为"Energy Saving"(即使用30%的频率)。启用Active Power State之后,可节省大约2W左右的耗电(这个选项的默认值是Disabled)。

然后是FreeBSD本身的配置。我个人采用的配置包括:

  • 禁用硬盘的APM。WD的这款硬盘默认的APM值为128,这样它每隔大约10秒没有操作时就会将磁盘转速降低。这类操作对磁盘的寿命有一定影响(一般来说磁盘的机械部分支持10万到20万次这样的操作),因此可将其设为254;
  • 启用磁盘的AAM。这个配置的好处是让磁盘控制其磁头臂的加速度,其效果是减少噪音,并且有一定的节能效果。注意:实际测试显示这个设置产生的节能效果基本上可以忽略不计,并且会稍微降低一些性能。磁盘的AAM数值设置为128(默认为254);
  • 将经常写的日志放到 /tmp (使用tmpfs);
  • 将收集entropy(随机数种子)的频率由每11分钟一次降低到每天一次;
  • 启用 AHCI 磁盘驱动;将ahci通道的pm_level全部设置为5(设备在闲置125ms之后可申请通道链路进入SLUMBER模式)
  • 禁用APIC时钟。
  • 禁用AT RTC时钟。
  • 对于没有驱动的PCI设备,将其置入D3模式(停电)。

上述设置,除了ahci部分之外,可将系统闲置时的功耗降低到17W左右。

以下是实现中采用的loader.conf相关的部分:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

hint.apic.0.clock=0
hint.atrtc.0.clock=0
hw.pci.do_power_nodriver=3
hint.ahcich.0.pm_level=5
hint.ahcich.1.pm_level=5
hint.ahcich.2.pm_level=5
hint.ahcich.3.pm_level=5
hint.ahcich.4.pm_level=5
hint.ahcich.5.pm_level=5
阅读全文… ( 本文约 4499 字,阅读大致需要 9 分钟 )

基于 Supermicro X7SPA-H (Atom D510) 的路由器(1)

(最后修改: Life #Supermicro #X7SPA-H #router #FreeBSD #Hardware #ZFS

最近找时间做了一个家用的路由器。用基于 Intel Atom 处理器的解决方案并不便宜(与传统的嵌入式解决方案相比),但因为软硬件都是 x86,因此开发起来会方便一些。另一方面,Atom的计算性能要远高于其他的传统嵌入式方案。

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

FreeBSD 1U服务器参考配置

(最后修改: Hardware #FreeBSD #Server #Supermicro #Xeon

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

本文介绍的是已经停产的硬件,内容已过时。

此配置确认可配合 FreeBSD/amd64 8.1-RELEASE 使用。实际运行时功率少于100W(110V电的情况下电流小于0.9A),供参考。

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

有关招行网银安全,回应一位网友

(最后修改: Security #招商银行 #Hardware

针对这篇blog,一位名为"醉梦流仙"的朋友给出了下列回应:

要破,也要立。如果像你这样只是破,那毫无意义。。 网银的安全要怎么做?我是研究游戏安全的,顺便也研究了一下网银,实际上网银做不到绝对安全,只要你用计算机,不管你用什么技术手段都不可能有绝对安全,只是需要增加难度,通过增加门槛让木马制作更困难些。。

你一味的追究数字签名这样的问题,更是舍本逐末,对大部分用户而言是否签名没有意义,签名也保护不了程序安全—-可以运行时修改内存。。

总之,程序放在客户端执行,不可能做到完美,只能通过把事情搞复杂,提高技术门槛,来减少木马。。

加了这个ActiveX控件,起码通用型木马截取不到其密码,难道不是进步?

安全不能建立在别人不知道的基础上,这是过于理想化。你的银行卡,为什么我不能网上取你的款,那就是因为我不知道你的卡号/密码/身份证等等;你的这个BLOG为什么我不能冒充你的身份登录发表文章,只是因为我不知道你的用户名/密码;为什么现在有大量的加壳软件?就是要把程序搞复杂,让人难破解。。

实际上运行在客户端的东西,总是可以研究透的,只是时间问题,那还加壳干嘛,以前很多公司用软件狗,现在很多共享软件用序列号,难道它们都是不能破解的?不可能,只是难度问题。复杂度和难度达到一定程度,就可以挡住很多或者说多数攻击者,这样至少比祼奔要安全。

这位朋友为招商银行着急,我完全可以理解,但是,你对安全存在很多常识上的误解,我不得不为你所开发的网游的安全性捏一把汗。

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

RAID-5 Disaster on InfoTrend based TOYOU SATA disk array

(最后修改: Development #RAID #FreeBSD #Hardware

And finally, it happend.

On Monday, one of our server, running FreeBSD, panic’ed with “ffs_clusteralloc: map mismatch”. This message is quite uncommon and should only happen when there is some “event” with the memory or hard disk.

I have suggested our administrator to reboot and do “fsck” on the volume, since it has very small block size and can not be checked background (I have made a change to warn about this to FreeBSD, and was MFC’ed to 5-STABLE so you will get the feature in 5.4-RELEASE). Unfortunatelly, the check is so slow and we start to suspect whether there is some hardware problem.

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