系统和存储布局 1. CPU架构及OS考虑
2. 认证(NIS AD LDAP及其他)
3.DNS/NTP 4.
Email 5. 存储:zfs/netapp 6.
NFS v3/v4 和AFS GPFS之间的优缺点
CPU架构及OS看过我以前文章的朋友,一定会记得,2004年,我推荐Solaris8。2008年推荐的OS是RHEL3和RHEL4,到了2013年我写的文章,已经推荐RHEL5了。今天(2015年底)我推荐的是RHEL6.7。推荐OS必须跟当时所处的情况有关,目前三大软件商cadence synopsys mentor都已经支持RHEL6,所以采用RHEL6毫无问题。我们目前全部都采用的是RHEL6.7的OS。
CPU架构方面,依然推荐Intel的E5-2600v3和v4双路服务器,特殊情况可以考虑E7的4路服务器。作为一家主要引入IBM Power8处理器设计的公司来说,采用intel的CPU是不是有些特别的意味?一点也不奇怪,因为EDA vendor的主要软件都是支持x86的处理器,只有少量软件会支持AIX+Power。而从性价比来说,显然x86更有优势。
OS安装需要采用kickstart实现一致性安装,即所有服务器跑的系统和软件包都一样。实现本地的OS image和epel库,然后通过pssh等分布式管理工具实现软件安装的一致性要求。
认证用户认证,必须实现统一账号,在任何系统下,最好是同一个账号和密码。
目前能够实现这个条件,需要windows的Active Directory和NIS或者LDAP统一。
我这里采用了windows 2008R2 + NIS来实现,使用NIS这么古老的认证技术主要是考虑了其简单方便性,没有过多考虑其他如安全等特性。
Windows 2008R2,集成可SFU的功能,可以为unix用户设置一些特性,比如uid gid shell home,另外,还提供NIS服务器功能,可以实现windows账号和unix账号的统一。
采用NIS的原因是我们会在后面实现autofs功能,这样PXE安装的Linux服务器就不需要挂载很多文件系统,而直接采用autofs的方式挂载。
在未来,Unix下认证应该会跟逐步LDAP集成。
DNS/NTP实现内部DNS服务功能可以提供内部服务器之间的便捷访问,从而摆脱记忆
ip地址的麻烦。某些服务器在采用了内部dns后,可以更容易使用。目前提供dns服务器的主要有两个程序:bind和dnsmasq。前者是传统的dns服务器,功能强大。后者是简单的dns+dhcp服务,一般用于小型环境。优点就是便捷,使用方便。具体服务器搭建,这里不再详细介绍,提醒一点是dnsmasq默认不提供跨vlan的dns服务,需要绑定interface。
内部ntp服务在这种环境下几乎是必须的。Ntp可实现内部时间的统一,避免认证失败或者文件时间冲突等问题。Ntp服务器的实现非常简单,不做介绍,注意要周期性跟ntp服务器同步时间。
Email系统Email依然是当前企业通信的最主要方式,所以email系统的选择也是一个重
要的工作。由于我们公司采用了内外网隔离的方式,所以我们的平时跟外部联系的邮件系统跟内部邮件系统是完全独立的两套。
外部邮件系统主要考虑的是防病毒,防垃圾邮件,安全,可维护性及尽量少的中断时间。基于以上考虑,我们最终选择了托管出去的方式。以前在多家公司,都用了自己搭建的邮件系统,包括exchange或者其他专业的邮件软件,开放25端口来跟外部通信。其中最麻烦的事情不是安全,而是垃圾邮件太多。如果公司自己购买一台垃圾邮件过滤系统,费用很高且可能一定程度误报误删,这样对公司来说是无法接受的。由于新建公司没有多少邮件迁移的任务,我们最终采用了托管出去的方式,按用户付费,这样完全避免了垃圾邮件的困扰。
内部邮件系统,我们采用了postfix来自己搭建一套。考虑到有需求,我们采取措施,让托管出去的邮件可以直接转发到内部邮件服务器上。这里涉及到了一个中转服务器。
存储存储系统的选择非常重要,几乎决定了后期整个系统性能的关键因素。在IC 设计行业中,有几个重要因素需要考虑:实时压缩、高速SSD做缓存、重复数据删除、snapshot、NFS v4 ACL、Backup。
对于以上特点,我这里简要介绍需要的原因:
实时压缩,可以很大程度减少存储容量的使用。在IC设计中,经常可以做到2倍的压缩率,即容量提升了一倍。同时,还提升了IO能力,因为压缩后的数据更小,有利于读写。现代的CPU都很快,压缩不会带来太大的负担。所以,可以放心使用。
高速SSD缓存,全闪存太贵,而采用SSD做缓存的方案,可以很大程度上将热点数据放在高速SSD上,遇到调用的时候不再去磁盘中寻找,这样可以很大程度上提供IOPS,是一种利用较低成本提供了较大效益的方案。
重复数据删除,重复数据删除功能可以在很大程度上减少磁盘空间的使用量,特别是针对某些应用,比如虚拟化及多版本开发环境。
Snapshot,这里的snapshot一定要跟SAN盘阵的区分开来,也跟LVM的不一样。基于netapp和zfs的snapshot功能,允许用户自我管理不小心删除的数据,随时自己去恢复,减少管理员的麻烦。提高了用户的满意度。
NFSv4 ACL,由于其提供了很多高级特性,可以实现项目的管理方式,让项目经理去管理目录的权限,将IT从权限管理的繁琐中解脱,同时,给项目经理足够大的自由度,让他们更快捷的实现自己的要求。
备份,是一个重要的话题,数据备份可能永远都是在做后备,但是一旦需要恢复,备份就显得格外重要。目前主要考虑采用D2D的备份+磁带归档的方式实现长期的数据备份需求。
由于我们的环境主要是NAS存储的NFS共享,满足以上要求的主要有netapp的存储及基于zfs的存储系统,如oracle ZS4
nexentastor等。
目前在国内做支持最好的依然是netapp存储,但是netapp的销售策略要小心,存在销售控制价格的行为特别严重,甚至可以做到价格差异30%-50%的情况。因为是区域控价,你如果选定了必须用它,几乎无任何的议价能力,被迫接受高价。在大厂商面前,用户很弱势。唯一的反击就是绝对不要选择某一家厂商的产品作为采购要求。
NFS
v3/v4 及AFS GPFS文件系统的优缺点NFS v3是过去和当前依然在大量使用的协议,几乎所有的系统都能支持,使
用和配置也很简单。但是,nfsv3 缺乏一些特性,如安全性不足,缺乏更严格的acl支持,缺乏并行支持等。所以,后来开发了nfs v4,提供了更加先进的一些功能。我们主要会使用到nfs v4的功能就是nfs v4 acl支持。目前很多测试环境下,nfs v3的性能依然比nfs v4更快。所以,除了需要设置acl的时候,否则其他地方应该挂载nfs v3为主。
AFS文件系统是另外一种主要的网络文件系统,其提供了很多优秀的功能,比如本地cache,acl,quota,分布式等。但是,国内很少用到,商业化支持也不足,所以不建议使用。
GPFS是IBM开发的商业产品,可以实现分布式,如果不考虑费用问题,可以考虑在某些关键的应用中采用。
|