星期四, 七月 15, 2010

linux var log问题解决


观察新装的几台linux服务器状况,发现var目录超大,连续两周检查,均超大。


大文件分别存储在这些目录中:/var/log/xferlog, /var/cache/logwatch


1,检查发现,xferlog是vsftpd产生的。

而其根源在于vsftpd的缺省配置。

[root@xx~]# grep xfer /etc/vsftpd/vsftpd.conf


xferlog_enable=YES


#xferlog_file=/var/log/vsftpd.log


xferlog_std_format=YES

貌似配置没啥问题,从表面来看也不应该产生xferlog文件,但是偏偏/var/log目录下没有vsftpd.log,只有另一个xferlog
文件。其原因在于xferlog_file
缺省值是/var/log/xferlog,它被注释掉了,所以执行缺省值。




而每天都会进行归档的/etc/cron.daily/logrotate程序的配置中没有包括xferlog文件的规档,但是它已经缺省包含了/var/log/vsftpd.log的归档配置。

[root@xx~]# cat /etc/logrotate.d/vsftpd.log


/var/log/vsftpd.log {


# ftpd doesn't handle SIGHUP properly


nocompress


missingok


}


解决办法很简单,修改/etc/vsftpd/vsftpd.conf配置文件,把xferlog_file前面的#井号去掉。然后重启vsftpd即可。




2,检查发现,logwatch是每天都会增加的。

每天都由/etc/cron.daily/0logwatch来执行和调度。

目前还没有找到太好的办法来控制这些文件的产生。

如果需要手工删除过大的文件,可以通过find来查找。

查找大于1M大小的文件 find . -size +1M -exec ls -l {} ;


估计可以按这种思路去解决:

vi /etc/cron.daily/tmpwatch

增加一行内容,保留100天的归档文件(子目录):


/usr/sbin/tmpwatch --mtime 2400 /var/cache/logwatch






星期一, 七月 05, 2010

酷酷的小电脑foxconn NetBox nT330i

NetBox-nT330i


Thin and light design 250.5mm * 168mm * 22mm


CPU Intel Atom Dual Core 330, FSB 533 1.60GHZ


Chipset nVIDIA MCP7A-ION chipset


主机(准系统)是在淘宝买的,1350元。




硬盘在京东买的,西部数据 2.5寸 5400rpm 320GB,299元。


内存在京东买的,金士顿DDR2 800 2GB笔记本内存,288元。


信号线:以前买的HDMI线29元,新买的DVI线29元,主机是双接口的,使用中任选其一即可。


总计不到2000元。




1,尺寸。非常的小。和常规无线路由器AP差不多大,比一般的上网本更小更薄。


2,性能。还不错,XP启动需要50-90秒之间。


3,高清。1080P没有发现问题,很流畅。


4,温度。没有长时间烧,目前感觉还可以。宣传上来说ATOM和ION都是非常低电节能的。




http://www.foxconnchannel.com/product/Barebones/NT330i/index.html


http://item.taobao.com/item.htm?id=3956050615


http://www.360buy.com/product/171259.html


http://www.360buy.com/product/145051.html


http://www.360buy.com/product/123156.html


http://www.360buy.com/product/155536.html






星期一, 六月 14, 2010

db2 v9对linux版本的要求


居然有3个月没写过技术贴了,说明也很久没成长了。惭愧啊,三个月都是在热盛饭。


总结一下db2 v9对linux版本的要求吧,也算是这两天解决的一个问题。

问题现象:

install db2 9 (64 bit) on Redhat Enterprise Linux (64 bit). It is giving error.


ERROR:

The following library files could not be loaded by db2langdir in /shared/DB2_V_Client/db2/linuxamd64/install/../bin

-> libstdc++.so.5


在执行DB2安装程序时,总是显示没有libstdc++.so.5文件?


原因:由于C语言库版本高,系统中只有libstdc++.so.6。


解决方法:找一个libstdc++.so.5的RPM包,安装上就可以了。软件包是类似于compat-libstdc++-33-3.2.3-63.i386.rpm或者compat-libstdc++-33-3.2.3-63.x86_64.rpm的一个rpm包,一般操作系统DVD安装光盘里会带的。


DB2 9.1


Red Hat Enterprise Linux (RHEL) 4 和 5


#没提到libstdc++的要求,事实证明也必须有libstdc++so.5才能安装和运行。


DB2 9.5


Red Hat Enterprise Linux(RHEL)4 Update 4


Red Hat Enterprise Linux(RHEL)5


libstdc++so.5


DB2 9.7


Red Hat Enterprise Linux (RHEL) 5 更新 2


libstdc++so.6


# 对于 DB2 Net Search Extender,libstdc++.so.5 是必需的。


# 对于 DB2 数据库服务器和客户机,libstdc++.so.6 是必需的。但是,如果使用了 IBM Tivoli® System Automation for Multiplatforms 或 IBM Tivoli Monitoring for Databases: DB2 Agent,那么需要 libstdc++.so.5。



星期二, 三月 16, 2010

