通过CIFS协议mount了一个目录过来。
星期三, 一月 19, 2011
从cifs客户端删除一个文件
星期日, 十二月 26, 2010
2009年3月发现的一个nfs caching问题
这是一个老问题了,超过21个月之后,重新拿出来记录一下。
问题出现在2009年,在2009年3月12-15日期间,专门针对此问题向网闸和操作系统的厂商提交了问题,经过多次邮件交涉(GMAIL有记录),最终对问题有了基本认识。当时邮件不少,却没有汇总报告,今天刚好想起来就简单汇总一下。
此问题的现象是,在nfs server上能看到/ datacenter/collected/
文件送到server上用的是ftp协议,一个java程序在轮询flag目录,发现有新文件就处理掉。结果就是文件已经存在很久了,程序就是找不到该文件,用ls也看不到。
最开始怀疑问题出现在穿透网闸,再后来把测试程序写出来以后,在不走网闸的情况下,也会出现问题,只是频率不同而已,因此最终把火力瞄准了nfs,而不是网闸。
共享用的是nfs协议,开始以为是nfs server有问题,后来查找资料,发行是nfs client的caching问题。
To
free
to
/proc/sys/vm/drop_caches.
Because this is a non-destructive operation
are not freeable, the user should run
在问题出现时,用ls命令是看不到文件的,但是如果知道确切文件名的话,可以用stat命令显示该文件的信息,但是如果stat *仍然看不到,在nfs server上则所有问题都不存在,说明文件确确实实写到磁盘上了。
处理办法:
1,改用cifs共享方式。CIFS协议无此问题。我最终选用了这个方案。
2,定时touch一下flag目录,这个方法最简单,且普通用户就可以了。
3,定时清缓存。如果去清除cache,有可能会导致脏数据丢失,因此必须事先发出sync命令,且必须以root来执行。个人觉得这个方法不现实,频率掌握不了,且需要root权限,就没做详细测试。
经验值:测试程序非常重要,专门写的制造此问题的程序,可以在公司的实验环境中将问题复现出来,且频率提高以后,还可以将网闸等非关键要素给筛选过滤出局。
问题的终极解决办法,估计需要等nfs协议的v4版本NFS v4 (pNFS)来彻底解决,并且在v4本身已经采用了全新的协议方式,估计可以从根本上避免此问题。实际上,v4发展的是相当的慢。
星期三, 十月 13, 2010
移动互联网在美国人掌控之中
在智能手机市场最常见的操作系统有苹果iOS、谷歌Android、塞班(Symbian)、Windows Mobile和黑莓OS等,由于可以安装第三方软件,因此智能手机具有非常丰富的功能。
移动互联网,将是未来几年最火爆的领域。截至2010年,最牛大的5款智能手机操作系统,有4款是美国人控制的,Symbian是芬兰人的。如果加上Palm系统,那又是一个美国。
不能不佩服,硅谷的强大创新动力。或者是美国的风险投资,或者是Nasdaq,嗯,都很强大。
星期四, 九月 30, 2010
撤出microsoft live spaces空间
由于微软于2010年9月28日发布消息,将关闭 live spaces,我也不得不开始整理几年来写的东西,准备撤离。
9月28日微软将关闭Live Spaces 拟转移3000万用户http://www.enet.com.cn/article/2010/0928/A20100928741042.shtml
以前在很多个网站都留下过脚印,尝试过很多博客空间,实在是有很多东西都不记得了,地址和账号都忘记,或者只记得部分信息的太多了。目前能汇集到一起的数据,也只有2个live.spaces.com的内容,还有2个blogspot.com的内容。不过这样也不错了,汇总了这几年写的不少东西。以下数据也是目前能够汇总的数据了。
1,开始写是2005年1月份。
2,开始的时候写的多一点,在2006年发帖量最大,不过大多数是转帖和一些牢骚。
3,到现在累积出260条左右的文章,其中有不少是copy/paste模式。2005-43,2006-117,2007-41,2008-23,2009-24,2010-12
4,现在基本上在努力保持每月一条(网友称之为月经贴)。
5,微博账号在2010年qq上激活。未注册新浪,twitter/facebook由于被封,无访问量的SNS网站几乎等于不存在,导致我的账号都已经不记得了。
最后,争取把所有文章汇总到这两个地方(互为备份,免得再倒闭关张):
- http:// zhangjiansheng.wordpress.com
- http:// zhangjiansheng.blogspot.com
星期一, 九月 27, 2010
云计算和服务器集群的关系
2008.09.25 周鸿祎语出惊人,"一家企业没有1000台以上的服务器,就不要妄谈'云安全'。"
http://tech.163.com/08/0925/10/4MM87M3V000915BF.html
2010.06.25 他们自己装的超过100万台组成的计算机群是Google的真正核心竞争力。Skype做的电话系统是一个非常标准的云计算平台。
http://tech.sina.com.cn/it/2010-06-25/15364352038.shtml
不管是数据中心,还是服务器集群,还是超算,还是超级计算机,还是云计算,都是提供高效率的后台计算能力,这些就是未来IT业务的核心。至于端,目前最火的莫过于iPhone/iPad/gPhone/xPhone之类的移动终端了,个人理解基于HTML5的浏览器也会带来PC端的提升。可以预计的个人未来几年的工作,都会与之有关。
星期四, 九月 23, 2010
mysql的timestamp字段
Query OK, 0 rows affected, 1 warning (0.01 sec)
Level: Warning
Code: 1287
Message: 'TIMESTAMP(14)' is deprecated; use 'TIMESTAMP' instead
1 row in set (0.00 sec)
:
+---------------+----------------+
| 列类型 | 显示格式 |
| TIMESTAMP(14) | YYYYMMDDHHMMSS |
| TIMESTAMP(12) | YYMMDDHHMMSS |
| TIMESTAMP(10) | YYMMDDHHMM |
| TIMESTAMP(8) | YYYYMMDD |
| TIMESTAMP(6) | YYMMDD |
| TIMESTAMP(4) | YYMM |
| TIMESTAMP(2) | YY |
+---------------+----------------+
"完整"TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸创造
最常见的显示尺寸是6、8、12、和14。
你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。
列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。
列如:
定义字段长度 强制字段长度
TIMESTAMP(0) -> TIMESTAMP(14)
TIMESTAMP(15)-> TIMESTAMP(14)
TIMESTAMP(1) -> TIMESTAMP(2)
TIMESTAMP(5) -> TIMESTAMP(6)
所有的TIMESTAMP列都有同样的存储大小,
使用被指定的时期时间值的完整精度(14位)存储合法的值不考虑显示尺寸。
不合法的日期,将会被强制为0存储
CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
CREATE TABLE t (ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
星期二, 八月 03, 2010
7月8日发布的Java 1.6.0_21,当月12日就爆出崩溃问题
Java SE 6 Update 21发布 修复大量安全漏洞
甲骨文的Java更换企业名称导致Eclipse崩溃
在Java 1.6.0_21中,Java的公司字段从"Sun Microsystems, Inc"改为了"Oracle.",但这一改动却导致了始料未及的后果:因为有些应用程序是需要依靠公司字段识别虚拟机。集成开发工具Eclipse 3.3版后的版本,包括刚刚发布的Eclipse Helios,都由于这一改变而报OutOfMemoryError错误,因此而发生崩溃。Java是通过自动更新程序更新的。