关于优化
说到优化,其实最好的优化就是提高硬件配置,比如提高cpu的运算能力,增加内存容量。个人认为,如果考虑升级硬件,建议优先提升内存容量,因为一般服务器应用对内存的消耗和使用要求最高。
当然,这都是题外话。
我们这里首先讨论的是在相同的硬件配置下(相同的服务器,不升级硬件)优化你的系统。
作为一个系统管理员,我觉得首先要明确一点:我们在服务器上做任何操作,升级或者修改任何配置文件或者软件的时候,首先要考虑的是安全性,并不是越新的东西越好。
这也是linux管理感觉和windows不一样的原因。windows首先建议您使用其最新版本的软件和操作系统。其实我个人认为这是一种商业行为。就系统管理而言,这是非常糟糕的。
使用新的软件和系统可能会带来新的问题,有些问题甚至是致命的。
所以作为管理层还是应该考虑一个稳定长期的软件版本作为我们的版本,具体好处我就不多说了。我相信作为一个管理员,你应该知道。
其实个人用linux最直接的优化就是升级内核。自己编译的内核是按照自己的系统编译的,会得到最大的性能和最小的内核。
但是,服务器不一样。当然,我们也希望每台服务器都是自己编译的内核,高效精致。但是现实和愿望是有差距的。想象一下,如果您管理100台linux主机,每台主机可能都有不同的配置。
那么一个编译内核的过程将是一个庞大的工程,从实用的角度来看,工作量是不可想象的。我想你也不想做这样的事。所以个人认为,采用官方发布的内核升级包是一个不错的选择。
首先我们会对新安装的系统做一系列的升级,包括软件和内核,这是非常重要的一步。
在升级完所有软件,完成基本的防火墙和配置后,我们开始优化一些细节。如果你是老系统,在做一些操作和优化你的系统之前,一定要把所有的数据备份到其他介质上。
1.虚拟内存优化
首先检查虚拟内存的使用情况,并使用命令。
# free
检查当前系统的内存使用情况。
一般来说,linux的物理内存几乎被完全使用。这和windows很不一样。它的内存管理机制充分利用了系统内存,跟windows不管有多少内存都要用一些虚拟内存不一样。这需要注意。
Linux下虚拟内存的默认配置是通过命令实现的
# cat /proc/sys/vm/freepages
可以,显示的三个数字是当前系统的:最小内存空白页,最小内存空白页,最大内存空白页。
注意,这里系统使用虚拟内存的原理是:如果空白页数量低于最大空白页设置,使用磁盘交换空间。达到最小空白页设置时,使用内存交换(注:这是我看一些资料得来的,使用时需要自己观察。
但这并不影响我们对新的虚拟内存参数的配置)。
内存通常以每页4k字节分配。最小内存空白页设置是系统内存量的两倍;最小内存空白页设置是内存量的4倍;最大内存空白页设置是系统内存的6倍。这些值在系统启动时确定。
总的来说,在系统分配的虚拟内存的配置上,我个人认为增加最大内存空白页是比较好的配置方法,以1G的内存配置为例:
原始配置比率可以修改为:
2048 4096 6444
通过命令
# echo '2048 4096 6444' /proc/sys/vm/freepages
因为增加了最高空白页的配置,所以可以更有效地利用内存。
2、硬盘优化
如果您是scsi硬盘或ide阵列,可以跳过这一节。本节描述的参数调整仅适用于使用ide硬盘的服务器。
我们通过hdparm程序建立IDE硬盘,
使用DMA和32位传输可以大大提高系统性能。按如下方式使用该命令:
# /sbin/hdparm -c 1 /dev/hda
该命令将第一个IDE硬盘的PCI总线指定为32位,并使用-c 0参数禁用32位传输。
使用硬盘上的DMA,使用命令:
# /sbin/hdparm -d 1 /dev/hda
您可以使用-d 0参数来关闭DMA。
更改完成后,可以使用hdparm检查修改后的结果,并使用命令:
# /sbin/hdparm -t /dev/had
要确保设置结果不变,请使用命令:# /sbin/hdparm -k 1 /dev/hda。
Hdparm命令的其他一些常用参数函数
-g显示硬盘的参数,如磁道、磁头和扇区。
-i显示硬盘的硬件规格信息,开机时由硬盘自己提供。
-我直接读取硬盘提供的硬件规格信息。
-p设置硬盘的PIO模式。
-Tt评价硬盘的读取效率和硬盘缓存的读取效率。
-u 0或1允许其他中断请求在访问硬盘时同时执行。
-v显示硬盘的相关设置。
3.其他优化
关闭不必要的服务。关于系统自动启动的服务,网上有很多资料,这里就不赘述了。
关于安全
1.安全检查
作为系统管理员,定期对系统进行全面的安全检查是非常重要的。最近遇到一些朋友来信说有一些莫名其妙的问题。比如最大的问题就是我明显感觉网络服务慢,很有可能被攻击。
实践证明,无论什么样的系统,默认安装都是不安全的。其实不管你用windows,linux,bsd还是其他什么系统,默认安装都有很多漏洞。怎样才能成为一个安全的系统?
这正是我们的系统管理员需要做的。配置,配置,重新配置。
任何系统,只要经过精心配置,堵住已知漏洞,都可以说是安全的。其实装系统,配置防火墙,装杀毒软件,并不安全,很多朋友都说过。事实上,如果您不对系统进行任何安全设置,
那就等于向黑客敞开一扇纸做的大门,数十分钟就能完全控制!
这并非骇人听闻。
作为linux系统,同样存在很多漏洞,黑可能利用这些漏洞控制你的整个系统,要防止这些问题,我们需要做以下步骤:
1、 升级系统中所有软件包的最新版本;
2、 设置较为强壮的防火墙;
3、 定期检查关键记录文件,配置杀毒软件
4、 多关心一下发布安全信息警告的网站,掌握一些最新的病毒和黑客程序的特点,这些都利于系统的正常运作。
这篇文章主要以优化为主,为了配合这一主题,安全部分我们只讨论一下日常的一些维护工作。
除了上面列出的4条是管理员必修之课外,对一些linux系统细节的维护也很重要。
包括:
1、 配置日志轮训工具,定期下载备份日志,是个非常好的习惯,这样不但能减少日志的消耗的磁盘空间,提高系统效率,更能及时发现问题,linux下有些很好的系统日志分析器,能直接提取日志中的特殊项目,
省去了阅读日志的烦恼;
2、 使用命令lsof ?Ci ,netstat ?Ca ,ps ?Ce等命令,定期检查系统服务端口监听等情况,也可制作一个定期执行的脚本,将这些命令定期执行后发到邮箱中;
3、 定期检查root用户的history列表,last列表,vipw用户列表是否正常;
4、 定期备份文件,用tar命令就能很好的备份了,当然需要下载这些备份并转移介质;
如一点发现有任何特别的没见过的情况或端口,那么要引起足够的重视,切勿因小失大。
以上是我对linux系统安全和优化的一些浅显认识,希望大家都能安全高效的使用linux为你的工作生活带来方便。