Hardware
Seagate Barracuda LP固件升级笔记
其实 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 版本固件可以从 这里 下载。
阅读全文…Lenovo T530
去年 公司给换了一台 Asus 笔记本,不过因为这个笔记本本质上是个台式机,不便于携带,因此我又买了一台 MacBook Pro 来自用。今年一月份到匹兹堡出差,发现还是需要一台能随身携带的笔记本,所以公司又订了一台 Lenovo T530。
阅读全文…LSI SAS HBA固件
最近我厂对 LSI 6Gb/s SAS HBA 的驱动 (mps(4)) 进行了改进,令其可以在 FreeBSD 环境中进行固件刷写操作。目前最新的固件版本是 14,这个版本修正了目前已知的全部问题。
以前一直没有太注意,这类 HBA 卡上可以用两种固件。一种是 IT (initiator target) 固件,这类固件只提供HBA功能;另一种是 IR (integrated RAID) 固件,这类固件提供集成 RAID 功能。对于我们的应用来说,显然希望用 IT 固件,因为它的代码量要少得多,而由于减少了包含校验的冗余,卡本身的 RAID 功能在 ZFS 环境多数情况下都是有害的。
阅读全文…OS X Mountain Lion 的 clean install 重装
没什么特别,这里记一下大致过程,以及一些想到的值得 FreeBSD 学习,以及 OS X 应该改进的地方。
我选择的方法是借助 USB 安装盘来做重装的操作。在 App Store 下载 Mountain Lion 之后,不要选择继续安装(继续安装的话,在安装结束后会删掉安装的文件)。
在 Finder 中找到 /Applications/Install Mac OS X Mountain Lion.app,在其上按右键,Show Package Contents,这会将 Bundle 内容打开,在其中找到 Contents/SharedSupport,其中有一个叫 InstallESD.dmg 的文件。双击 InstallESD.dmg 挂载它。
接着,启动 Disk Utility,选择 U 盘(需要至少 5GB 的空间),将其中内容擦除;接着选择刚才挂载的 InstallESD,在 Restore 标签页中,将 U 盘拖拽到 Destination 的位置,然后按 Restore。
这个操作将会把 InstallESD.dmg 写入 U 盘。重启系统时按住 Option,选择刚刚制作的 U 盘,就进入了 OS X 的恢复界面。
在这里有四个选项,使用 Disk Utility (最后一个)清除硬盘或 SSD 内容(此处可以选择Mac OS Extended (Case sensitive, Journaled) )。如果原先的硬盘使用了 File Vault,可能需要先输入任意用户的口令来解锁。完成后退出 Disk Utility,选择 Reinstall OS X Mountain Lion。
重装的过程大致需要20分钟左右。然后是一些基本的配置,完成后,重新进入 App Store 安装 Garage Band、iMovie 和 iPhoto。
阅读全文…Asus笔记本安装 FreeBSD 笔记
祸不单行。继 老婆 笔记本坏掉之后,我的也在周一突然坏掉了。因为已经过保,找来 Dell 的维修手册做了初步诊断之后认为是主板问题,简单尝试了下没有修好,所以找老板商量,暂时买了一台 Asus G75VW 来用。
阅读全文…#lspe之Disks
比较感兴趣的项目是之前了解过但仔细看过的 FlashCache,这是 Facebook 搞的一个 SSD 加速模块,原理不复杂,是在文件系统下面做上一层集关联(set-associative)高速缓存,提供了LRU和FIFO两种淘汰方法。这次 Mohan Srinivasan 讲解的时候提到了以前公开发表的讲稿上没有的一个内容—-按线程id/线程组id去做的黑白名单,并对MySQL进行了修改,令其在扫描表时不做cache。从使用的角度,这个不失为一个不错的折衷方法。
阅读全文…配合 APC BE550G UPS 的 apcupsd 配置
APC BE550G 是一种廉价的UPS,支持以 USB 线通知被保护的系统或查询状态。
在 FreeBSD 上可以用 apcupsd 来配合 USB 通知使用。
去年大河发生过一次停电事故,所以买了一个 UPS 来配合自己的机器;今天大河又来了一次大约90分钟的停电,算是完成了对 UPS 的完整测试。
阅读全文…基于 Supermicro X7SPA-H (Atom D510) 的路由器(3)
📜 历史文件已不具备现实意义
本文介绍的是已经停产的硬件,内容已过时。
之前家里用的那个 Linksys WRT310N 路由器就有相当严重的问题(不排除是DD-WRT的问题),如果连续若干天不重启的话,无线网络的连接有时就会失败。部署新的路由器之后,设置了一个cron任务令其每天早上5:30重启:
30 5 * * * /usr/bin/ssh root@10.253.87.254 reboot > /dev/null 2>&1当然,执行cron的那个用户需要使用ssh key来登录WRT310N,并事先将key传到WRT310N上面。
由于 FreeBSD 默认会对链路状态的变化进行记录,因此只要查看系统日志就可以知道cron是否真的执行了。
在之前的部分我们讨论过关于功耗的问题。在实际使用过程中,我发现 powerd(8) 对于 CPU 占用的计算是有问题的:它计算的是所有CPU的占用率之和,而比较合理的依据则是占用率最高的CPU的占用率。不过,对 Atom 来说 powerd 能够产生的影响有限,因此如果真在使用Atom系统的话不一定真的需要这个patch。下面这个patch可以让 powerd 更有效地 throttle CPU 的频率:
| |
对路由器这样的设备来说,当有软件 bug 的时候,我们往往希望系统自己恢复并报告问题,而不是等待用户去用调试器现场调试。想要达到这个目的,可以使用 watchdog 机制。在这款主板上有两个 watchdog,其中系统没有自带的那个 Winbond watchdog 的驱动如下:
阅读全文…Intel CPU的Tj(max)的获得
本文主要是笔记,不保证其正确性,也不保证其不导致死机、崩溃或任何其他问题。
CPU的Tj(max)值可以通过读 MSR IA32_TEMPERATURE_TARGET,即 0x1a2 来获得【1】。目前,Intel正式的开发文档中并没有明确对这一MSR进行说明。早期的CPU中,Tj(max)值需要加上40到50摄氏度,目前不清楚具体哪些CPU必须如此,但从公开文档来看,已知:
阅读全文…FreeBSD 1U服务器参考配置
📜 历史文件已不具备现实意义
本文介绍的是已经停产的硬件,内容已过时。
此配置确认可配合 FreeBSD/amd64 8.1-RELEASE 使用。实际运行时功率少于100W(110V电的情况下电流小于0.9A),供参考。
阅读全文…