粗略翻译了一下 Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch 这篇文章。 有很多的关于linux文件系统比较的文章,但是他们大部分都是anecdotal的,都是基于人为的一些任务或者都是在老的内核下面完成的。这篇评论是基于11项真实存在于一台硬件比较老(奔腾 II/III ,EIDE硬盘)的文件服务器上的任务。 为什么会有另外一个测试? 我发现两个quantitative和reproductible(可重现的?)的测试,在使用2.6.x内核的时候(参见参考文章)。Benoit(2003)在一台有512M内存的奔腾II 500的服务器上使用大文件(超过1GB)进行了12次测试。这些测试非常有用,但是结果已经太老了(2.6.0内核),并且他们都是应用于操作专有大文件的(比如多媒体、科学、数据库)。 Piszcz(2006)进行了21项测试,在一台有768M内存,400G EIDE133硬盘的奔腾III 500的机器上模拟了一个变化的文件操作。到目前为止,这些测试似乎是在2.6内核上面最全面的了。然而,因为很多测试都是“人为”的(例如,复制和删除10000空的目录,创建10000文件,递归的分割文件),所以这些或许很难为现实世界带来什么结论。 所以,这个测试的目标就是完成Piszcz(2006)的一些结论,通过在小型商务文件系统服务器(参考测试描述)上面的实际操作。
笔记本的cpu的频率是可调整的,一般用电池的时候,就会降频使用,延长电池使用时间。上周末忘记把笔记本的电源带回来了,用电池在linux下工作,发现降频真是个好东东,用了一个小时,电池显示还能用3个多小时,并且cpu温度从20多度才涨到40来度。为了让本本更凉一点,就看了看cpufreqd的工作原理。 cpufreqd采用的是打分制,每条rule的总分是100分,比如有个rule里面有4条规则,如果满足了其中3条,那么总分就是75分,以此类推 。使用分数最多的规则,如果两条规则的分数相同,使用当前正在使用的规则,或者使用位置靠前的规则。下面来说说看这个东西怎么玩。 比如按照我的工作情况,我有下面的需求: 1 如果使用了mplayer,gcc等,那么用最高频率。 2 如果使用了firefox,那么用中间频率。 3 如果没有满足上面两条,那么用最低频率。 这样就相当于设置了三个运行级别,你可以按照自己的需求来定义运行的程序。 从上面的需求可以看出来,我们设置1这种情况下分数为100,那么没有mplayer的时候,1的分数应该是50。这样其他的两个要至少在50以上才行。而且3还得是在2匹配和不匹配的分数的中间。我的设置如下: [Rule] name=firefox ac=on programs=firefox-bin programs=sss acpi_temperature=0-60 profile=Performance Low [/Rule] [Rule] name=Movie Watcher ac=on programs=xine,mplayer,gmplayer,wdmplayer,gcc profile=Performance High [/Rule] [Rule] name=AC Rule ac=on # (on/off) programs=aaa acpi_temperature=0-60 profile=On Demand Low [/Rule] 这样,基本可以实现我上面的需求。条目是可以多次出现的,所以比如可以多加几条programs=gcc,让gcc在使用的时候和不在使用的时 候得分差很多,这样方便安排其他的情况。 windows下面可没这么灵活的设置亚,呵呵。
oracle的数据库文件一旦建立就会一直占用磁盘空间,表空间用尽的时候,就需要为表空间添加数据文件。可是,从表里面删除数据的时候,表空间却不会释放,所以磁盘空间占用只会越来越大。前段时间一个数据库的表空间不足了,放数据的分区也磁盘空间不足了,必须得想办法释放一下空间才行,操作说起来其实也简单,就是倒腾。 操作值钱咱先给现在的表空间做一个备份。然后新建一个用户,给这个用户建立表空间,按照备份的大小添加数据文件。然后将备份导入新的表空间,切换应用使用的用户。删除之前用户的表空间,删除数据文件。然后给他重新建立表空间数据文件,切换回来。然后将新的用户里面的数据导出,导入到旧的用户下面。这样就操作完了。 导出导入的时候可以按照exp和imp帮助里面的那个例子,row=n表示不倒数据,只导结构。这样导出似乎也会有些问题,什么seq不会倒出来,需要重新弄,不太明白这个。
前面那个帖子似乎没有解决问题,查看了一下log,有些异常: cactid ERROR: SNMP timeout detected [500 milliseconds] 搜了一下,找到一个文章,似乎说升级就ok了,可是那个日期是2005年的,我的应该没那么老吧。不过还是上cacti的主页看了看,看到cacti和cactid都升级了,就打算升级一下看看。debian上面怎么玩呢?cacti还好说,之前升级过一次,不需要编译,直接按照文档升级就好,cactid可得编译,我也不打算直接覆盖安装(其实真这么装没准还简单了),还是做一个deb包吧,一直没有体验过deb如何做,刚好机会来了。 搜了半天,找到一个文档,按照里面的步骤,下载了diff、dsc等文件, 解压之后修改control文件和一些depands,然后编译打包,好像没什么问题,试着装了一下,装上了,运行了一下,好像也没问题,呵呵,就这么搞定了。 之后按照同样的步骤搞cacti,结果安装打包的文件后,出问题了,呵呵。不过还好,东弄西弄,总算还是弄好了。按照cacti的文档手动升级了一下,也没遇到问题。不过plugin-arch也需要同时升级一下。还有poller.php和cmd.php都需要加执行权限。 cactid i这个版本似乎执行的时候输出没有g那么多了,很好,要不然log会搞的很大。cmd.php的输出倒是没多少内容,不过没有cactid的多线程爽亚,呵呵。执行cactid之后,会发现还有些问题: Host[6] DS[46] WARNING: Result from SNMP not valid. Partial Result: … 搜了一下,找到一个文章, 里面说到了问题的所在。我这里是因为一些有问题的data souce导致,比如这些本来就获取不到数据、或者之前的设备比如网卡现在没有了等等,都会导致cactid获取不到需要的数据,就会提示那个错误。按照里面提示的DS[46],在http://your_ip/cacti/data_sources.php?action=ds_edit&id=num这个链接的num那里直接输入数字就能知道是哪个ds出问题了,删掉或者更新就ok了。
今天值班的时候发现网络不稳定,ping sina 50%以上的丢包率,ping 网关也差不多,所以服务器都开始报警了。一遍骂这个
ssh一种更加安全的登录方式是使用rsa/dsa方式来做验证。密码口令很可能被猜出来,但是用dsa方式验证的ssh,除非他弄到你的私匙,否则肯定是安全的。 ssh-keygen命令可以用来生成rsa/dsa方式的公匙密匙。 ssh-keygen或者ssh-keygen -t rsa生成rsa方式的密匙。ssh-keygen -d 或者 ssh-keygen -t dsa生成dsa方式的密匙。具体rsa和dsa的区别看 这里 。 上面的命令会在~/.ssh文件夹中生成公匙(id_*sa.pub)和密匙(id_*sa),将pub文件中的内容copy到远程服务器你的home目录下面的.ssh目录中的authorized_keys[2]这个文件中,有没有最后的那个2要看你用的是ssh1还是ssh2方式,通常都有2。 然后就是远程服务器的这些文件需要有正确的权限,.ssh目录是700,authorized_keys2文件是644。 此后再登录服务器的时候应该就不需要输入密码了。 有一个小tip,就是给服务器的ip设置一个好记的形式,那么多的ip记住不容易阿,而且每次还得一个一个输入。具体方法就是修改hosts文件,添加类似下面的内容就可以了,相当于自己做了一个dns,呵呵。 #销售server 218.x.2.128 s128 xs xiaoshou #db server 218.x.23.189 s189 db oracle 这样,以后访问s128或者s189就可以了,当然后面的xs、xiaoshou、db、oracle也都是别名,都可以用来访问。 还有一个tip,是关于term的。如果用的是urxvt,访问的远程服务器的时候可能会遇到“unknow terminal : rxvt-unicode” 类似的错误,如果出现了类似错误,会导致在服务器端vim和ls都没有颜色。解决方法是在.Xdefaults文件中添加URxvt.termName: xterm,或者.bash_profile里面自己设置一下TERM类型。
这里 7.4.1 Account Locking When a particular user exceeds a designated number of failed login attempts, the server automatically locks that user account. You specify the permissible number of failed login attempts using the CREATE PROFILE statement. You can also specify the amount of time accounts remain locked. In the following example, the maximum number [...]
linux下面恐怕很多人都会推荐这种组合了。这个组合中的fetchmail负责将远方的pop,imap之类的mail收下来。然后procmail负责将这些mail投递到本地用户那里。mutt呢,就是用来管理查看这些邮件的了。msmtp用来联接远程的smtp服务器发送邮件。这