Announcement

Collapse
No announcement yet.

Problem with DR - V-Ray Standalone on Linux CentOS - no access to NAS texture files

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem with DR - V-Ray Standalone on Linux CentOS - no access to NAS texture files

    Hi all,

    Hopefully someone can assist with this as I've got to a bit of a bit of a dead-end.

    I have set-up and running:
    • V-Ray licence server on virtual XP box
    • V-Ray plug-in on Windows 7 workstation
    • V-Ray Standalone on Windows 7 workstation and laptop slaves (for initial testing)
    • V-Ray Standalone on Linux (CentOS) slave (the first of the blades for the new render farm)


    On testing Distributed Rendering from the Win 7 workstation I initially had issues with the Windows slaves - they weren't able to pull the texture files from the NAS (even though I could browse to them without a problem on each machine) and I was getting black buckets. Eventually worked out this was as the V-Ray service on the Windows slaves was running as a local account on each machine. Once I set the service to run under my Windows Active Directory account which has access to the share on the NAS, all good.

    I've now got the same black buckets problem with the Linux slave; reporting on rendering that the texture on the NAS (Linux based Netgear ReadyNAS) doesn't exist.

    I'm no Linux expert (haven't used it for 10 years) but could the issue with the Linux slave be similar to the one I was experiencing with Windows – that the service is running as root on the Linux box and root doesn't have access to the share on the NAS?

    I've mapped the share using Samba, this method http://wiki.centos.org/TipsAndTricks/WindowsShares

    I've checked it's mapped and I can access the share, folders and files using the Linux box.

    If the problem is the Linux V-Ray service needs to run as a user with access to the NAS - does anyone know the best way of changing the user the service runs under?

    A change in the /etc/init.d/vraymayaslave2014 file?

    Or could the problem be something else entirely?

    Many thanks for any help!

  • #2
    You can check the permissions by using "ls -l" or similar methods. V-Ray needs read access only.
    The user V-Ray is running under can be found with the command "ps aux | grep vray.bin".
    If the user for vray and the mount differ, probably you can use the uid and gid mount options for the share (inspect the manual about mount.cifs if you need more details).

    But as a first step you'll probably want to inspect the log from the slaves to see what is the real problem.
    V-Ray developer

    Comment


    • #3
      Thanks for the reply.

      The below was the response from Chaos support:

      Basically V-Ray slave is running with the user that installed the plugin. The easiest way to run vraymayaslave under different user is to install V-Ray with this user using "sudo" option. Please note that this user should be included in "sudoers" file of the system. Also this user should have access granted to the NAS share. As far as I understand there is such user existing on your Linux machines.
      Another option is to provide the access of the root user to the NAS share.

      Please note that using mixed OS environment for rendering requires some solution for mapping Windows and Linux paths in order to have them readable in both operating systems. For example: the UNC path that under Windows will look like //SERVER/Share/Texture, under Linux will be like /mnt/Share/Texture - you need to use some method or software to tell Linux that "//SERVER" in the path above should be read as "/mnt" and vice versa. Most of render manager software have path mapping feature.

      V-Ray has its own solution of this problem - it is VRAY_ASSETS_PATH environment variable. It specifies a list of paths where V-Ray will look for textures, GI cache files etc. Initially, V-Ray will attempt to look for an asset in the path specified in the scene. If this fails, V-Ray will go through the paths in the VRAY_ASSETS_PATH variable and try to find a file with the same name. On Windows, paths are separated with semicolon ';' and on Linux and Mac OS X - either a colon ':' or semicolon ';'.

      On Linux first export VRAY_ASSETS_PATH and then in the same terminal run V-Ray render slave with this command:

      [MAYA_ROOT]/vray/bin/vrayslave

      In case you want to set VRAY_ASSETS_PATH permanently you should use .bash_profile or other shell config file.

      On Windows machines you need to add VRAY_ASSETS_PATH just once in Advanced System Settings (for Windows7 from "Control Panel" > "System" > "Advanced System Settings" > "Advanced" tab > "Environment Variables" > "New").


      I think this is the key to solving the problem:

      you need to use some method or software to tell Linux that "//SERVER" in the path above should be read as "/mnt"

      Does anyone know how that is best done?

      Comment


      • #4
        You can use environment variables in the file names, f.e. "${TEXPATH}/some/path/to/texture" where the TEXPATH environment variable is set to "\\server" on Windows and "/mnt" on Mac OS X.

        Best regards,
        Vlado
        I only act like I know everything, Rogers.

        Comment


        • #5
          I've got it working, to a point.

          If I:

          1. Stop the service
          2. Set VRAY_ASSETS_PATH (export VRAY_ASSETS_PATH=”/mnt/textures”)
          3. Start the service

          The slave finds the textures and the distributed render works.

          What I can't seem to get to work is setting VRAY_ASSETS_PATH on boot.

          I've tried adding export VRAY_ASSETS_PATH=”/mnt/textures” to:

          • /etc/profile.d/chaos.sh
          • The file profile in /etc
          • A custom .sh in /etc/profile.d

          Nothing worked.

          Any idea what I am doing wrong?

          Comment


          • #6
            Which CentOS version? Also, what user are the render servers running with?

            Best regards,
            Vlado
            I only act like I know everything, Rogers.

            Comment


            • #7
              CentOS 6.5

              V-Ray service is running as root.

              Comment

              Working...
              X