排除使用 mental ray for Maya 进行网络渲染的故障

 
 
 

以下说明针对的是 mental ray for Maya 2013 和 mental ray Standalone 3.10.1。有关早期版本的信息,请参见相应版本的 Maya 或 mental ray 文档。

为什么无法安装 rayserver 服务或无法编辑服务文件?

请确保您拥有这台计算机的管理员(或根)权限。

所有设置都是正确的,为什么仍无法进行网络渲染。

请检查以下几种可能性。

端口号

一种可能是正在使用的网络端口号已被另一个服务使用。请确保服务文件中没有其他条目正在使用端口 31010 (mental ray Standalone) 或端口 7413 (mental ray for Maya Satellite)。如果该端口号已被使用,需要拾取一个新的可用端口号,并对即将一起工作的所有主计算机和从属计算机使用那个相同的端口号。

可能需要更改端口号。

若要在 Linux 和 Windows 中更改端口号,请编辑位于以下位置的端口服务文件:

  • (Linux) /etc/services
  • (Windows XP) C:\Windows\system32\drivers\etc\services

若要在 Mac OS X 中更改端口号:

  • (Mac OS X) 请打开 NetInfo 管理器 (/Applications/Utilities/NetInfo Manager),导航至 /services,然后更改 mental ray 或 mental ray for Maya Satellite 的端口号。

在服务文件中,请确保存在以下行:

  • mental ray Standalone 3.10.1:adskmr3101 31010
    注意

    实际的服务可能具有不同的名称。请查看服务文件。

  • mental ray for Maya Satellite 2013:mi-raysat2013 7413

其中,7413 或 31010 是端口号。请确保该端口号在主计算机及所有从属计算机上均相同。

重新启动服务 (Windows)

若要在 Windows 中重新启动服务器,请转到 mental ray 存储箱目录并键入以下内容:

  • mental ray for Maya Satellite
    raysat2013server.exe /stop raysat2013server.exe /start
    
  • mental ray Standalone
    rayserver.exe /stop rayserver.exe /start
    

xinetd 安装

Linux 平台上需要安装 xinetd 才能使用 mental ray Standalone 和 mental ray Satellite 进行网络渲染。

作为超级用户,请执行命令 yum install xinetd,然后在安装 mental ray Standalone 或 mental ray Satellite 之前重新启动。

inetd 配置

检查 Linux 中的 xinetd 配置

  1. Linux 壳类型中:
    ls /etc/xinetd.d 
    

    应该有一个名称为 mi-ray (mental ray Standalone) 或 mi-raysat (mental ray for Maya Satellite) 的文件。

  2. 如果不存在这样的文件,其将成为根,使用文本编辑器创建 mi-ray 或 mi-raysat 文件,并输入以下文本:

    mental ray:

    # description: mental ray for maya network rendering service mi-ray
    { flags = REUSE socket_type = stream user = nobody wait = no server = /usr/local/mi35/bin/rayd log_on_failure += USERID }
    

    mental ray for Maya Satellite:

    # description: mental ray for maya network rendering service mi-raysat
    { flags = REUSE socket_type = stream user = nobody wait = no server = /usr/local/mi35/bin/raysatd log_on_failure += USERID }
    
  3. 保存文件。
  4. 为了使 xinetd 能够查找新配置的服务,需要重新启动或给其发送一个信号。
    • 由于重新启动会影响许多网络服务,因而重新启用 xinetd 可能不太方便。若要重新启动 xinetd,请键入:
      /etc/init.d/xinetd restart
      
    • 若要在不重新启动的情况下重新配置 xinetd,请通过执行以下操作找到 xinetd 的进程 ID:
      ps -e | grep -v grep | grep xinetd
      

    应该能够看到与此类似的行:

    980 ? 00:00:02 xinetd
    

    第一个数字是 xinetd 的进程 ID。

    如果系统安装的是 RedHat 7.2 版本,那么一接收到 USR2 信号,xinetd 就重新读取其配置。对于 RedHat 7.3 版本,接收到 HUP 信号后重新读取其配置。因此,对于 xinetd 进程 ID 为 980 的 RedHat 7.3 系统,可以执行以下操作:

    kill -HUP 980
    

    xinetd 应已经找到新服务,您应该能够为其发送来自网络上另一个节点的渲染请求。

如何在一台计算机上运行多个版本的 mental ray?

如果要在一台计算机上运行不同版本的 mental ray Standalone,确保每个版本在服务文件中都具有其自己的 mi-ray* 条目。

例如,如果在一台计算机运行 mental ray 3.3 和 mental ray 3.4,可以更改 mental ray 3.3(或 3.4)的 mi-ray 条目。

在服务文件中创建自己的 mental ray 3.3 mi-ray 变量。

服务文件可能如下所示

mi-ray 7003/tcp # used for mental ray 3.4
mi-raysat 7103/tcp # used for mental ray satellite 3.4
mi-ray_33 7155/tcp # used for mental ray 3.3 

服务器也需要更新。

重命名服务器文件 (Windows)

  1. 转到 mental ray 3.3 存储箱目录。
  2. 停止服务 (rayserver.exe /sto )。
  3. rayserver.exe 重命名为 ray_33se ver.exe
  4. 重新启动服务器 (ray_33server.exe /start)

重命名服务器文件 (Linux)

  1. 停止 xinet。
  2. rayd 重命名为 ray_33d
  3. 在 xinetd.d 目录中创建名称为 mi-ray33 的新文件。该文件必须包含设置信息。例如:
    { flags = REUSE socket_type = stream user = nobody wait = no server = /usr/local/mi33/bin/ray_33d log_on_failure += USERID }
    
  4. 重新启动该服务。

兼容性问题

由于早期 Maya 版本的 mental ray Satellite 和当前版本的 mental ray Satellite 之间有许多更改,因此主计算机(安装当前版本的 Maya)与使用早期 Maya 版本的从属计算机之间不兼容。

解决方法

使用安装相同 Maya 版本(例如,Maya 2013 或 Maya 2012)的主计算机和从属计算机。