基于以上2.6的新特性,我决定用2.6的内核,我的系统为Red Hat Enterprise Linux AS release 3 (Taroon Update 3)
硬件环境为DELL 2850
一、下载解压并打上内核补丁
我以2.6.10为例子,patche以bk4的例子,目的只是让大家知道怎么打patch,
其实本人用的是2.6.6的内核,因为在AS3.0上升级到2.6.9以上的内核,
mount大的nfs网络硬盘时,df 显示不正确,明明是800G的盘变成4.2G,
不过还是能正常用,我升级过nfs和mount的包都没用,/var/log/message里
提示是kernel: nfs warning: mount version older than kernel,
还望知道的 告知一声,谢 :) BTW:2.6.8的内核没用过
内核源代码:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2
最新内核补丁:http://www.kernel.org/pub/linux/ ... atch-2.6.10-bk4.bz2
cd /usr/src
rm -rf linux
tar jxf /download/linux-2.6.10.tar.bz2
ln -s linux-2.6.10 linux
cd linux
bunzip2 -dv /download/patch-2.6.10-bk4.bz2 |patch -p1
如果在/usr/src目录下就用patch -p0
二、修改内核源代码 (升级2.6就是为了优化,干脆连源代码也改了吧)
1.修改/usr/src/linux/include/linux/posix_types.h
设置fd_set支持的最大数量
#define __FD_SETSIZE 1024 --->; 65536
2.修改/usr/src/linux/include/linux/fs.h
设置最大打开文件数量(TCP连接数量)
#define INR_OPEN 1024 --->; 65536
#define NR_FILE 8192 --->; 65536
#define NR_RESERVED_FILES 10 --->; 128
3.修改/usr/src/linux/include/net/tcp.h
设置TIMEOUT的时间为1秒
#define TCP_TIMEWAIT_LEN (60*HZ) 60 --->; 1*HZ
设置在backlog队列里的半连接的重试次数,每次都会花相应的时间,本质上 也是减少重试时间
#define TCP_SYNACK_RETRIES 5 --->; 3
针对RHEL-AS3本来就是稳定+优化的,不过就算你用 RHEL-AS3 自己的内核,那也要修改一下上面的参数才好呀 :)
三、安装必要的工具
1.下载module-init-tools-3.1.tar.bz2
http://www.kernel.org/pub/linux/ ... t-tools-3.1.tar.bz2
CODE:
[Copy to clipboard]
./configure --prefix=/
make moveold
make all install
./generate-modprobe.conf /etc/modprobe.conf
2.下载新的mkinitrd
ftp://195.220.108.108/linux/6/fe ... d-4.1.18-2.i386.rpm
它需要lvm2 device-mapper
ftp://195.220.108.108/linux/6/fe ... -1.00.19-2.i386.rpm
ftp://195.220.108.108/linux/6/fe ... 00.25-1.01.i386.rpm
如果不更新这个包在make install时会提示以下错误:
CODE:
[Copy to clipboard]
No module mptbase found for kernel 2.6.10-bk4, aborting.
mkinitrd failed
make[1]: *** [install] Error 1
make: *** [install] Error 2
安装lvm2-2.00.25-1.01.i386.rpm时请用rpm -ivh --nodeps package name