明天星期几

木木和姥姥回成都一趟,回京后需要休息两周,3月10日开始在家呆着,很是调皮,把姥姥累够呛。


以前哄他上幼儿园,要说今天是星期1,那明天是星期几呢,木木就知道明天是星期2所以要上班要上幼儿园。


最近我们不问他了,改他来问我们了,今天星期几啊,明天星期几啊,就等着你说爸妈要上班,他要去幼儿园,我们就是不说这句话。憋了几次,他就直接表达了:我想去幼儿园,我想老师了,我想同学班了(他们班的同学)。


周三开始在家休息,周五已经开始念叨想去幼儿园了,还真是长大了,需要和小伙伴一起玩了。


那天教他认字,还自己说呢,在家里他是张驰木木,在幼儿园他是张驰哥哥。




星期四, 三月 04, 2010

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

星期日, 二月 14, 2010

使用clonezilla进行linux系统的物理机到虚拟机的P2V迁移


写出来还是挺简单的,解决问题的过程还是挺辛苦的,主要是google一些资料,还要甄别出部分资料的误导。


问题的来源:


10号上午,偶打算用ghost备份linux系统,在机房进行实际操作的时候,发现ghost(版本11)提示系统内有LVM,它可以备份,但是可能恢复的时候会有问题,就做了备份,但没敢做恢复试验。回来问专家,并google一些资料,发现大多数人都是说不行的,偶直接放弃恢复的想法。google的时候,发现了clonezilla真么个开源东东。


10号下午,偶和丁丁去机房做测试,用clonezilla还算顺利,成功备份出来,直接傻大胆的测试了一下,也成功了。由于ibm的developworks说可以进行p2v试验,丁丁兴趣就比较大了。


11号,偶在机房,把6台linux机器做了clonezilla的镜像,把1台win2008机器做了ghost镜像。下午在丁丁的虚拟环境中进行恢复试验,到下班的时候接近尾声,后来丁丁给我短信,启动失败。


12号,上午查资料,晚上也抽空google一下。


13号,牛年最后一天了,休息。


14号上午,虎年第一天就要值班,闲来无事,继续恢复linux系统的实验,综合google出来的方法基本上直接成功。


问题点:引导时,kernel panic,找不到硬盘,找不到vg,找不到lv等等。但是如果用引导光盘进去linux rescue发现一切都是好的,lv/pv/vg都可以看到,所以估计还是引导过程出的问题,事实上也仅仅是需要重新编译一下initrd,让它具有vmware环境里硬盘的驱动就可以了。vmware缺省的scsi硬盘是lsilogic型号的。


环境说明:


物理机:DELL R710, Asianux3sp2-64bit


虚拟机:DELL R710, Vmware Esx4(vSphere)


所用软件版本:clonezilla-live-1.2.3-27.iso, rhel-server-5.3-x86_64-dvd.iso


有用的资料:


http://www.ibm.com/developerworks/cn/linux/l-clonezilla/index.html


http://hi.baidu.com/%C7%E1%D2%F7%CD%F9%CA%C2/blog/item/de57aa943bb00f41d0135e07.html


http://tzahid.spaces.live.com/blog/cns!E99E74DBE0A928BC!595.entry


http://www.mondorescue.org/docs/p2v.pdf



http://cdnetworks-kr-1.dl.sourceforge.net/project/clonezilla/clonezilla_live_stable/clonezilla-live-1.2.3-27.iso


丁丁找到的克隆Linux开源资料:


1.g4l http://sourceforge.net/projects/g4l/


2.Mondorescue http://www.mondorescue.org/


3.partimage http://www.partimage.org/


4.Clonezilla http://clonezilla.org/


操作步骤:(测试成功)


1,使用clonezilla live进行备份。


可备份到移动硬盘上,或者网络上。


不管使用哪种方式,都建议将备份好的image放到网络上,便于后续的恢复工作。


记录一下,当前1.2.3版本的clonezilla还不认识R710的网卡,所以引导过程需要超时4次,每次1分钟,因为机器有4块网卡,耗时。当了后边vmware环境中,它就认识那个网卡了,启动非常快速。


2,在虚拟机中创建一个新的虚拟机。


注意硬盘不能小于物理机的硬盘。


3,启动虚拟机,并以clonezilla live光盘引导。


进入shell模式,使用fdisk对本地的硬盘进行分区,只需要创建一个分区,保存分区表。


重启虚拟机。


sudo su -


fdisk -l


fdisk /dev/sda;(创建分区)


reboot


4,再次以clonezilla live光盘引导,启动虚拟机,进行linux系统的恢复。


进行恢复。使用网络资源进行恢复,本地机器设置静态ip即可,我使用的ssh方式挂载镜像数据,非常方便。


5,恢复系统以后,调整一些参数。


如果不执行此步骤,直接启动虚机硬盘引导,会遇到panic之类的严重错误,其实就是找不到合适的引导盘。


用linux的安装光盘(随便哪个版本都可以,只要是Linux即可,版本与主机系统相同是最好)引导虚拟机启动,进入linux rescue模式。


