使用AFS、Active Directory和SSSD搭建用于集成电路设计的分布式存储系统 【引言】

使用AFS、Active Directory和SSSD搭建用于集成电路设计的分布式存储系统

  • 引言

引言

很多中小型集成电路设计企业都面临共同的IT挑战:如何建立一个安全、可靠、可扩展的Linux设计平台?如何在多台Linux设计服务器上管理用户账号?如果你是一个创业者,一个IC设计团队的领导,一位新拿到教职的教授,或者是科研院所的研究人员,被上面的问题困扰,这个系列的文章会对你有所帮助。

很多集成电路初创企业的技术团队只有不到10杆枪、预算很有限,并没有足够的财力招聘一位有经验的Linux系统管理员。于是在”卷起袖子开干”的时候,以IC设计工程师为主的团队往往难以做出具有远见的安排。与此情况类似的还有高校里自组团队的教授,科研院所里拿到课题经费的研究员。

一个典型的故事是这样开始的:

  • 购买一台机架式Linux服务器
  • 装上CentOS 7, 划分出/home分区
  • 安装EDA软件和License服务
  • 开始第一个项目的设计

当团队和项目数量开始增加时,以上安排很快捉襟见肘。

  • Tape out前的使用高峰期,单个服务器的内存和CPU全部占满也无法满足需要。
  • 不断更新和添加的EDA软件、不断膨胀的仿真和验证数据、不断增加的新用户home迅速占满已有的磁盘分区。
  • 持续添加的硬盘终于用完了机架上所有硬盘插槽。

购买和安装第二台服务器很快进入议事日程。

新的服务器可以提供更多算力,更大内存以及更多磁盘空间。在领导和财务部门看来,似乎服务器买回来问题就会迎刃而解。

可是忽然之间,代理系统管理员角色的那位同事发现有几个棘手的”IT问题”没法解决:

  • 第二台设计服务器上的账户需要重新创建一遍。
  • 第一台服务器上的用户$HOME目录和项目目录,似乎无法被第二台服务器访问。
  • 第一台设计服务器上的PDK和EDA软件无法被第二台服务器启用。重复安装EDA软件和PDK,不仅多消耗一倍磁盘空间,还要付出双倍的管理精力。
  • 用户需要重新培训,以了解第二台服务器上软件资源的路径。

IC设计团队的每个成员很快也发现有以下不便:

  • 记住每一台设计服务器上的密码
  • 维护每一台服务器上的环境配置文件(.cshrc, .bashrc)和环境变量
  • 记住每个项目在哪台服务器上,以及每台服务器上PDK的位置
  • 两个$HOME下的文件手动同步十分麻烦……

作为集成电路设计专家,规模化可扩展性(scalability)的概念深入每个技术成员的骨髓。以上IT问题显然是不可扩展的。有了第二台服务器就会有第三台、就会有第四台,第五台,第三十台……真有了30台设计服务器的时候怎么办?

于是团队决定咨询一下专业IT人士。一番咨询以后才发现走了弯路,如果一开始就使用一个网络共享的文件系统,以上问题就不会像现在这样棘手。

然而此时第一个项目已经做完,团队里每个成员的环境配置已经设定,第二个项目可能已经开工。数据迁移的造成的资金成本与时间成本已经不可忽视。

走到这一步,即使再缺少IT运维经验的IC工程师也能看出来,“长痛不如短痛”,现在不迁移,后面迁移的成本会更高。

让决策者尤其“不爽”的是,当初第一台服务器买得越高档,问题暴露得越晚,现在需要迁移上线的数据量越大,承受的阵痛也越大。

当公司继续成长,服务器和用户数量进一步增加以后,安全与可靠性问题进一步暴露出来。

  • 普通用户甚至是系统管理员,为了便于记忆而在多台服务器共享同样的密码,这样做带来很多安全隐患。
  • 如果一台设计服务器root被攻破,以简单NFS协议共享的所有IC设计数据都不再安全。
  • 设计服务器越多,分布地域越广,安全暴露面越大。
  • 硬盘的使用寿命有限。硬盘数量越多,坏掉一块的可能越大。然而用户Virtuoso库文件之间早已建立了千丝万缕的依赖关系,你引用我,我引用他,他引用她……更换硬盘、数据搬家十分困难。
  • 虚拟化能解决一部分问题,但是IC设计对计算性能的要求决定了大部分设计服务器不能采用虚拟方案搭建。
  • 租用数据中心的服务器可以减少资本支出和硬件维护成本,但数据在本地和云端的分配与同步又带来新的挑战。

我们讲述的这个故事比较极端。但很多集成电路设计团队或多或少都会面临上述挑战中的一部分。

IT基础设施决策有这样的特点:初期所做的某些草率决定会给后期的生产效率带来很大的影响。因为改弦易辙的成本越到后期越不可承受,所以一开始的某些决定很重要。

以本文为始的系列文章里,笔者将介绍一个面向集成电路设计企业、高校和科研院所的分布式存储与用户管理解决方案。这个方案基于开源的分布式文件系统Andrew File System (AFS)和许多组织都会使用的Windows Server操作系统。开局成本很低,可扩展性极强,维护管理相对简单,支持多地域多办公室,且支持横跨本地集群与云端集群,是一个IC设计企业和组织可以直接参考借用的方案。

AFS系统的实用性、安全性与可靠性经过大型半导体企业和顶级科研院所几十年的检验,已经十分稳健成熟。然而对中国大陆的许多系统管理员而言,AFS的入门学习曲线相对陡峭,并且缺少中文文档和介绍,因此该系统在中国大陆的普及程度较低。笔者希望此文能够抛砖引玉,降低AFS在中文世界的学习壁垒,推动AFS在中国大陆的普及,为企业IT规划建设打开一扇新的门。

你可能感兴趣的:(AFS)