作者文章: Fenng

一件事故看 BlogBus 的网站维护质量

在国内的 BSP 中, BlogBus 给我的印象是挺注重技术一家站点(比如搞一些搬家活动,虽然…但是还是会方便用户的)。不过从最近的数据恢复事故能看出来还是网站维护质量存在挺大的问题。
BlogBus 的公告板上写到:

事故原因:BlogBus于7月1日增加了两台新服务器用以解决网站负载问题,7月20日发现一台服务器可能由于Raid卡或硬盘出现故障,导致一个3G多的数据库文件损坏,致使7月1日至7月19日用户日志数据丢失。
解决办法:由于BlogBus采用静态页面发布,所有已发布日志均生成静态页面保存,所以丢失数据可以由静态页面导回数据库——就是说丢失的数据可以反向导回恢复。

让我不敢相信, 将近 20 天的时间内,数据库没有备份?! 难道他们的数据库是不做备份? 解决办法是静态页面导回数据库,不知道要耗费多少人力劳动。就算是技术人员写脚本,恐怕也不是那么省时的事情。估计最后可能仍然不可避免的会丢掉少量用户的元数据。
我曾经感慨过 Web 2.0 应用服务稳定性仍然任重道远,现在看起来,Web 2.0 应用服务的可靠性也会逐渐成为用户担心的问题。
备份! 备份!
-EOF-

Next Action , 一个轻量级 GTD 工具

GTD(Get things done) 的工具可以说是数不盛数,在了解 Tracks 之前我曾经用过一段时间的 Next Action
Next Action 是一个SPADE(Single [Page] Application and Development Environment) 程序,也就是说整个程序只有一个页面。 挺有趣的。
Next Action 的使用非常简单,只需要把这一个页面另存为到本地即可(注意: 必须用 Firefox 方可正确浏览,这是我针对中文显示修改过的,你可以到作者主页去找最新版。)。每次使用的时候用 Firefox 打开,修改完毕之后一定要记得重新保存该页面,保存类型选择’Web page, Complete'(这一点稍稍有点不方便)。
Firefox 用户可以查看我站点上的联机页面效果.
Get things done!
-EOF-

GTD 工具 Tracks 在 Dreamhost 上安装备忘

生活帮看到 一个开源的GTD系统-Tracks的介绍。去 Tracks 的网站上看了看,感觉是一个不错的 GTD 工具。决定在 Dreamhost 主机上尝试一下。
0.规划
准备起用一个单独的域名 GTD.dbanotes.net。相关文件安装在用户目录下的 gtd.dbanotes.net 目录。
1.准备环境
Tracks 使用 Ruby On Rails 开发的,所幸的是 Dreamhost 现在已经内建支持 Ruby On Rails 了。对于这一项几乎不需要任何额外的操作。
再确定数据库信息。创建一个单独的 MySQL 用户,然后记录该 DB 的主机名字等信息。
2.安装配置
在 Tracks 网站下载安装文件,当前的稳定版本是 1.041。解压所有文件到 gtd.dbanotes.net 目录下,安装指导也在,非常详尽,需要仔细阅读。然后参考文档作如下操作

cp config/database.yml.tmpl config/database.yml
cp config/environment.rb.tmpl config/environment.rb 

把目录 log.tmpl 重命名为 log。编辑文件 tracks/config/database.yml 把 ‘production’ 与 ‘development’ 这两个段需要的信息填入。’test’ 段则不要修改。
编辑 config/environment.rb ,找到 change-me 修改为其他的。这个字段是用来加密密码的”盐”,默认不改其实问题也不是很大。
在 gtd.dbanotes.net 目录下运行命令:

rake migrate

如果这个操作没有错误,Tracks 就可以跑起来了。
如果有必要,修改 安装目录下或者 public 目录下的 .htaccess 文件进行 URL 重写。
为了安全起见,把除了 public 目录之外的目录文件属性设为 700 。
参考我的 GTD.
3.后记
Tracks 这个东西内建了 WEBrick 这个 Web 服务器,所以如果你的机器支持 Ruby ,完全可以跑在本地 Windows 或者 Linux 或 Mac OS X 等各种操作系统上。这样使用体验会更好一些(我在 Dreamhost 上搭建的速度有些慢)。
Updated: 查看Tracks 截图效果 。如果需要测试用户请发送电子邮件给我: [email protected] .
-EOF-

Oracle SES 的实现案例

Oracle Secure Enterprise Search 站点上提供了一篇白皮书: Implementing search.oracle.com – A Case Study 比较详细的介绍了 http://search.oracle.com 的实现。Oracle 通过这个站点提供对公司首页内容与 OTN 的搜索。不过既然是安全搜索,为什么不加入 Metalink 内容的搜索呢?
服务器用的两台 Dell PowerEdge 2850(机器可挺破)。每台配置是 2 颗 3G 的超线程 CPU 加上 8G 内存。存储是 RAID 5 方式。共有 4.3T 内部(? 这个机型最大支持 1.8TB SCSI 内部存储,其余就需要接外部存储了啊? )磁盘空间可用。没有说具体的存储设备或是连接方式。划分了 700G 给当前用。其余留作扩展。写了一个简单的脚本定期从 OS 端检查磁盘状态。
操作系统用的红帽子 RHEL 3 Update 2。内核是 2.4.21-37.ELhugemem ,能够充分利用大内存。接下来的设置我有一点疑问。前面说的 700g 空间挂在目录 /u02 下,而 SES 软件安装在 /u01 下。这个目录是单个磁盘分区上的–这似乎是一个单点啊!
Oracle SGA 设置了 2.5G 左右。当前已经索引了 35 万篇文档,数据库大小是 15G,Cache 文件 17G,Log(搜索的Log) 文件 1G。如果 Oracle 不做站外搜索的话,4.3 T 的总空间是绰绰有余。其实我倒是觉得 Oracle 有义务对站外的 Oracle 论坛等相关信息作一下专门的搜索,也算是对广大用户负责的一种手段。
负载均衡设备选用的是 F5(青春偶像 F4 的旁边, 呵呵)。示意图如下:
Oracle SES and F5 负载均衡
最后的监控方法也值得借鉴。
整个搜索站点构建中,软件成本的标准是: $30K/CPU 或者是 $60/命名用户 或是 $30/员工。两台机器上的 SES 需要 License 是 12 万美金。这个报价可不低啊。
-EOF-