分类: 服务器与存储
2008-06-25 07:36:44
全球最大的粒子物理学实验室CERN最近对数据损坏和字节破坏问题进行了研究。CERN的Peter Keleman总结出了存储专业人士务必了解的一些可能的解决方案。但是这与最终用户有什么关系呢?在几个月之前,我在旅途中碰巧遇到了这样一个问题,我怀疑是由数据损坏引起的。作为一名顾问,我经常到各地出差,为了提前预定各种票和房间,我成为了许多酒店、航空公司、租车公司和其他旅游公司的会员。
在8月份的一个早晨,我登录到一家不知名的旅游公司网站上为未来一周的旅游进行了预定。几个小时之后我再次登录该网站,结果登录密码不能用了。我以为网站暂时关闭了,然后就在午饭后又尝试登录网站,但是遇到了同样的问题。我拨打网站的客服电话,结果被告知他们也不知道出现了什么问题,他们说他们可以将我的密码通过电子邮件发送给我。
我受到密码之后,发现有些事情出现了可怕的错误:我的密码是以()!@结尾的,结果变成了(]!@。 我害怕有人已经获得了我的密码,然后更改了密码并使用了我的信用卡,或者出现更坏的情况。我再次致电公司并且要求二线网络支持服务。我询问他们我的密码最后是在什么时候被更改的。他们告诉我是在一年之前,也就是说没有发生身份被窃的问题。
字符的问题
我决定对这件事进行进一步的调查,这多少与我的专业也有一定的关系。我猜想这个问题肯定跟字符集有关。我假定那个系统没有使用IBM的主机,而且使用的是ASCII码而不是EBCDIC码。首先我去查询了ASCII字符转换表。下面就是ASCII码中的")"和"]"这两种字符被转换成其他码之后的各种形式。
二进制 八进制 十进制 十六进制 键盘字符
010 1001 051 41 29 )
101 1101 135 93 5D ]
我一直怀疑,如果发现大环境中出现至少3个无法解释的错误之后,数据可能就被损坏了。CERN字符集的变动证明我并非杞人忧天。据我所知,CERN使用的大部分磁盘驱动器都是SATA驱动器。这是否是我的密码信息出错的原因呢?显然,在构成密码的7个字符中,有4个已经改动过了。
我想我需要再次向公司求助。那时已经到了傍晚时分,但是我一下子就打到了一线支持处,于是我开始谈论ASCII编码和字节变换。几分钟之内,我与二线支持客服取得了联系。他了解了我的想法但是认为我有些过分了:问题已经得到解决之后,我为什么要深究他们是否损坏了我的密码呢?过了一会之后,我联系上了第三线支持客服。我解释说,我是一位存储顾问然后将我对这个问题的认识重新解释了一遍。结果发生了一件有趣的事:他刚刚也接到另一位用户的电话,而且那位用户也是一位计算机顾问并且也遇到了相同的问题,只是他的密码被改成了另一个不同的字符。两个人在同一天遇到了相同的问题。
我对三线支持客服说,如果硬盘是SATA或者FC的话,他们也许应该检查一下与密码有关的磁盘通道和硬盘驱动器,我要求他们将检查的结果通过电子邮件告诉我。他们自然表示同意,然而除了一次例行客服调查之外,我当然再也没有获得回音。能够找出问题的真正原因当然是好的,但是那些公司当然不愿意将真正的原因告知外人。
我永远也无法知道我的密码被损坏的真正原因是什么以及为什么另一个用户的密码也被损坏,或者这个问题到底影响了多少用户。就象我的家用电脑出现数据损坏情况之后我所说的那样,我相信数据是可能被损坏的,目前针对这方面的问题的保护措施仍十分有限。
T10集团将采用一项名为Data Integrity Field的新标准,那项标准将从SCSI驱动器发送一个检验数字到磁盘。这种做法和Sun公司的ZFS文件系统似乎可以对数据损坏情况进行一定的保护,但是要想使用这些技术都还需要其他一些条件。业内对这些类型的数据损坏问题的认识仍十分有限,对于这些问题的研究也比较困难。当你遇到这类问题的时候,你必须找到问题的原因并立即解决它,但是通常情况下,人们会更换掉部分组件,而且永远也弄不明白是什么损坏了,以及为什么会发生数据损坏和它是如何发生的。
我比以前更加确定数据损坏是肯定会发生的,而且在目前的技术水平下我们对此是无能为力的。随着数据和全球数据网络的急剧增长,我们需要合适的纠错技术去解决整改数据通路中发生的数据损坏问题。但是问题是,我们是否愿意承担那么做的成本?纠错将降低系统的性能并增加成本。为了提高数据系统的可靠性,我愿意负担那个成本。你愿意吗?