这几天光顾着买票、订住宿了,竟然忘记换钱。昨天 sgub 提醒了一下,我今天就去买了港币。
本来想去清华园招商银行买的,结果他们只有千元大钞。看来不去中国银行还不行了。于是我就去了清华科技园里面那个中国银行。桂圆还让我填写购汇申请表。很奇怪,我买的是钞啊……刚开始桂圆还让我直接在申请表上签字呢,我拒绝:空白单子怎么能随便签啊!后来只签了打印出来的单子。
今天用1409.76人民币买来1600港币。其中有:
其中大部分都是汇丰发行的;另有一张中银100元和一张渣打20元。

Posted in 默认分类
|
Tagged HongKong, Travel
|
删除虚拟机之后,无法删除和那个虚拟机相关的光盘ISO镜像文件。于是去他们网站报了 bug。
我发现我这里快成了 bug 集中营了。唉!
Posted in 默认分类
|
Tagged bugs, Virtualization
|
2月29日,遇到一台运行 kernel-xen 的机器 load 异常高,但没有正在运行的进程的问题。ps 命令结果中,有大量如下进程:
root 31246 2817 0 Feb18 ? 00:00:00 crond
root 31247 31246 0 Feb18 ? 00:00:00 /bin/bash /usr/bin/run-parts /etc/cron.hourly
root 31248 31247 0 Feb18 ? 00:00:00 /bin/bash /etc/cron.hourly/mcelog.cron
root 31249 31247 0 Feb18 ? 00:00:00 awk -v progname=/etc/cron.hourly/mcelog.cron progname {????? print progname ”:\n”?
root 31250 31248 0 Feb18 ? 00:00:00 cat /sys/hypervisor/uuid
我亲自 cat 了一下那个文件,也卡住了。查看 /proc/$pid/status 文件,发现状态是 disk sleep。搜索了一下,发现有人报告过这个 bug:https://bugzilla.redhat.com/show_bug.cgi?id=522827 。该报告的意思是 mcelog 不应该去读 uuid 这个文件。但我以为,这应该是内核的 bug 吧?既然提供了这个文件,为啥不让读呢?
因为发现手头一台 xen dom0 上版本是-94的 xend 进程占用大量内存就找 RedHat 公司的朋友问了一下版本号,发现已经有新版本的 kernel-xen -186版本和 xen -108版本了,而且最新的 xen 包依赖了在 CentOS 5.4 里根本不存在的 xz-libs 包和 libext4fs.so 文件。这是不是意味着 RHEL 5 的 update5 快要出来了呢?
这一次,CentOS、Scientific、Oracle EL 谁跟得最快?拭目以待!
今天遇见个12G内存的,直接不给出图了。检查了Data template才发现限制最高10000000K内存。用xm把被监控机器的内存量压小点,cacti就认出来了。真是好玩。
改了Data template模板,重新生成图,才可以了。
感谢Jtr帮忙,给我新租的linode VPS加了he.net的IPv6 tunnelbroker,但是marsteel说IPv6访问不了网站,只能ping通和访问ssh端口。我又去nginx的邮件列表问了半天,才发现原来只需要
listen [::]:80;
这一句就可以,而不需要分别在IPv4和IPv6上设置listen。具体讨论参见这里。
Posted in 默认分类
|
Tagged IPv6, Linux, nginx
|
对于北京南火车站的记忆,还停留在1997年夏天,那次我和郭老板/老师来北京,自己回去,在西站只买到南站的票,又从北京西站北广场东公交场站坐了专线车到破败不堪的南站坐车回安阳。
前几天wincss说从天津坐C车来京的时候看到路边有个疑似站牌的东西,于是他们趁夜黑风高过去捡了回来,还是两块。以下是我们鉴赏文物时留下的照片

Posted in 默认分类
|
Tagged Photo, Traffic
|
今天用nfs://host/dir的格式安装失败了。后来看了python-virtinst-0.400.3-5.el5包里面DistroInstaller.py文件的源码,发现其中有一步是转换NFS URL的格式:
def _sanitize_url(url):
“”"
Do nothing for http or ftp, but make sure nfs is in the expected format
“”"
if url.startswith(“nfs://”):
# Convert RFC compliant NFS nfs://server/path/to/distro
# to what mount/anaconda expect nfs:server:/path/to/distro
# and carry the latter form around internally
url = “nfs:” + url[6:]
# If we need to add the : after the server
index = url.find(“/”, 4)
if index == -1:
raise ValueError(_(“Invalid NFS format: No path specified.”))
if url[index - 1] != “:”:
url = url[:index] + “:” + url[index:]
return url
于是按照它那个写成nfs:host:/dir 就成功了。估计是转换脚本没有正常运行造成的
前一阵和某大型央企的同行交流,谈到“开发背景”这个词,他说我没有开发背景,找工作时易受歧视。我对此报之一笑:其实“开发背景”一词,和其代表的含义早已被剥离了。
传统意义上的计算机高手,都是编程高手,这些人往往出身名牌学府,在计算机尚未在国内普及时就已接触并掌握,其工作内容也是以开发为主。后来计算机应用范围变宽,上述高手也已经成为了行业中的技术领袖或管理人员,于是他们想招个同自己一样有开发背景的人来接班,虽然即使并不是招程序员。在这一代人眼中,开发背景代表了对计算机的理解程度。
但是,并非每个从业人员的成长经历都如同前辈一样单调。现在多如牛毛的培训班正批量把计算机专业的好学生、差学生,甚至非计算机专业的人生产成敢于自称为程序员的挨踢蓝领;而Java语言由于跨平台、开发效率高、企业级应用广泛而成熟、学习曲线较缓,成为这类培训班首选的培训课程。问题是,以Java作为进入计算机行业的第一课,竟然也能算作开发背景?
另一方面,不以开发为业的人不见得不符合所谓开发背景的技术要求。比如我在1995年时时用QBasic通过读写B800段的方式实现屏幕上绘图和保存载入功能,这时候上述培训学员尚不知计算机为何物;2000年在报纸上发表文章介绍用VisualBasic语言编制SMTP、POP3客户端的方法,上述培训学员仍不知计算机为何物。当我为不得不在某重要软件中写了一个不可重入的函数而深感开发工作之无奈,并决定不再多做开发工作时,上述培训学员刚进培训班。而现在我竟然不比他们有优势。虽不以开发为业,却并不比以此为业的人在此方面差,入行很多年却根本不知不可重入为何物的“程序员”也多着呢。做系统管理工作,更关注的是清晰的接口。虽然大家都知道清晰接口必有龌龊实现,但非到功能不正常我才不会去管它(开源软件的bug解决办法我也是报过几个的)。有人说这是不认真,但为什么你要关心一个东西为啥可以正常工作呢?难道它可以正常工作不是理所当然的吗?
刚才和谢珮英同学讨论简易RAID(无卷组概念,逻辑卷直接建设在物理卷之上,常见于机内RAID)和高级RAID/LVM(有卷组概念,逻辑卷建设在卷组之上,常见于外挂盘柜类存储设备),然后就去厕所看虚拟化广告去了。看着看着,突然发现现代虚拟化技术构造的IT基础架构和高级RAID/LVM竟然有些像:
- 物理机器对应物理卷
- 虚拟化群集对应卷组
- 虚拟机对应逻辑卷
- 虚拟化群集的整体搬迁对应卷组的跨控制器迁移
区别仅仅在于磁盘管理的逻辑卷容量可以大于物理卷,而虚拟化技术中虚拟机的资源目前还不能大于物理机器,但具备了群集内自由迁移的特性。相信随着技术的发展,虚拟机将可以拥有比单台物理机器更多的计算、存储能力,从而让虚拟化的IT基础架构更像逻辑卷管理器。
——七月澡后补记