LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 537|回复: 0

半导体公司IC设计环境说明

[复制链接]
发表于 2011-3-3 10:09:17 | 显示全部楼层 |阅读模式
本文档参考了王光辉的”高性能集成电路设计IT环境”

IC设计环境的案例在互联网上的资料较少,不过据网友统计,国内大部分的半导体研发公司,背后采用的IT环境基本类似. 进入公司已经有半年时间,零零散散的找了一些资料,再根据以前做过的一些半导体公司的项目以及在黑暗中摸索光明的精神,所以有了这篇文档.
目前我们公司整个环境架构已经具备通用性,以后添加任何服务器和建立分公司都可以复制此模式.在此把目前的环境向大家做个说明:供大家参考,也希望提出自己的建议.

先说服务器选型
在上一个十年以前,几乎所有的IC设计环境无一列外都是使用Sun的服务器来提供硬件平台,也有少部分使用IBM或者HP的,但是随着PC Server性能的日益强大,以及相比动轧10几甚至几十W一台的Sun服务器要便宜的多的PC Server,越来越多的应用平台开始转移到这些PC Server,上,其提供的性能并比不比相同配置的Sun服务器差,但是价格却是天壤之别,高性价比的PC Server让很多公司做出了正确的选择.最近几年的IC环境中,几乎很难看到Sun服务器的增加.我们公司使用的是Dell服务器,在我来这里之前,已经是一片Dell了,这是个非常明智的选择,目前三大服务器厂商,IBM,HP,Dell,IBM和HP俨然是行业中的老大,但其较高的价格与半导体行业在国内处于萌芽状态之间的矛盾,造成大部分创业型IC公司在服务器的选型上更适合去使用Dell,Dell的服务器和其他两大品牌相比价格上至少有10%的优势.,并且售后服务非常不错,虽然早期可能大家危耸于一些关于Dell服务器的稳定性问题,但是近几年来Dell在其产品的稳定性上做的相当不错,较之早期要好的多.这点在我近几年的项目实施中,多次得到了验证.

        关于IC环境的网络架构
        一般来说都是C/S架构,也就是说一台或几台服务器,客户端PC远程连接过去使用,用户身份认证使用NIS服务来进行搭建,并配合nfs和autofs来自动挂载用户家目录,实现可调配的IC工作环境,事实证明,这样的连接工作方式,方便的不只是研发工程师,对于IT管理来说,也是益处多多,起码你不用对每台服务器进行单独管理了.
        一般的网络结构如下:
1.        用户身份验证服务器,用来提供NIS服务,可以设置Master/Slave来进行主从同步.
2.        Tools服务器,用来提供EDA软件,用NFS Export出来
3.        Work Directory服务器,用来提供所有用户的家目录及工作目录,用NFS Export出来
最好的情况是购置单独的服务器来提供服务,这样在出现故障的时候损失可以降到最低,但是刚起步的公司可能没有太多的预算去购置服务器,那么把几个甚至是所有的服务放在一台服务器上也是可以的,至少工作是肯定没有问题的,这个需要结合各自的应用环境以及研发团队对性能的评估来决定.

        关于远程连接工具
        在IC设计环境中有很多远程连接工具可以使用,不同的IC设计公司在工具的选择上也不相同,听到最多的就是xmanager和vnc,xmanager其实是个挺不错的软件,使用简单,速度快,可惜是商业软件,需要破解,并且一旦因为网络等原因导致连接中断,那么远程服务器上的应用也随之关闭,这点有点不太人性化.所以会有一部分人使用vnc,vnc在内部网络的传输速度非常快,并且简单,同时可以keep session,保证了在断开连接后,会话依然在后台运行.其缺点是带宽消耗较大,同时需要为vnc的用户单独设置一套密码,无法直接读取NIS中的用户密码,对于IT管理来说,显得不是那么的方便.
        所以在这里我要介绍一款软件,NX,这是我目前使用过的最好的图形化的远程接入工具,该软件有以下几个特点:
