工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.51099.com 注册 | 登陆
浏览模式: 标准 | 列表2012年03月的文章

Centos5.5 ext4支持的安装与升级

.Centos5.5 ext4支持的安装与升级:
yum -y install e4fsprogs

这就可以了,下面的仅供参考


在 RHEL 和 Centos5 中使用 Ext4 前,很多想可能想先给现有的文件系统转换成 Ext4 ,只要运行下面的命令就行了
tune4fs -O extents,uninit_bg,dir_index,flex_bg /dev/sdb1

在重起前,我还要让内核支持 Ext4 的文件系统,需要修改 initrd 的文件本身的内容。如下命令来生成 支持 Ext4 的 initrd。
mkinitrd --with=ext4 --with=ext3 -f /boot/initrd-2.6.18-194.32.1.el5.img 2.6.18-194.32.1

ext4对我来说的优点是,每个子目录支持无限多个文件
ext3只能支持 32000个
NTFS也是无限多,但Linux用NTFS性能有折扣

 


下面是Ext4,Ext3的特点和区别:

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:

1. 与 Ext3 兼容。 执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。

2. 更大的文件系统和更大的文件。 较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。

3. 无限数量的子目录。 Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。

4. Extents。 Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。

5. 多块分配。 当 写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。

6. 延迟分配。 Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

7. 快速 fsck。 以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。

8. 日志校验。 日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。

9. “无日志”(No Journaling)模式。 日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

10. 在线碎片整理。 尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。

11. inode 相关特性。 Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。

12. 持久预分配(Persistent preallocation)。 P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。 Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。

13. 默认启用 barrier。 磁 盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 "mount -o barrier=0" 命令禁用该特性。)

 

让CentOS 5.5支持ext4

使用环境使用的是CentOS5.5 内核是2.6.18-194.el5

其实CentOS 5.5里面是有ext4模块的,只是没加载,所以我们先把模块加入系统

[root@linux ~]# cd /lib/modules/2.6.18-194.el5/kernel/fs/ext4/   //ext4模块就在此目录下

[root@linux ext4]# ls

ext4.ko

找到模块后使用modprobe命令添加

[root@linux ext4]# modprobe ext4   //注意:这里只能写模块名,不能写成ext4.ko

添加完后使用lsmod查看

[root@linux ext4]# lsmod |grep ext4

ext4                  285409  0

jbd2                   47744  1 ext4

crc16                   1027  1 ext4

   最后使用yum安装一下e4fsprogs

[root@linux ext4]# yum install e4fsprogs

最后创建一个分区来使用ext4创建文件系统

[root@linux ~]# mkfs.ext4 /dev/sda6     

到此你的linux系统已经能够支持ext4文件系统了!

linux下使用固态硬盘ssd的优化配置问题,配置trim(discard)

现在固态硬盘越来越流行,如何使用固态硬盘?本人参考了一些国外最新的资料,总结如下:

参考:
http://en.opensuse.org/SDB:SSD_discard_%28trim%29_support
1、内核支持。kernel版本>2.6.37 中包含只针对ext4文件的FITRIM的系统调用。
因此要使用固态硬盘,内核版本必需大于2.6.33,由于2.6.37针对ext4下的固态硬盘进行了优化建议采用2.6.37以上版本,同时文件系统采用ext4。
2、如何使用ssd的TRIM功能。
下载最新版的hdparm,最新版的hdparm支持linux下的trim,也就是discard。
在/etc/rc.local下增加/sbin/wiper.sh
在/etc/fstab 下修改为如下:
/dev/sda1 / ext4 discard,defaults
增加discard选项即可。

 

几点建议:
1、将/tmp 和 /var/tmp目录挂载到内存中,避免对ssd频繁读写
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

 

why not btrfs?

tmpfs on /var/run type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
tmpfs on /media type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
tmpfs on /var/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
tmpfs on /tmp type tmpfs (rw,relatime)
/dev/sda2 on / type btrfs (rw,noatime,nodiratime,ssd)

 

