如何搭建小型渲染农场
关键字:渲染农场、渲染集、渲染服务、集管理软件
渲染农场,是指一种专门用作渲染的计算机集技术,它采用分布式计算的方式,将渲染任务均衡的分配到集的各个计算节点,最终将渲染结果回收。和用作高性能计算的超级计算机比起来,渲染农场的每个节点都是独立的,一般情况下它只和文件服务器和任务调度服务器等通信,和其他计算节点不做通信。而超级计算机则要求每个节点之间的网络带宽足够大,延迟足够小,因为计算时各个计算节点之间将会频繁的通信。
渲染农场的技术,包括渲染农场架构的选择,硬件的选型,机房的装修,以及渲染农场建立起来后的运维管理技术等等,是一个系统复杂的过程。而这里边最核心的则属于渲染集管理软件,它管理着整个渲染农场的核心硬件设备,整个系统的效率很大程度依赖于此。渲染农场管理软件不仅仅管理硬件,对运维中的各种问题也需提供技术支持,例如计费系统等。在当前,只有炫我科技拥有此类“运营版”的渲染集管理软件。
如下就以炫我集管理软件为例,从硬件和软件环境两个方面介绍一下如何搭建运维一个小型的渲染农场。
1.渲染农场的硬件环境
适合于小型集的渲染农场架构如下图1-1所示,它拥有一台管理服务器;一台文件服务器;若干台渲染节点;一台或者若干台任务提交(图形)工作站(可选)。对于小规模的集而言,网络可以采用一个端口较多的全线速千兆以太网交换机。将管理服务器、文件服务器和渲染节点都接入同一个交换机,例如使用一个48口的千兆交换机,可以支持大约40个计算节点的小型渲染农场。
图1-1小型渲染农场架构图
如果预算较为紧张,不够买服务器,可以去DIY渲染农场的硬件。但是如果没有采取严格的质量流程,DIY硬件的稳定性是个问题。对于重要的服务器,例如管理服务器和文件服务器,还是建议采用专门厂商的方案,他们的方案往往都是经过了严格测试,因此具有更高的适用性。xp提交更改
1.1选择设备的原则
1.1.1渲染节点
一个渲染农场可以有几个渲染节点至几百个,甚至上千个渲染节点。每个渲染节点一般为高计算密度的服务器。选择时主要考虑计算性能、价格,功耗和占用空间大小。例如制作《阿凡达》的维塔工作室采用的是HP的高密度刀片服务器,每个机柜可以有4个机箱,每个机箱有16个刀片,而每个高密度刀片是两个节点,每个节点都是双路的服务器,因此每个机柜就可以拥有多大4*16*2*2=256颗处理器。相当于256台PC,但是占用空间相比非常小。如果渲染每帧的时间不是很长,内存要求也不是很大,而且对空间没什么特别要求,
则可以采用DIY的PC来做渲染节点,通常情况下,一台PC能够安装8G内存,一颗处理器。由于渲染任务都是CPU密集型任务,一般要选择最高端的主流处理器,而处理器的升级换代非常快,因此当前最适合于渲染的PC配置也在不断的变化。为了淘出性价比最好的渲染节点,除了自己钻研很多性能数据外,也可以咨询炫我科技。
1.1.2文件服务器
渲染是计算密集型,同时也是网络密集型的应用。每个渲染节点需要从文件服务器上读取场景、素材等文件,而后在本地渲染,渲染的结果也需要保存在文件服务器上。如果节点规模很大,那对文件服务器的压力非常大。根据节点的规模,需要选择合适的文件服务器架构,确保整个渲染农场可以高效率的工作。文件服务器的选择主要考虑的因素是稳定性、性能和可扩展性。一般情况下文件服务器要采用RAID技术,来提高容错性和性能,同时采用多口的服务器网卡,确保可以给渲染节点提供稳定可靠的带宽。
1.1.3管理节点
此节点安装渲染农场管理软件的服务器,例如炫我集管理软件的服务器。主要任务是做
任务分发等,是渲染农场的核心。渲染农场能否发挥效率,除了硬件配置需要平衡外,也需要渲染农场管理软件的高效的管理。整个渲染农场的各种服务,例如计费等,全都由渲染农场管理软件负责。此节点对性能要求不高,但是要求非常稳定。
1.1.4图形工作站
要求I/O速度比较快,以便拷贝用户数据,并且将数据传递到文件服务器,提交任务和监控任务。在企业内部,任何一台机器都可以用作此类用途。因此不一定需要再次采购。
在上述的4种设备中,管理节点和文件服务器,无论哪一个出现硬件故障,整个集都不能正常工作,因此要选择品牌服务器或者经过验证的DIY方案。
1.2其他设备的选择
除了考虑上述的主要设备外,还需要考虑是否要选用机柜或者开放式机架,以及如何给计算设备配电。
一般情况下,给计算设备的供电和给制冷、照明的供电是分开的。对于文件服务器和管理
节点,可以考虑有单独的UPS。同时,需要考虑整个计算设备的电压稳定情况,如果不给整个集配备UPS电源,而且市电供电电压不稳定,则需要考虑配备稳压器,以确保渲染集可以稳定的工作。
另外,还需要考虑制冷等。计算设备需要有一个正常的工作温度和湿度。否则计算机设备会出现各种工作异常情况。一般情况下需要配置一台精密空调,以确保机房在合适的工作温度和湿度范围内。
2.渲染农场软件环境
当渲染农场所需要的硬件都基本就绪后,就可以考虑安装软件了。首先得规划一下是否采用DNS和DHCP等。如果决定使用DNS和DHCP,则可以在管理服务器上安装配置DNS或者DHCP服务器。如果已有DNS或者DHCP服务器,则不需要安装,使用原来的即可。一般的有线或者无线路由器也具有DHCP服务器的功能。
一般情况下,对于渲染节点除了有机器名外,也配置静态的IP地址,以便在DNS服务器失效的情况下,可以远程访问渲染节点。如果渲染农场的渲染节点配置完全一样时,可以采
取硬盘克隆的方式快速安装每个节点。或者采用其他操作系统自动部署方案。最简单的办法就是一台一台的人工安装。
对于每一台渲染节点,都需要安装64位的操作系统,以便能够利用大内存。也同时需要安装64位版本的渲染软件,例如Maya 2009 64位,或者Mental Ray Standalone for Maya等等。随后,需要在每台节点上安装炫我集管理软件的渲染节点程序。对于Windows渲染节点而言,炫我安装程序会自动启动远程桌面功能。由于授权的限制,用户在远程桌面的环境下,是不能直接使用Maya的,而炫我节点程序则可以正常使用Maya。如果用户有登录到渲染节点手工使用Maya的需求,则需要考虑安装其他远程桌面软件以避开此类授权问题,例如安装VNC和DameWare等软件。对于对外服务的渲染农场而言,渲染节点最好只有一个C盘,因为动画/后期工作室等经常使用D盘,因此拿到渲染农场渲染时,如果渲染节点本身有D盘的话,则操作相对很麻烦和耗时。渲染农场的最重要的是效率,保证机器24小时不间断的渲染才是重中之重。
在安装渲染节点的时候,也可以安装管理服务器。这两者没有前后依赖关系。可以先安装炫我服务器后,然后逐台安装炫我节点,这样在每台节点安装后,都可以在管理控制台的节点管理界面,看到新安装的渲染节点。
在安装完成后,需要准备好文件服务器。如果不是专用的文件服务器,而是一台服务器或者PC作为服务器。那么需要在文件服务器上安装服务器操作系统例如Windows Server 2003/2008或者Linux。一般不使用Windows XP等桌面客户端软件作为服务器,主要原因为桌面操作系统对连接的个数有限制,例如Windows XP不能超过10个,如果渲染集的渲染节点个数很少,也可以采用Windows XP操作系统。文件服务器可以为32位操作系统。如果使用了硬件RAID卡等,还需要考虑RAID卡的驱动程序支持的操作系统类型。炫我集管理软件完善的支持多种存储架构,例如单文件服务器多IP地址(避免带宽聚合导致的成本增加,例如更昂贵的交换机等),多文件服务器等等。另外,对于用户DIY的文件服务器,炫我提供了一种增加文件服务器可靠性的软件,它能非常有效的增加渲染农场的可用性,避免文件服务器崩溃所带来的影响。