Linux服务器管理技巧大盘点

日期: 2012-06-19 来源:TechTarget中国

  一、用sudo,避免使用root

  如果操作的是FreeBSD服务器,建议用带sudo权限的用户操作(强烈建议不要用root),有时许多操作对于系统而言是非常危险的,尤其是rm -rf,而这个时候sudo会要求输入你具有root权限的用户密码,提醒你是否执行此危险操作;我从Linux转到FreeBSD下操作时也非常不习惯了,现在也喜欢用sudo了,建议你的Linux也可按FreeBSD操作。

  二、巧用crontab

  如果你的Linux机器处于IDC机房,前端没有硬件防火墙时建议开启iptables防护;但此时就有一个问题,你可能要在处于千里之外的公司调试iptables脚本,稍一出错后果就很严重。

  我在配置一台服务器的iptables时,不小心设置了某一项错误参数,结果锁定了SSH会话,导致我们经理及另一技术员连不上服务器。郁闷之余,看到此法特推荐给大家,极其有用,建议大家学习参考:可以配置一计划任务crontab,每5分钟运行一次,即*/5 * * * * root /bin/sh /root/firestop.sh,firestop.sh内容为:service iptables stop;这样即使你的脚本存在错误设置(或丢失的)规则时,也不至于将你锁在计算机外而无法返回与计算机的连接,让你放心大胆的调试你的脚本。同学们可参考学习下,这毕竟是生产环境下逼出来的办法。

  三、合理利用虚拟机来组构开发环境及实验环境

  Linux和windows服务器环境下,我比较推荐Vmware vSphere和Vmare GSX,FreeBSD我推荐下jail。目前我将Vmware vSphpere和GSX均用于了生产环境,效果也比较稳定和安全,这里重点推荐下其特点。

  最近在公司的DELL2850(开发服务器)部署成功了VMware vSphere,一直在测试其性能,目前除了它的兼容性以外(成功率10%),其它还算不错;最近一直在关注其中的新技术,在讲到HA的时候,资料要求中有几个需要注意的:

  ①HA是针对安装有ESX主机的硬件的,在ESX主机故障后,虚拟机在其它主机恢复时使用了VMotion技术,但VMotion则是针对虚拟机的(建议参考VMwareHA、DRS、VMotion相互关系)

  ②HA实现过程也就是虚拟机故障恢后在其它主机的过程中,虚拟机对外的服务会中断,但是时间相对较短罢了,这和VMotion上也有不同之处。

  ③所有的虚拟机硬盘文件等必须要放在共享存储上。

  ④需要使用到DNS或HOSTS服务,这个容易实现,以前部署lvs+heartbeat我就蛮喜欢用hosts的,推荐hosts服务。

  ⑤ESX主机在同一子网内,如果有多个网段,要确保ESX主机上有足够的网卡去连接。

  ⑥公司其它有虚拟要求的服务器,实在装不上VMware vSphere的,我安装完VMware GSX v3.2.1后作了系统相关负载测试,跟vSphere作了对比,没发现性能上有明显差异;而且前期在电信机房GSX v3.2.1用于生产环境也相当稳定。

  ⑦VMware vSphere至少需要二台服务器作infrastructure环境,其中一台用来作vmware VirtualCenter,毕竟vSphere的其中卖点之一就是它的高可控性。

  ⑧ESX Server系列对服务器的要求比较高,必须要有两个以上的网卡,其中一个作为控制用途(Control Console),就是管理员通过这个网卡使用浏览器和 VMware vSphere Client来进行管理,这个网卡设定的ip地址就是ESX Server的ip地址,另外一个网卡就作为 Virtual Network 设备使用。

  四、Linux下用crontab定时执行PHP程序的正确方法

  这种情况,涉及得比较多的是要定期执行一段邮件或短信任务。以前我用是的wget程序,感觉虽然实现了目的,但还是没有研究透彻。后来花了些时间测试发现在linux下,可以使用crontab+php的方法:

  1、使用crontab -e编辑定时任务

  内容为:

  xx:xx:xx 执行一个test.php文件

  2、php文件必须在文件头一行,加上解释器路径(就象perl做的那样)

  #!/usr/local/bin/phpPHP的执行需要Apache的支持,shell脚本的执行需要Linux的支持,而Linux支持定时运行某个程序的功能。(参考阅读:将PHP作为Shell脚本语言使【英文】)

  ※以上是第一种办法。另一种方法就是直接在/etc/crontab里直接带上php路径,如

  */5 * * * * root php test.php这样就设定为每隔五分钟执行一次test.php。有兴趣的朋友可写一个hello程序测试,将其所有输出到一个文件即可测试。

  五、点分十进制

  另外值得一说的是,大家玩Linux服务时应该会发现,Linux下的服务众多。签于Linux中此类安全限制众多,比如samba,nfs,rsync,tcp_wrapper,xinetd等,而每个又要各自支持的写法,这样对于考试学习及工作记忆很不方便。其实它们均支持192.168.0.0/255.255.255.0这样的点分十进制写法,这里特指出来,希望对大家学习及工作有所帮助(感谢众多RHCE们的努力)。

  (注:iptables的语法不支持这样的写法,只支持192.168.0.0/24此类写法。)

  六、学习网络知识

  另外,系统管理员虽然主要处理的是系统方面和应用方面的事情,但有时遇到了故障,第一时间应该处理的是网络方面的事情;我以前所在的公司,规模都比较大,Network Engineer和System Admin的职责范围都区别开了,虽然网络工程师可以不懂linux/unix系统,但SA最好是掌握网络方面的知识,这样对自己的职业生涯还是有帮助的。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。