原本在机械硬盘上,写入数据时,系统会通知硬盘先将以前的擦除,再将新的数据写入到磁盘中。而在删除数据时,系统只会在此处做个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正删除,并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。而当系统识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。这一步就已经省下一大笔时间了。然后再是写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。
  以上就是Trim的原理以及真正作用。

--------------------------------

Linux下的trim支持叫discard,现在ext4和xfs都支持(btrfs应该也支持),内核需要>=2.6.37,xfs的支持在3.0才比较完善。具体需要设置这几个方面:

1. 内核
升级到2.6.37以上,最好用最新的3.0。
禁用disk IO scheduler模块。

2. 文件系统表
修改fstab文件,在挂载参数中加上discard;最好也同时加上noatime。

3. 调整文件系统参数
ext4的话最好禁用日志功能,能防止写入额外的数据而减少ssd寿命。

4. 相关文档:
xfs官网对ssd支持的说明
ext4的ssd设置
suse官方对ssd支持的相关说明
fdisk -H 224 -S 56 /dev/sdd
fdisk -H 32 -S 32 /dev/sdd

配置固态硬盘(SSD)的Ext 4

接着需要关注的就是文件系统。想要优化文件系统删除字节区块的效率,就必须确保小于512K的文件分布在不同的删除字节区块上。要做到这一点,必须确保在创建可扩展文件系统时指定了需要使用的条带的宽度和幅度。这些值在页面中指定,默认大小为4KB。要创建一个最佳的可扩展文件系统,应该使用如下命令:
mkfs.ext4 -E stride=128,stripe-width=128 /dev/sda1

如果要修改现有的文件系统的参数,可以使用tune2fs实用程序:

tune2fs -E stride=128,stripe-width=128 /dev/sda1

配置固态硬盘(SSD)的I/O调度程序
优化的第三个部分涉及到I/O调度程序。该模块是一个决定如何处理I/O请求的核心组件。默认情况下就是非常公平的排队,对于普通的磁盘驱动器来说,这是很好的方案,但对于以期限调度为优势的固态硬盘来说,这并不是最好的。

如果你想在系统中对所有磁盘采用期限调度,可以在内核加载时把elevator=deadline这句话加入到系统引导管理器(GURB)中;如果你只是想针对某一个磁盘,就应该在rc.local文件中加入类似如下实例的一句话,那么每次当系统重启,期限调度就会应用到指定的磁盘。如下实例将会对/dev/sdb磁盘采用期限调度。

echo deadline > /sys/block/sda/queue/scheduler

清理固态硬盘(SSD)中的数据块

最后一个重要的步骤称为“清理”,该操作可以确保在删除文件后相应的数据块真正清空,然后在创建新的文件时才能有可用的数据块。如果没有清理操作,一旦数据块空间填满,固态硬盘的性能就会下降。如果使用丢弃挂载选项,当文件删除后,数据块也会被相应地清除,这样可以显著提高固态硬盘的性能。2.6.33以上的内核已经支持清理操作。

要启用清理功能,需要在固态硬盘的/etc/fstab配置中为挂载文件系统添加丢弃选项。示例中的命令为挂载的根逻辑卷启用了清理操作。

/dev/system/root/ext4 discard,errors=remount-ro,noatime 0 1
该命令同时也添加了Noatime选项,该选项保证了文件的访问时间不会因为每次读取而更新,从而降低对文件系统的写入次数。

在fasab配置文件中完成对文件系统的这些修改后,重启计算机,或者通知文件系统重新读取其配置,然后使用/etc/fstab文件中包含的mount -o命令重新安装每个文件系统。

 

 

CentOS 5 升级到最新版

