今天才注意到 Linux 上这个 Sysreport 工具。当需要 Linux 主机详细完整的描述给另一个人的时候,这个工具非常适合。用 root 用户之行,但要注意最好不要抓取 currently installed packages 信息,这一步非常慢。(用 -norpm 参数)
存储厂商 EMC 也有个 EMCgrab 工具,工作原理类似,额外抓取了存储相关的信息而已。估计各家存储厂商都有,要不远程支持也太费劲了。
--EOF--
今天才注意到 Linux 上这个 Sysreport 工具。当需要 Linux 主机详细完整的描述给另一个人的时候,这个工具非常适合。用 root 用户之行,但要注意最好不要抓取 currently installed packages 信息,这一步非常慢。(用 -norpm 参数)
存储厂商 EMC 也有个 EMCgrab 工具,工作原理类似,额外抓取了存储相关的信息而已。估计各家存储厂商都有,要不远程支持也太费劲了。
--EOF--
在西雅图扩展性的技术研讨会上,YouTube 的 Cuong Do 做了关于 YouTube Scalability 的报告。视频内容在 Google Video 上有(地址),可惜国内用户看不到。
Kyle Cordes 对这个视频中的内容做了介绍。里面有不少技术性的内容。值得分享一下。(Kyle Cordes 的介绍是本文的主要来源)
简单的说 YouTube 的数据流量, "一天的YouTube流量相当于发送750亿封电子邮件.", 2006 年中就有消息说每日 PV 超过 1 亿,现在? 更夸张了,"每天有10亿次下载以及6,5000次上传", 真假姑且不论, 的确是超乎寻常的海量. 国内的互联网应用,但从数据量来看,怕是只有 51.com 有这个规模. 但技术上和 YouTube 就没法子比了.
YouTube 出于开发速度的考虑,大部分代码都是 Python 开发的。Web 服务器有部分是 Apache, 用 FastCGI 模式。对于视频内容则用 Lighttpd 。据我所知,MySpace 也有部分服务器用 Lighttpd ,但量不大。YouTube 是 Lighttpd 最成功的案例。(国内用 Lighttpd 站点不多,豆瓣用的比较舒服。by Fenng)
视频的缩略图(Thumbnails)给服务器带来了很大的挑战。每个视频平均有4个缩略图,而每个 Web 页面上更是有多个,每秒钟因为这个带来的磁盘 IO 请求太大。YouTube 技术人员启用了单独的服务器群组来承担这个压力,并且针对 Cache 和 OS 做了部分优化。另一方面,缩略图请求的压力导致 Lighttpd 性能下降。通过 Hack Lighttpd 增加更多的 worker 线程很大程度解决了问题。而最新的解决方案是起用了 Google 的 BigTable, 这下子从性能、容错、缓存上都有更好表现。看人家这收购的,好钢用在了刀刃上。
出于冗余的考虑,每个视频文件放在一组迷你 Cluster 上,所谓 "迷你 Cluster" 就是一组具有相同内容的服务器。最火的视频放在 CDN 上,这样自己的服务器只需要承担一些"漏网"的随即访问即可。YouTube 使用简单、廉价、通用的硬件,这一点和 Google 风格倒是一致。至于维护手段,也都是常见的工具,如 rsync, SSH 等,只不过人家更手熟罢了。
YouTube 用 MySQL 存储元数据--用户信息、视频信息什么的。数据库服务器曾经一度遇到 SWAP 颠簸的问题,解决办法是删掉了 SWAP 分区! 管用。
最初的 DB 只有 10 块硬盘,RAID 10 ,后来追加了一组 RAID 1。够省的。这一波 Web 2.0 公司很少有用 Oracle 的(我知道的只有 Bebo,参见这里). 在扩展性方面,路线也是和其他站点类似,复制,分散 IO。最终的解决之道是"分区",这个不是数据库层面的表分区,而是业务层面的分区(在用户名字或者 ID 上做文章,应用程序控制查找机制)
YouTube 也用 Memcached.
很想了解一下国内 Web 2.0 网站的数据信息,有谁可以提供一点 ?
--EOF--
《程序员》杂志在做关于 Web 可扩展性的专题,编辑朱海燕联系上了 Flickr 的 Cal Henderson, Web 2.0 应用最出色的架构师之一, 准备对他进行 e-mail 采访,如果大家有什么关于 Web 扩展性的相关问题,可以在后面留言或者发邮件给 dbanotes@gmail.com , 我代为转交。
五月份阿里巴巴举办的侠客行网络大会 Cal Henderson 因为时间的关系而没能成行,希望这次的采访能弥补一下不少人的遗憾。
--EOF--
翻出以前写的这则: 恢复 EXT3 Superblock 的正确方法 , 补充几点内容。
前文说过超级块的位置,对于一个未知的 Ext3 文件系统,也可以用 fsck 模拟对设备的格式化,输出的内容中会列出 Superblock 的位置。命令开关是 "-N".
Testdisk是一款超强的开源文件系统恢复工具,通过它也很容易检查到超级块的信息以及如何恢复,很关键的一点是,这个工具能检查到"可用"的超级块信息
有的时候,也有可能是分区表信息损坏。fdisk -l /dev/hdx 会提示该设备上没有任何分区信息。gpart 这个小工具恢复分区表比较有效。当然,前面介绍的 Testdisk 也能做到这一点,如果该设备上只有一个文件系统,那么直接 fdisk 处理一下也是可行的。
Linux / Unix 没有 Windows 回收站这个概念,rm -rf 有的时候会造成一定的灾难。个别的时候,e2undel 能派上用场。
--EOF--
Putty 发布了新的版本 0.60,最有用的一个改进是在默认设定的地方可以存储主机名字。
- Pressing Ctrl+Break now sends a serial break signal in the serial back end, and in the SSH and Telnet backends it asks the server to do the same (if the server supports it). The previous Ctrl+Break behaviour can still be triggered with Ctrl-C.- On Windows, it is no longer necessary to configure high-numbered
serial lines such as COM10 as `\\.\COM10'; PuTTY does this
automatically.- You can now store a host name in the Default Settings.
还有不少 Bug 修订。估计 Putty 在国内网络人员中的普及原不及 SecureCRT。
--EOF--
"说出 10 个 Linux 基本命令?"
这是当年我在毕业求职的时候遇到的一个面试题。没有难度。如果说法换一下,"说出 10 个 GNU 核心命令",即使我能蒙出来 10 个,怕也会有错误。
GNU 核心工具(GNU Core Utilities)指的是 GNU 操作系统基本的文件、Shell、文本维护工具。
The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.
GNU 核心工具 包括 fileutils、Shellutils、textutils 三个部分。其中 fileutils 只有 22 个命令,有三个命令我居然从来没有用到过,分别是 mkfifo(Creates FIFOs)、shred(Destroy data in files)、vdir(Long directory listing)。Shellutils 有 35 条命令,其中也有我从来没有注意过的命令,比如 pinky(Lightweight finger);textutils 工具中也有用的极少的工具,而且用的时候也往往有一些坏习惯,textutils 有 26 条命令,注意 VI/VIM 并不在其中。
初学 Unix/GNU Linux 的时候往往觉得老虎吃天,无从下口。这里有个小小的建议:从这个 GNU 核心工具开始,逐步掌握包含的三类几十条命令。对于类 Unix 操作系统你就可以拿出去蒙人了,呵呵,象 Unix 操作系统速成? 这有点像《天龙八部》中鸠摩智学会了小无相功,就能把少林 72 绝技耍的像模像样有些类似。当然,仅靠这一点还不足以行走江湖,有时间咱再继续说。
--EOF--
Putty 可以说是最好的开源 Telnet/SSH 客户端工具。 上月 24 号刚发布了一个新版本: Beta 0.59 。相对上一个版本 Beta 0.58,有大量的改进与 Bug 修复。
我个人最期望的 Tab 功能(以 Tab 形式显示多个会话)没有被加进来。在 Putty 的 Wishlist列表中,很多人也在期待这个功能。如果说同类的商业工具 SecureCRT 还有什么不可替代性的话,可能也只有这个 Tab 功能。在这个请求 Tab 功能 Wishlist 的页面,有人列出了几个解决方案,感兴趣的朋友不妨尝试一下。
基于 Putty 定制的 Pietty 还是老版本(看样子作者是当兵去了,台湾兵役制度也挺烦人的)。对于中文用户,强烈推荐使用! 这个小工具简直太酷了。
提供另外一个信息:如果对 zmodem 传输文件非常依赖的话,尝试一下 Le Putty。如果对 Tab 功能很依赖的话,可以尝试一下 PuttyTabs。
--EOF--
Azureus 在上次变化后又有了新的变化。GetAzureus.com 站点现在已经重定向到 Zudeo.com。这个新的名字 Zudeo 基于 Azureus 3.0 版本,界面与 2.x 版本有了很大改变,一个最重要的变化是有了搜索功能,用户能够更为方便的获取内容(前提是可搜索内容足够多)。Zudeo 同样便于用户发布媒体文件,而且,更加建议用户发布 high quality format 的内容。

BitTorrent、Zudeo、Emule(代表站点 VeryCD)、网际快车 Flashget (kuaiche.com)、迅雷 (xunlei.com)这一类软件如果从另一个角度看,不妨都把他们称之为媒体分发工具,现在几乎都在作着同样的动作:构建门户。我们常说内容为王,对于这类的工具,我想最重要的前提是要有一个用户可以获得媒体信息的地方,搜索虽然是一个不错的手段,但是通过 Web 页面 "寻找-->查看-->下载"已经成为很多人的习惯,所以现在几个工具都在做的门户,或者进一步说多媒体门户。
如果观察一下这几个站点,网站内容的形式很类似:搜索框 + 媒体内容导航。当然也有差异,比如中文站点页面都非常的冗长,包含大量的盗版内容。这些网站都够 2.0 么? 很难说,1.75 还凑合 :) 很难一眼看出那些是用户贡献的内容,哪些是编辑的拷贝粘贴。我倒是期待能有这样的站点:用户贡献内容+用户评价内容(获得高评价的用户应该有获得一定收益的可能)。这两条腿都能走路的话,交互性更大。
不管怎么说,此类门户站点机会不小,我们拭目以待。
--EOF--