1.        通过ssh进行X界面的传输,可以直接读取NIS中的用户密码,方便管理.
2.        可以Keep Session,保证断开连接后会话不中断,大大增加了工作效率,尤其是对于跑仿真的人员来说,跑了5个小时的Job,网线不小心被踹了,那是相当的胸闷.
3.        对图像进行压缩后进行传输,这点可能在局域网中体现不了太多的价值,但如果你的公司中有一些特殊人群需要使用VPN在外部进行连接,你会发现NX的连接速度比VNC要流畅的多.
4.        动态显示窗口调整,如果你在公司需要连接显示器进行工作,回到家用直接用笔记本的小屏幕进行工作,NX就非常适合你,VNC做不到这点,VNC需要在启动前定义窗口大小.
NX目前有几个版本,第一个是NX Nomachine,这个是商业软件,如果有预算建议买这个版本,服务非常不错,我在没有购买任何服务的情况下,向他们提了不少问题,都得到了回复,当然可能响应时间会比较慢.另外最近出了4.0,有很多新功能,NX Nomachine也有Free版本的,但是只支持2个用户.第二个是NeatNX,这个我用过,没搞明白,不做评论,不过是开源软件,各位有兴趣可以试试.第三个是FreeNX,也是开源软件,这个是我目前使用的版本,目前为止还算稳定,可以支持不限个数的客户端.
有些人可能会说基于ssh的X传输不太安全,因为像scp和sftp这些工具都是通过22端口去进行数据传输的,其实大可不必担心这样的问题,只要限制普通用户去访问这些工具的权限,自然就不会有问题了,大家可以用winscp之类的工具自己测试一下,传输的时候会报错.当然你可能会说还有很多第三方的工具去基于ssh进行传输,但前提是他得把这些东西放到服务器上.lftp?禁了,smbclinet?禁了,python?禁了,nfs?限制访问范围了,我目前还没想到是否还有其他系统自带的工具可以传输数据.如果有,请大家帮忙指正.

        关于数据安全保护
        同软件开发公司一样,半导体设计公司在这方面相当的重视,对此安全保护通常的做法是将办公区域物理隔绝,但是出于某些特殊原因,可能公司会希望大家在一个开放式的环境中进行工作,经过我的一些研究,发现在开放式的环境中也可以做到对数据的安全保护,对数据安全造成的隐患无非是一些网络通信工具,如ftp,ssh,nfs,移动存储这些,只要关闭这些功能并对其加以适当的权限,并且合理的设计网络拓扑结构,用户想通过这些服务提取数据的难度还是相当大的,但前提是root的密码需要够坚固,因为一旦root密码泄露,任何保护手段都是苍白的.还有一点我想说的是IC设计设计在对数据安全保护的问题上较之软件开发公司要灵活一些,原因在于这些数据你无法通过简单的文本编辑器打开获取信息,这是一大优势,对于我的环境,,我做了如下几点措施:
1.        在网络上逻辑分割区域,使不同的网络和不同的主机拥有不同的访问权限.
2.        关闭WorkStation的光驱,移除USB移动存储功能,对BIOS进行加密.
3.        限制NFS的共享范围(可以为研发服务器设立VLAN,将会更加安全,管理起来也方便)
4.        禁止普通用户使用scp,sftp,lftp,smbclient,python等工具
5.        禁止服务器连接外网,如果有必要可以只开几个固定的端口
当然有需要的话,还可以增加审计功能,不过这个开销肯定不小,不适合创业型公司.
我这里提到的安全措施可能只适用于我自己的环境,而且这里的安全只涉及IC环境,不涉及公司其他业务环境,否则范围太广就说不完了.....如果发现任何安全漏洞随时欢迎大家拍砖.

        关于数据备份
        对于数据备份来说,我个人的经验不是特别丰富,没有经历过数据库级别的备份方案,不过IC环境的数据量视项目的多寡而定,而且最重要的在于研发数据的数据库.初期可以考虑PC Server来做备份,投资很小,挂3-5块硬盘,做个RAID5,足矣.备份方案自己写脚本就可以实现了,一周或者一个月做一次全备,其他时间做增量备份,就tar命令就可以实现.如果你的环境数据量非常大,可能需要更加复杂的脚本或者使用商业软件来实现.等以后有了实际经验我会把这块内容给补上.

关于服务器监控
这部分我在不断完善,这部分的功能可能只有IT管理人员本身会受益,通过对服务器的监控,可以了解到服务器端的运行状况,比如负载,CPU,内存,网络等的使用情况,并在超载的情况下发出警报以邮件或者短信的方式通知管理员,目前有很多的商业软件可以实现这一功能,但是同样有很多的开源软件去实现,比如Nagios,Cacti,Zabbix,个人更倾向于使用开源软件去实现,不仅可以为公司节约成本,同时对自己来说也是一种学习和锻炼.

        关于IC设计环境的管理
随着公司的发展,服务器可能会越来越多,如果要在每台服务器上单独进行配置,工作量无疑非常巨大,这里我推荐一个工具,pdsh,这是用来批量处理命令的工具,其工作原理就是为所有的服务器设置ssh密钥,用来进行无密码的ssh连接.只需要指定一台主机安装pdsh即可.对于一个合格的运维人员来说,应该是不需要花费太多时间在服务器的日常管理上的,写一堆脚本,交给计算机自己去执行可以了,套用一句话,一个好的IC环境,IT支持人员应该是没有事情可以做的,你的环境稳定了,别人才能够更好的工作.当然通常情况下你可能还得处理公司的其他IT项目.

说了一大堆,其实也都是些抛砖引玉的概念性问题,具体如何去做,需要根据各自的环境自己判断,有钱有有钱的做法,没钱有没钱的做法,分析好利弊关系,作出适合各自环境的架构就好.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表