CentOS 5.8是 CentOS 5 发行系列的第六次更新。它包含了很多错误修正、升级和新功能。在往下读之前我们推荐您先阅读 UOP 的发行注记(或单页发行注记)及技术性注记(或单页技术性注记)。本文档的额外部分只作为一个附录并主要涉及关于 CentOS 的问题。

如果你之前已经安装了CentOS 5.5,打算在近期升级到CentOS 5.8,那么以下内容是你需要关注的:

首先,做好备份(你应该知道应该备份什么),这个不用多说。

然后,执行以下命令:

yum clean all
yum update glibc*
yum update yum* rpm* python*
yum clean all
yum update
reboot
yum clean allyum update glibc* yum update yum* rpm* python*yum clean allyum updatereboot

这样就升级完了,可以检查一下系统目前的版本:

lsb_release  -a注意:如果你的CentOS上安装了ISPConfig,那么有可能会启动了CentOS Testing软件源:-kbs-CentOS-Testing,这可能会造成依赖性问题。

用以下命令升级可以禁止kbs-CentOS-Testing:

yum update --exclude="postfix" --disablerepo=kbs-CentOS-Testing

yum升级 CentOS 内核支持reiserfs

CentOS 内核的内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且CentOS 内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。

ReiserFS是一种新型的文件系统,它通过一种与众不同的方式--完全平衡树结构来容纳数据,包括文件数据,文件名以及日志支持。ReiserFS还以支持海量磁盘和磁盘阵列,并能在上面继续保很快的搜索速度和很高的效率。

本实例在x86_64环境下升级

1. 查看CentOS 内核升级包
yum --disablerepo updates,base --enablerepo=centosplus list 'kernel*'

2. 安装要升级的kernel包名称
yum --disablerepo updates,base --enablerepo=centosplus install kernel.x86_64

3. 安装reiserfs工具
yum --disablerepo updates,base --enablerepo=centosplus install reiserfs-utils.x86_64

4. 通过fdisk创建分区
fdisk /dev/sda
partprobe

5. 使用mkfs.reiserfs工具格式化分区(N为刚创建分区的分区数)
mkfs.reiserfs /dev/sdaN

这样,我们就完成了用yum升级 CentOS 内核,并且让升级后的 CentOS 内核支持reiserfs。

马云演讲实录

创业不是为了赚钱

创业永远挑选最容易做最快乐做的事情,创业不是为了赚钱,而是你喜欢他,你喜欢这个工作,你喜欢做这件事情,那是最大的激情,最大的动力所在。如果 你为了挣钱我告诉你,永远有比你想的更挣钱的东西。你选择是因为你喜欢,你喜欢你就不要抱怨。这个世界上我们可以批判,但是我讨厌那些几种,中国社会不能 再这样那样,而你们一定会替我们找到未来。今天中国的问题,所有的问题会出现我告诉大家,60年以前中国也有过,50年以前中国也有过,40年以前中国也 有过,600年以前中国还会有,你来到这个世界丰富多彩就是因为有这些东西,不是每个80后、90后都会成功的,但是有人会成功。

不是每个60后的人都会成功的,但是有人会成功,谁会成功?你勤奋、你执着、你完善自己、你改变去完善自己去完善社会这样的人会成功。我不是一个成功 学的人,我不喜欢看成功学,我只看别人怎么失败,从别人失败里反思什么事情我不该做,从别人成功里也会反思,他为什么成功?我要学他的成功还是学他的精神?

清楚我有什么?我要什么?

