简单了解EXT4文件系统
最近看到了有EXT4的文件系统的介绍,找了一下这个升级版的文件系统的NEW FEATURE:1 Multiblock Allocation 2 Delayed Allocation 3 Break 32000 subdirectory limit 4 directory Inodes reservation 5 nsec timestamps 6 inode version on disk 7 uninitialized groups 8 journal checksumming 9 persistent preallocation 10 Online Defragmentation 11 Undelete Feature for Ext4 12 Large file support 简单看了看,其实对于大多数系统来说,子目录数、单个文件等等估计都很难达到EXT3的限制的,所以这些吸引力估计不大。我比较关心的
在linux系统中对文件进行分割
经常对从数据库中SPOOL出来的数据进行分割,而以往都是要在UltraEdit中一点点的剪切、复制,一直觉得linux中应该有个命令,今天终于找到了,那就是SPLIT。[@more@]下面是帮助信息:[root@logana opt]# split --helpUsage: split [OPTION] [INPUT [PREFIX]]Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; defaultPREFIX is `x'. With no INPUT, or when INPUT is -, read standard input.Mandatory arguments to long options are mandatory for short options too.-a, --suffix-length=N use suffixes of length N (defa
REDHAT中如何判断主机的CPU是32位还是64位的
可以直接查看/proc/cpuinfo文件,其中有关于CPU的详细信息,包括型号、CACHE、频率等等,但是没有地方明确的写明是32位还是64位的,不过在FLAG那一行有很多的标志信息,如果其中有LM标志,说明这个是64位的CPU,如果没有,则说明是32位的。FLAG的详细的解释是定义在cpufeature.h头文件中的,里面关于LM的解释是Long Mode (x86-64),这个文件在64位系统上位于/usr/include/asm-x86_64目录下,在32位系统中位于/usr/include/asm目录下,下面列一个64位的cpufeature的头文件做个记录吧[@more@]#define X86_FEATURE_FPU (0*32+ 0) /*
使用NFS4协议在NETAPP存储下不能MOUNT的分析和解决
之前的NETAPP存储一直使用的是默认的MOUNT协议,也就是NFS3的协议,因为一个应用需要使用NFS4的协议,于是开始了苦难之旅。 首先默认情况下NFS4协议在NETAPP存储上是没有打开的,这个打开很容易,基于WEB的图形界面没有配置的地方的,只能通过命令行进行配置。登录进 去,然后使用options nfs.v4.enable on命令打开NFS4协议,这时候会提示说在冗余机头的情况下,那边机头也要搞,否则发生FAILOVER的时候那边就不能提供NFS4服务了,于是把两 边都搞好,在VOL上划了个QTREE,把QTREE EXPORT出去,然后就开始在客户端折腾。[@more
(转载)删除文件后硬盘空间不释放的问题
转载自:http://www.linuxdiyf.com/viewarticle.php?id=89776很多人会遇到在操作系统上rm掉一个大的文件,以解决文件系统超标的问题,可是有的时侯文件删除掉了,而空间却未释放出来。论坛上也常常见这样贴子,为什么会这样,如何解决呢?本文只局限于Hp unix的操作系统。原因其实很简单,主要是因为被删除的文件在删除的时侯还是进程在操作(打开、访问等)的缘故,rm只完成了在磁盘上文件实体的释放,而类似free list结构中相应的文件系统因进程的操作相应的inode并未释放。[@more@]这样的问题解决起来也很简单,找到操作的进程,kill掉就
山寨版800
很多人都说成功是被逼的,不是别人逼你,就是自己逼自己。我自己就被逼无奈充当了次山寨版800。 SUN的NAS存储因为机房温度过高没有响应了,以前也发生过类似故障,都是温度降下来后重启就好了,这次温度下来后,重启,启不来了,再重启,还是起不 来,可是存储这种高级货除了重启我也没啥招啊,只好打800报修,800给我开了个CASE,说一会会有工程师联系我。在等待工程师的过程中,经过反复重 启,串口连上去发现了点报错信息,如下:[@more@]Oct 11 03:47:44 svc.startd[45]: svc:/appliance/kit/akd:default: Method "exec
(转贴)Out of Memory: Killed process
如果/VAR/LOG/MESSAGE中出现了上面的错误,那就是因为某些进程因为内存不够而被系统自动杀掉了,系统自动杀掉某些进程主要是出于对系统整体的保护,避免整个系统HANG掉。下面转载的文章中详细描述了这种问题发生的原因和避免的办法[@more@]http://www.redaht.com/archives/redhat-list/2007-August/msg00060.htmlSince this problem seems to popup on different lists, this message has been cross-posted to the general Red Hat discussion list, the RHEL3 (Taroon) list and the RHEL4 (Nahant) list. My apologies for not havi
如何判断自己的cpu在vmware下是否支持64位的操作系统
当初第一次做rac安装测试的时候,找了一个免费版本的vmware server 1.0.3,因为公司的服务器都是64位的,而且也都是安装64位的os和oracle,所以就想当然的去创建一个64位的操作系统,结果发现不行,说我的cpu不支持64位的虚拟系统。开始以为是免费的vmware的限制,也没多想,就直接下载32位的oracle和cluster开始安装。今天才发现了一个官方的解释,记录一下。[@more@]http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1901vmware上的官方链接上介绍了支持64位虚拟系统需要的cpu
iostat -n来统计NFS读写信息时碰到了Cannot open /proc/self/mountstats: No such file or directory
搞了个NFS环境,然后弄了点压力来测试下读写性能如何,其实如果网络上没有其他流量,那基本上网络上得到的流量也就是NFS读写的数据的流量了,也大概 能得到NFS的读写性能。但LINUX下的sysstat包中提供了一个iostat命令,其中有一个-n参数,可以直接看到NFS上的流量信 息,BUT,使用这个咚咚就要小心碰到“Cannot open /proc/self/mountstats: No such file or directory”了。[@more@] 我测试的环境是REDHAT AS4U4,直接使用iostat -n命令,出现错误提示:Cannot open /proc/self/mountstats: No such file or directory/porc目录是
EV_AGENT[4409]: Agent Main --Estream construct failed. Err: RWSockErr: in RWSocket::getpeername: NOT
RWSockAddr getpeername() const;Returns the address of the peer connected to this socket.返回连接到这个SOCKET上的peer的地址的时候发生的错误,而网上看到有类似的情况,跟我这里很类似,是系统负载过高的时候发生的。并且我这里,当时因为负载过高,磁盘I/O过大,导致负载狂高的同时,RAC系统的VOTING DISK访问磁盘发生超时,接着就发生了节点被驱逐的情况,导致一个节点被重启。另外系统启动的时候,会启动EV_AGENT,启动时的信息如下:EV_AGENT[4485]: Agent daemon process created, pid 4485EV_AGENT[4485]: Agent has started
Oracle 9i, 10g, and 11g RAC on Linux所需要的Hangcheck-Timer Module介绍
此文档摘自METALINK:726833.1,所适用的ORACLE版本为:Oracle Server - Enterprise Edition - Version: 9.2.0.8 to 11.1.0.7从9.2.0.2版本开始,ORACLE RAC环境需要使用一个新的I/O fencing模块,叫做hangcheck-timer模块。这个模块用来代替Watchdog模块,提供类似的fencing功能。Hangcheck-timer模块是标准的linux2.4以上的内核中的一个子功能被发布。Hangcheck-timer应该在系统启动的时候被加载, 并对于能够影响RAC节点稳定性的长时间的系统操作HANG进行内核监控。它运行在内核级别并使用Time Stamp Counter(TSC)来捕捉调度的延迟和节点H
linux服务器本机不能登陆的解决
一台测试的数据库服务器安装好之后,每次都是使用SecureCRT远程通过ssh登陆上去操作,即使安装数据库的需要图形界面的操作,也是通过vnc远程做的,突然今天,发现这个服务器在本机不能登陆,可是远程却可以登陆,而且这台测试机器使用了很久了,也没碰见过什么异常,系统日志也查不到什么有用的东西,见鬼了?[@more@]安装oracle过程中,一般的安装文档中都会提到要设置/etc/security/limits.conf和/etc/pam.d/login参数文件来限制oracle服务器可以打开的文件数、进程数等等资源的限制,于是会需要在/etc/pam.d/login 文件中添加session r
Windows & Unix 文件格式之迷, 空格、回车换行、tab 转换及其相关工具(转载)
转载自:http://www.php-oa.com/本文深入揭露 Windows & Unix 格式差异, 及因此而导至的各种问题.同时介绍了一些与之相关的查看和操作工具, 并在 Windows, Unix 进行举例.1. 问题提出:我们可能会遇到过这样一些困惑:(1) 如何查看一个文件或数据流的二进制格式(以十六进制格式显示)?(2) 为什么在 windows下编译的 shell 脚本在 Unix下不能执行?为什么在 windows下编辑的 C 源文件在有些 gcc 编译器下不能编译?(3) 为什么我在 vi 等编器下打开一个文本文件会包含 ^M, 如何把它去掉?为什么我在 windows 上用记事本打开 unix上的文件, 文件
LINUX下的用户和组的概念和管理
用到了用户和组的管理的地方,有些搞不清楚,网上搜了些资料,也懒的整理了,直接东拼西凑的贴在这里吧。其实最主要的就是/etc/group和/etc/passwd两个文件,搞清除了里面的内容、含义、权限,然后再搞几个命令,一般的用户管理也就都搞定了。[@more@]用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。1、/etc/group 解说; 用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,
LINUX下手工添加网卡
看见三天两头的有新内核发布,也想升级个内核玩玩,没想到因为LVM的一些原因导致升级不成功,而且老版本的内核启动后发现网络不能连接了。重启网络服务 提示说MAC地址不对,这就奇怪了,这个机器的网卡又没动过,怎么会MAC地址突然不对了呢?没多想就直接跑到/etc/sysconfig /network-scripts/ifcfg-eth0下面把MAC地址给删除了,然后service network restart,提示说网卡设备不存在,这下完蛋了。想着到图形界面或许简单些,startx启动图形界面,登陆进去,找到网络配置那里,然后准备直接把 网卡删除并重新添加,发现删除后没法添
系统日志中出现大量的truncating integer value to 32 bits信息
REDHAT AS4U4的X86_64系统,在系统的/VAR/LOG/MESSAGE日志中出现大量的truncating integer value to 32 bits信息,完整的信息如下:Jun 18 11:22:10 billdb1 snmpd[26994]: send response:Jun 18 11:22:10 billdb1 snmpd[26994]: truncating integer value to 32 bitsJun 18 11:22:10 billdb1 snmpd[26994]: truncating uinteger value to 32 bitsJun 18 11:22:10 billdb1 snmpd[26994]: truncating uinteger value to 32 bitsJun 18 11:22:13 billdb1 snmpd[26994]: truncating integer value to 32 bitsJun 18 11:22:13 billdb1 snmpd[2
REDHAT AS4U4 的/var/log/secure中会出现重复登陆记录的BUG
通过配置,可以把/var/log/messages中的日志记录到远程的机器,这样当这个主机被黑掉,SYSLOG也被抹掉之后,也可以在远程保留一份系统LOG的记录,然后可以事后来查系统操作的一些记录。所以我们通过对/var/log/secure中的记录进行判断,然后及时的发邮件出来,通知大家有人登录到某台主机了。这套机制一直运行很好,不过唯一的毛病就是每次登陆,都会出现两条重复的记录,每次登陆发两封邮件,很烦人,下面来看看这个BUG。[@more@]日志中记录的这两条记录之间相差正好8个小时,很容易就想到可能是时区的问题,因为我们正好和标准时间相差8
redhat linux内核信息 warning:many lost ticks
系统中有时候会出现如下警告信息: bt1 kernel: warning: many lost ticks.bt1 kernel: Your time source seems to be instable or some driver is hogging interuptsbt1 kernel: rip __do_softirq+0x4d/0xd0bt1 kernel: Falling back to HPET下面简单记录一下搜索出来的相关内容[@more@]在某些系统上,当首次访问一些 IDE 设备时,可能显示信息warning:many lost ticks(警告:丢失许多嘀嗒信号)。当 IDE 设备没有使用 DMA 进行数据传输时,会显示此信息,因为非 DMA 传输所用的时间比计时器嘀嗒信号间隔长很多(在此期间,处理器
使用压缩功能减少主机之间SCP时候的带宽占用
SCP是使用SSH协议进行主机之间数据传输的常用命令,但有时候如果主机不在同一个机房,那么这个数据拷贝占用的带宽就是要好好考虑的问题了,SCP提 供了-l参数来限制带宽的占用,但限制带宽的同时却增加了拷贝需要的时间。一个比较好的办法就是在主机端先进行数据压缩,然后SCP过去后再解压。好在 SSH和SCP已经为我们准备好了这些解决问题的办法。[@more@]默认情况下的SSH是不支持压缩的数据传输的(不同版本的默认值可能不一样,可以通过man sshd_config来查找文档进行确认),要支持压缩的数据传输,那么首先要修改SSH的配置文件(一般位
linux中设置进程调度的优先级别
数据库是运行在操作系统上的,而且和操作系统紧密结合,因此有时候对数据库的优化不得不深入到操作系统层面。 在查找别的资料的时候看见了eygle曾经写过AIX上通过调整LGWR进程的优先级来解决大事务量系统的性能问题,于是看了点linux下进程优先级相关的概念。 [@more@]linux下的进程调度优先级是从-20到19,一共40个级别,数字越大,表示进程的优先级越低。默认时候,进程的优先级是0。查看进程优先级有两个办法:ps和top。top命令显示的NI列的值。或者可以使用ps -efl来查看,也是在ni列表示了进程的优先级。进程的优先级可以