我现在的公司是家专门做半导体芯片设计的,算是一家不大不小的中型企业,这也就注定,里面的硬件环境无法和大型公司媲美,因为预算等各方面的原因,所以,里面所有的系统都是用Linux,服务器全部使用的是DELL系列. 不过据网友统计,国内大部分的半导体研发公司,背后采用的IT环境基本类似,可能有些公司会加入专业的IPSAN存储或SUN服务器等,用来提高服务器研发速度。

为了提高VLSI部门的工作效率,降低服务器损坏带来的数据丢失风险,我在工作期间,陆续更新了服务器网络结构,使之更加符合一个IC设计公司,需要的后台服务器架构系统。因为是在线写,没有太多的系统构想,所以技术面都是一笔带过,不会做深入的配置举例。

先说网络架构,

服务器账户管理,采用一台主NIS服务器+2台slave NIS服务器措施,来为所有服务器提供统一的账户管理,自动NFS挂载管理,hosts文件管理,这种方式也是目前几乎所有半导体公司主流的账户管理方式,事实胜于雄辩,方便的不只是工程师,更是我们系统管理员。

服务器存储管理,还是上面所说,采用NIS服务器统一挂载管理,将文件存储服务器通过heartbeat+drbd方式,建设成高可用性的集群系统,同时,增加NFS的进程数为128个以提高NFS性能。至今运行下来,很是稳定。

关于文件存储服务器,各家按照预算资金不同,采用的服务器方式也不同,我们这采用的是X86服务器+RAID10大容量硬盘方式,性能足够目前我们公司开发人员使用。价钱还便宜。正应了那句话,不选最好的,只选最适合的。

我将服务器间的交换机全部升级为千兆,网线也全部更换为6类,这样会提高服务器间的传输速率。

关于系统架构

所有的操作系统都是RHEL 4.7~5.3的版本,部分也采用了Centos 5.3. 

我选择几台性能较弱的服务器,作为tools服务器,HOME目录服务器,Project存储服务器. 然后通过NFS发布出去,通过NIS统一管理,让系统自动挂载这些目录。为了保证数据不会丢失,我都是通过自写的rsync脚本,每隔2个小时,同步一次所有的数据到备份服务器中。为了保证备份过程中不影响工作网络的使用,我专门架设了一个独立的网络,专门用来备份传输用。现在我每天做的,基本就是看看备份服务器上的日志,看看结果如何。

也就是说,我在数据安全上,做了三层保护,一层是RAID,一层是DRBD冗余,一层是备份服务器。

关于安全保护

不用说,IC设计的数据安全保护是至关重要的,我们需要信任员工,但是同时也要做好系统安全保护。因为整个开发环境是脱离互联网的,所以在此不谈如何防范黑客攻击了。每个服务器在安装的时候,我都会取消所有服务器安装组件及其余与开发不相关的软件。然后取消sftp,tftp功能,设置防火墙,关闭从服务器主动访问客户机的通道,设置ftp,gftp命令的权限。同时,每个月都会提交FTP日志给部门manager审核。

以上这些设置都是最基本的,未来,我们还会添加更加严格的审计制度,以防止出现数据泄露的事故发生。

关于服务器监控

我的最大的得力助手就是nagios了,现在我基本上不登录服务器去查看服务器状况了,我已经设置nagios服务器自动发送短信提醒,监控了所有服务器的硬盘,nfs,nis,ftp,http等一切服务。在firefox上安装了nagios报警组件,这样在上班时间我能第一时间知道目前服务器与网络状况。很是方便。

关于备份服务器

我没有采用磁带库的方式,而是台式机+大容量硬盘的方式,然后通过在备份服务器上设置自动备份脚本,让其定时同步备份,发送结果邮件到我的手机,这是个很好的方式,至于更高级别的备份策略,比如异地备份防止火灾,地震发生导致灾难数据丢失情况,我目前并没有做。

关于高性能运算

我安装的是SGE,一台主管理,其余为执行主机。

关于服务器的采购

我个人推荐DELL,联想的声音太大,DELL购买方便,质量稳定。但也出现过内存故障的问题,IC设计要求最高的是CPU性能与内存容量,所以,我们有几台服务器是96G的内存,曾经有一台出现过打开超线程容易死机的故障,后来将超线程功能关闭后就正常了,很是奇怪。

关于目前环境问题

性能不够卓越,虽然目前运行工作完全支持,但是存在性能不高的缺陷。