所以没有什么抱怨的,坦荡的看自己。刚才有同学说做自己,怎么做自己?我们做自己问自己这些问题,我有什么?我要什么?我愿意放弃什么?我们人生到这一世,不是来创业的,不是来做事业的,我们是来体验生活的。世界本来就是不公平的,怎么可能公平?你出生在农村,盖茨的孩子出生叫盖茨家里面你能比吗?但 是有一点是公平的,比尔•盖茨一天24小时,你一天也是24小时。这24小时有3个8小时,8小时你在路上走在挤公共汽车的时候,你根本不知道自己在干什 么,这时候需要好的朋友。还有8小时你睡在床上不知道干什么,你这个时候需要自己有一个好的床,床上有一个好的人。还有一个8小时你知道自己在干什么,那 就是工作。假如你工作是不开心的,你做的事情是你不爽的你可以换,千万别做做这份工作讨厌这份工作,我觉得这些人是没有意义的。娶了这老婆天天骂老婆又不离婚什么意思?对不对?

幸福是自己去找的

所以我想每个人要清楚,世界不公平,你如果想改变它,第一告诉你不可能,第二去从政去,也不可能。只是人可以不一样,出生的条件不一样但人是可以幸福 的。幸福是自己去找的。我走过民工的都市的创业者到城市里打工者,我对他们尊重到城市里打工就是创业者,对我来说没有区别,只是我走了这条路他们走了那条 路,每次走过工棚发现他们的笑声,我进去发现他们在打牌,2、3块钱的赌注每个人都很开心。

幸福很容易找,盖茨并不幸福。幸福是自己找出来的,今天中国的经济的高速发展我刚才讲了,但是我们的价值体系,我们的文化体系受到了摧毁,最早新文化 运动摧毁了旧文化没有建设新文化,文化大革命又把我们很多价值体系搞乱了,今天有的学者来讲,我并不完全同意中国不是法制社会,好像有了一套法律我们就能 解决这些问题,不是那回事。

重要的是如何改变自己

美国发展是因为法制吗?就是这个人漂亮是因为鼻子漂亮。不对。大家记住美国社会的发展它是基于基督教文化的,在基督教文化上面建立法律体系,在这个法 律体系建立政治体系,在这个上面建立起他们的领导人的选举体系,整个体系比你的想的复杂得多,这仅仅是简简单单的一部分,假如我们今天这个价值文化体系被 摧毁的情况下,随便拿一点价值体系,等于沙滩上建楼,建不起来。

我们需要重新找回价值体系,让年轻人明白不要怪人家富怪人家有钱,而是我要如何改变自己,我对社会有贡献,我寻找快乐寻找幸福感。创业不会给你带来幸 福感,会给你带来快感,但快感的背后会带来很多痛苦,而真正的幸福感是你知道自己在做什么,知道给别人在做什么,你会逐渐从痛苦中找到那些快乐。

我坚定不移你们会为我们,为这个国家为中国找回价值体系,而这才是中国真正腾飞的时代,永远是如此,一代胜过一代,而最最高兴和高傲的事,我从你们眼光里看到了希望。

80后有资格但没有权利抱怨

所以今天请大家我们不要抱怨,如果你想成功看任何问题积极乐观的看,这个时代还不是你的,我刚才就说了,你们有权利抱怨,但你们没有资格抱怨,等你们 四五十岁的时候,你们有资格抱怨但你没有权利抱怨,你必须把它干好,今天你没有坐到那个位置,20年以后别轮到我们抱怨你们,你们当年吹的很牛,现在轮到 你们干你们试试看。所以准备20年以后的你们,中国是你们的,毛主席说世界是年轻人的。我今天觉得他讲的太对了,一定是你们的,你们没坐到那个位子的时 候,你不知道那个位子有多么的痛苦。

心态决定姿态,姿态决定生态


所以我今天来讲创业,我的网站公司将会全力支持大家。但是我不想谈具体怎么做一家公司,碰到这个问题在网上可以交流,我们有个语音计划大家可以交流。 人的心态决定姿态,再决定你的生态,心态好自然会好起来的。你们要比的是20年以后,谁能够成为这样的,至于哪家公司哪个行业,阿里巴巴、腾讯、百度、新 浪、微博抓住了这个时代,什么是下一个最好的机遇?告诉大家上一个世纪的商人,你抓住机会为成功商人,下一个世纪商人的企业家,解决社会问题的人才真正成 为一家伟大的公司,去想你为未来你为社会解决什么问题?这样的人会成功,而真的要做这些事情从完善自己开始。