然后执行mkinitrd命令,重建initrd即可。


如果有多余的文件系统,可以修改/etc/fstab文件进行注释,如果原来物理机里有多块本地硬盘,或者加载有iscsi/san等网络磁盘,都需要修改这个文件。


6,重启就好了。


poertoff虚机,修改虚机设置,将光驱挂载去掉,虚拟机可以不要光盘引导了,可以自行引导了。


power on之后,虚机不再报错了,系统正常了!


只需要修改自己的网络地址,所有服务已正常。


==============================================================


linux rescue


chroot /mnt/sysimage/


vi /etc/fstab


vi /etc/modprobe.conf


cp -p /boot/initrd-2.6.18-128.7AXS3.img /boot/initrd-2.6.18-128.7AXS3.img.old


mkinitrd -v -f /boot/initrd-2.6.18-128.7AXS3.img 2.6.18-128.7AXS3


内核版本可以看这里:ls -l /lib/modules/


cat /etc/modprobe.conf


alias scsi_hostadapter mptbase


alias scsi_hostadapter1 mptspi


alias scsi_hostadapter2 ata_piix


需要注释掉原来的有关scsi_hostadpter(n)之类的命令行。


vmware的虚拟硬盘是lsilogic,需要装载mpt系列驱动。


cat /etc/sysconfig/network-scripts/ifcfg-eth0


# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)


DEVICE=eth0


BOOTPROTO=none


HWADDR=00:0C:29:A3:6D:28


ONBOOT=yes


NETMASK=255.255.255.0


IPADDR=10.10.10.250


GATEWAY=10.10.10.254


TYPE=Ethernet


USERCTL=no


IPV6INIT=no


PEERDNS=yes



星期六, 一月 30, 2010

接触sun solaris产品


2010年1月。

新年头一个月,基本上都在折腾那两台SUN T5240了,当然还有一台存储是Sun StorageTek 6140。

虽然自1997年以来都在用IBM的设备,但俺主要负责应用,在系统层面知之也不多。

好在自2007年以来,对PC Server有了更进一步认识,配合Linux系统,还是很顺手。

SUN设备基本可以算是第一次使用,虽然2001年接触过E250,但也仅仅限于在OS上面装个apache和gcc之类的,了解不算深入。

这次由于职责所在,接触了sun的服务器和存储。

总体来说,存储还算可以,管理虽然和IBM的不太一样,但也算简单易用。

但是,SUN的服务器实在是不敢苟同,不能推荐大范围使用。


列一下初步认识吧。

1,那个CPU。

真是慢啊,号称是配备了2颗六核UltraSPARC T2,但由于主频是1.2G,尽管机器配备了32GB内存,可在启动WAS的时候,居然耗时12分钟+30秒,太令人郁闷了。

2,那个显示器。

可能是小机的原因,人家标配是没有显卡的,单独配了显卡,缺省人家也不往上边输出的。

就算你改过来,还有可能因为接线和开机的顺序不同,导致不同结果。

说实话,到现在,我也没弄明白,怎么可以肯定的让它在直连的显示器上进行终端显示。

3,那个cluster。

安装包巨大,几百M还是有的,还要再打一堆补丁就不说了。

操作还算简单。功能不算丰富,尤其是设置方面,没啥可设置的。

或许是人家很强大的缘故,所以全智能了?应该不至于。

但感觉和linux的开源产品heartbeat没有太大区别,可以多资源组配置算是比HB好的地方了。

4,那个google

在互联网时代,居然有google/baidu不出来的技术问题/资料,sun产品应该算其中之一了。

很多问题,提交到google上,居然没啥接近的信息。

或许是sun售后做的太好了,不需要大家用google解决之。

5,工业化产品,PC服务器。

性价比绝对要让位于PC server了。

在Intel于2009年推出Nehalem-EP后,业界普遍知道了5500 CPU的强大动力,以及经济萧条影响之下,工业化开放标准设备PC服务器之便宜,性价比之高,绝不是做专有设备的SUN或者IBM的RISC小机能比的了。

而如果Intel能够在2010年如期推出Nehalem-EX处理器,PC Server能够担当数据库服务器,基本上应该就没有问题了,这目前是RISC能够固守的最后一块阵地了。

当然Intel针对的并不单单是RISC,而是AMD,这几年AMD的确给市场带来不少好东西,促使intel也推出更好更便宜的处理器。这才是市场。

而SUN和IBM的RISC呢,欺骗IT群众。在做不了多核的时候,可劲的提高主频,在主频提高不了的的时候,又用多核解决问题,到了6核以后,又说核心之间的协作也太消耗资源,不能更多核了,而等另一个对手做出更多核的时候,他们还是要跟进。到最后你也不知道到底是技术有瓶颈,还是他的市场策略有问题。总之千万别听信他们的托词,一定要性价比,一定要知道更高主频更多核心才能带来高性能。当然了低碳节能是另外一个话题,也是可以作为他们的托辞之一的。