没有人是完美的,社会不可能完美,因为社会是由所有不完美的人组成在一起,你的职责就是比别人多勤奋一点、多努力一点、多有一点理想世界才会好起来, 我就是这么走过来的,我没有任何理由走到今天。唯一的理由我比我同龄一代的人更加乐观,更加会找乐子,更加懂得左手温暖右手,相信明天还会更好。

 

Squid使用总结(安装、配置、优化...,转)

1. 编译和安装

暂时使用CENTOS 5.2上缺省安装的2.6STABLE7版本

2. squid配置

2.1 最简单配置

http_port 80
cache_peer 127.0.0.1   parent    8080  0 no-query default originserver  name=bes
acl all src all
http_access allow all

access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log

2.2 监控管理

acl snmppublic snmp_community public
snmp_port 3401
snmp_access allow snmppublic localhost
snmp_access deny all

2.3 更安全的配置

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443        # https
acl Safe_ports port 80        # http
acl Safe_ports port 443        # https
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all

cache_effective_user squid
cache_effective_group squid

2.4打开相关性能告警

high_response_time_warning 1000
high_page_fault_warning xxx
high_memory_warning xxx

2.5 其他

visible_hostname proxy.hostname

3. 调试

3.1 在配置文件中设置debug_options ALL,9
3.2 cache.log
3.3 squid -XF 
3.4 squid -k parse  分析配置文件语法

4. 网络相关优化

4.1 减少TIME_WAIT套接字数量

#vi /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024    65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
#/sbin/sysctl -p
详见http://blog.s135.com/read.php?338

5. DISK IO相关的优化

5.1 cache_dir设置的考虑

• cache_dir采用二级目录方式保存cache object,做配置时不宜过大,建议为规划容量的1倍,否则建立swap目录会花费较多时间。推荐保留10%的空间。这些额外的空间用于存放squid的swap.state文件和临时文件。
• 可以配置多个cache_dir,建议每个cache_dir都放在不同的物理硬盘上,以改善IO效率

5.2 squid相关的目录设置

• log和cahce_dir不要放在一个物理盘上
• cache_dir所在的盘建议使用ReiserFS格式
• mount cache_dir盘时建议使用noatime参数

5.3 DISK Cache的相关设置

• max_open_disk_fds
This directive defines an upper limit on the number of file descriptors that Squid should open for reading and writing cache files on disk. 当达到这个限制后,squid会跳过DISK cache,从而避免IO持续恶化。
缺省为0(无限制)。[建议]For a single disk cache, 900 is a good choice.  For a dual disk cache, try 1400. 
• max_filedescriptors 
允许打开的最大文件描述符,实际允许打开的数量也受编译squid的--with-maxfd的影响。缺省为0。[建议]
• maximum_object_size
maximum_object_size 1024 KB
• cache_swap_low/cache_swap_high  ???

5.4 Linux设置

• filedescriptors
一共有两个方面的限制: 整个系统,当前用户。
http://prefetch.net/blog/index.php/2009/07/31/increasing-the-number-of-available-file-descriptors-on-centos-and-fedora-linux-servers/

整个系统:

动态调整,每次启动后该设置会丢失:

#ulimit -HSn 4096

 

在/etc/sysctl.confg中设置:
# vi /etc/sysctl.conf
fs.file-max = 100000
# sysctl -p
[ulimit显示的值和/proc/sys/fs/file-max中显示的值有什么关系]
ulimit command provides control over the resources available to the shell and to processes started by it, on systems that allow such control. The maximum number of open file descriptors displayed with following command

 

#vi /etc/security/limits.conf

单个用户

* - nofile 8192

6. MEM优化考虑

• cache_mem
Squid占用内存量似乎不受这个参数的控制,此参数不必设得太大,适量就行。服务器:cache_mem 100 MB
• maximum_object_size_in_memory:
设置较小的maximum_object_size_in_memory值有助于有效控制squid过度占用内存
• client_db off
• The ratio of memory-to-disk can be important. We recommend that you have at least 32 MB of RAM for each GB of disk space that you plan to use for caching. 

7. CPU优化相关

Squid is a single process application and can not make use of SMP. If you want to make Squid benefit from a SMP system you will need to run multiple instances of Squid and find a way to distribute your users on the different Squid instances just as if you had multiple Squid boxes. 

8. 其他问题

 

8.1 和Redirect合作的关系
8.2 log rotate

定期进行log rotate

8.3 cachemgr.cgi

 

 

9. 参考资料

 

dns,bind

一、DNS常识
1、DNS查询:分为递归查询和迭代查询两种
  (1) 递归查询: 即客户端向本地DNS服务器请求查询域名,本地DNS服务器收到查询任务后如自身无法回答则向其他服务器查询,直到查到结果后返回结果给客户端。期间DNS服务器可能要查询很多其他DNS服务器。
(2)迭代查询:即客户端向本地服务器请求查询域名,本地DNS服务器无法回答,则给客户端返回另一个能查询域名的服务器地址,客户端再向另一服务器查询,期间可能客户端需查询多个DNS服务器,最终查到结果。

2、DNS服务器分类:

DNS服务器分为:
(1)master(主DNS服务器):拥有区域数据的文件,并对整个区域数据进行管理。
(2)slave(从服务器或叫辅助服务器):拥有主DNS服力器的区域文件的副 本,辅助主DNS服务器对客户端进行解析,当主DNS服务器坏了后,可以完全接替主服务器的工作。
(3)forward:将任何查询请求都转发给其他服务器。起到一个代理的作用。
(4)cache:缓存服务器。
(4)hint:根DNS internet服务器集。

 

【主机名或域名】ttl] [calss] [type] [orgin] [mail] 
主机名或域名:一般 用@代替。每个区域都有自已的SOA记录,此处的为指定的域名。用@表示当前的源,也可以手工指定域名。
ttl:通常省略
class:类别,SOA记录的类别对internet乖哦说缺省为IN
type:类型,SOA记录的类型就是SOA,指明哪个DNS服务器对这个区域有授权。
origin:域区文件资 源,这个域区文件源就是这个域主DNS服务器的主机名,注意这里要求是完整的主机名,后面一定要加上“."。上例中:www.29zjt.com.  而不是www.29zjt.com  如果没有加后面的点,结果将是:www.29zjt.com.29zjt.com
mail:一般指管理员的邮箱。但和一般 的邮箱不同,用"."代替了"@",尾部也 要加上“."


       2009121001  //作为版本控制,当域区文件修改时,序号就增加,辅助服务器对比发现与自已的不同后,就会做出更新,与主服力器同步
       28800  //辅助服务器与主服务器进行更新的等待时间。间隔多久与主服务器进行更新,单位为秒。
      14400    //重试间隔。当辅助服务器请求与主服务器更新失败后,再间隔多久重试传递
       720000  //到期时间。当辅助服务器与主服务器之间刷新失败后,辅助服务器还提供多久的授 权回答。因为当与主服务器失去联系一定时间后,(这个时间就是此处定义的时间),辅助服务器会把本地数据当作不可靠的数据,将停止提供查询。
如果主服务器恢复正常,则辅助服务器重新开始计时。
       86400 )  //最小TTL,即最小有效时间,表明客户端得到的回答在多长时间内有效。如果TTL时间长,客户端缓存保存时间长,客户端在收到查询结果时开始计时(TTL)时间内有相同的查询周日不再查询服输务器,直接查自已的缓存。如果TTL时间短,则缓存更新的频率快

Records:23123