Render.ru

помогите нстроить netrender

#1
Здравствуйте.

Проблема такая. Поставили в сети на 2 машинах prman 11.5.3 . на каждой отдельной машине всё здорово, рендерит замечательно, лицензию настроили. Попытка поднять сетевой рендер не увенчалась успехом :(
сам alfserver поднят на каждой машине (проверяли телнетом на его порт - пишет версию сервера, всё ок.) а вот запуск команды netrender -h 192.168.0.124 test.rib очень надолго задумывается и висит на 0%. Причем пытались опциями включить логи (включили всё, что только можно), выдает что-то такое:
listen for reply on port: 1575
From: wpavel
Render on host: 192.168.0.124 192.168.0.45 (as 192.168.0.45)
Request replied, ok for 1 processors
Accepting reply ...
connection from host: DEG
, addr: 192.168.0.124
Accepted i/o connections from 192.168.0.124
error stream on pid <1792>
Request packet from 548:
cmd: 10 : ID seq: 1 fileindex: 0 flags: 0x0 offset: 0 bytes: 0
Reply packet to 548:
cmd: 10 : ID seq: 1 fileindex: 4 status: 0 bytes: 0
Request packet from 548:
cmd: 1 : OPEN seq: 2 fileindex: -1 flags: 0x101 offset: 438 bytes: 19
Attempt to open: defaultsurface.slo
Reply packet to 548:
cmd: 1 : OPEN seq: 2 fileindex: 4 status: 0 bytes: 0
Request packet from 548:
cmd: 3 : READ seq: 3 fileindex: 4 flags: 0x2 offset: 0 bytes: 4096
sending 869 bytes of read data
Reply packet to 548:
cmd: 3 : READ seq: 3 fileindex: 4 status: 0 bytes: 869
Request packet from 548:
cmd: 2 : CLOSE seq: 4 fileindex: 4 flags: 0x0 offset: 0 bytes: 0
Reply packet to 548:
cmd: 2 : CLOSE seq: 4 fileindex: 0 status: 0 bytes: 0
Request packet from 548:
cmd: 1 : OPEN seq: 5 fileindex: -1 flags: 0x101 offset: 438 bytes: 17
Attempt to open: distantlight.slo
Reply packet to 548:
cmd: 1 : OPEN seq: 5 fileindex: 4 status: 0 bytes: 0
Request packet from 548:
cmd: 3 : READ seq: 6 fileindex: 4 flags: 0x2 offset: 0 bytes: 4096
sending 684 bytes of read data
Reply packet to 548:
cmd: 3 : READ seq: 6 fileindex: 4 status: 0 bytes: 684
Request packet from 548:
cmd: 2 : CLOSE seq: 7 fileindex: 4 flags: 0x0 offset: 0 bytes: 0
Reply packet to 548:
cmd: 2 : CLOSE seq: 7 fileindex: 0 status: 0 bytes: 0
Request packet from 548:
cmd: 1 : OPEN seq: 8 fileindex: -1 flags: 0x101 offset: 438 bytes: 17
Attempt to open: ambientlight.slo
Reply packet to 548:
cmd: 1 : OPEN seq: 8 fileindex: 4 status: 0 bytes: 0
Request packet from 548:
cmd: 3 : READ seq: 9 fileindex: 4 flags: 0x2 offset: 0 bytes: 4096
sending 431 bytes of read data
Reply packet to 548:
cmd: 3 : READ seq: 9 fileindex: 4 status: 0 bytes: 431
Request packet from 548:
cmd: 2 : CLOSE seq: 10 fileindex: 4 flags: 0x0 offset: 0 bytes: 0
Reply packet to 548:
cmd: 2 : CLOSE seq: 10 fileindex: 0 status: 0 bytes: 0
Request packet from 548:
cmd: 1 : OPEN seq: 11 fileindex: -1 flags: 0x101 offset: 438 bytes: 12
Attempt to open: plastic.slo
Reply packet to 548:
cmd: 1 : OPEN seq: 11 fileindex: 4 status: 0 bytes: 0
Request packet from 548:
cmd: 3 : READ seq: 12 fileindex: 4 flags: 0x2 offset: 0 bytes: 4096
sending 1265 bytes of read data
Reply packet to 548:
cmd: 3 : READ seq: 12 fileindex: 4 status: 0 bytes: 1265
Request packet from 548:
cmd: 2 : CLOSE seq: 13 fileindex: 4 flags: 0x0 offset: 0 bytes: 0
Reply packet to 548:
cmd: 2 : CLOSE seq: 13 fileindex: 0 status: 0 bytes: 0
Request packet from 548:
cmd: 5 : ERROR seq: 14 fileindex: 0 flags: 0x0 offset: 0 bytes: 14
0%

и всё. и на этом висит. причем наоборот тоже эти серваки не хотят рендерить. Естественно из Майки тоже ничего не получается. Когда ставишь там нетрендер, то альфред говорит что сервер занят (что-то такое).
Если кто-нибудь что-нибудь подскажет - спасибо.
 
#2
Не использовать netRender вообще, система устаревшая и медленная - поэтому разбираться из-за чего она у вас глючит смысла нет.
Лучше настройте удаленный рендеринг через RemoteCmd. Гораздо быстрее.
 
#3
Перечитал всё, что нашёл про remoteCmd, но не понял главного: как это всё-таки настроить???
Не объясните, хоть кратко, но по-русски?
 
#4
Насколько я понял, на вход альфреду надо давать скрипты, в которых уже описывать план распределенного рендеринга. Т.е., я например пробовал на таком скрипте:

##AlfredToDo 3.0

Job -title {A Simple Job} -subtasks {

Task {Scene One} -subtasks {

Task {Shadow A} -cmds {
RemoteCmd {prman qqq.rib}
}

} -cmds {
RemoteCmd {prman test2.rib}
}
}

сохранил это в файл first.job и вызвал alfred first.job . Так вот, пока в этом скрипте было Cmd вместо RemoteCmd всё работало на ура, а когда я написал RemoteCmd стала ругаться. В доках увидел, что нужно в параметрах RemoteCmd писать еще и -service {какой-то сервис}. Пока не разобрался, что писать в качестве сервиса? Видимо имя хоста, или может быть группу хостов нужно собирать в конфигах в опредленную группу, и тут указывать?
 
#5
Кое-какие продвижения:
понял что такое service и по какому принципу он указывается. в самом альфреде, в менюшке Sheduling -> Master Shedule.. при добавлении хостов внизу можно указать один или несколько service keys , добавляя отдельный хост , можно поставить ему service key , например, "fast smallRender" , а добавляя другой хост - "bad smallRender". Тогда потом в указании параметра -service в скрипте альфреду можно указать нужный ключ, и будут использоваться нужные хосты.
т.е. у меня были service key = "pixarRender", скрипт для альфреда такой:
Job -title {A Simple Job} -subtasks {

Task {Scene One} -cmds {
RemoteCmd {prman //WPAVEL/rt/test2.rib} -service {pixarRender}
}
}

Просто для пробы.
Вроде запустился рендер, но теперь полезли следующие проблемы: по наитию написал путь именно так как написал //WPAVEL вместь \\WPAVEL (привычных для виндовса) прав ли я? Ну в любом случае рендер файла этого запустился. НО. рендер не смог взять материал, указанный в этой рибке. материал.slo лежит в этой же расшаренной папочке вроде. Что я сделал не так? может где-то надо пути до материалов указывать или еще что? Специалисты, проконсультируйте немного пожалуйста.
 
#6
Ну зачем-же так все усложнять...
RemoteCmd работает несколько проще - в RenderMan Globals в в разделе Spool, в подразделе Job Setup - ставите в пункте Compute Location - Remote а в пункте Renderer - PRMan.
И все машины вашей сети включенные Альфредом в HuntGroup - и на которых запущен сервис - Alfserver - будут считать вашу задачу. Причем счет на каждом удаленном хосте идет так что ресурсы хоста задействуются на 100% или почти на 100.... Тогда как НетРендер так загрузить удаленный комп не умеет. Да чуть не забыл - Min/Max Processors выставлять нужно в 1/1.
Это в теории...
На практике существует масса тонкостей настройки, чтобы все это заработало. Поскольку процессы на других хостах стартуют удаленно - нужно обеспечить им доступ к рибам, текстурам и пр. которые лежат (в общем случае) на хосте диспатчере. Нужно, чтобы все альфсервера - на всех хостах имели достаточные права для доступа к необходимым данным, т.е. запускались с правильным Account-ом - все с одним желательно. Нужно, чтобы пути к данным, передающиеся удаленным хостам - совпадали с реальными сетевыми путями к этим данным. Все это необходимо чтобы ПРМаны на удаленных машинах находили все, что им нужно для работы и могли нормально отдавать результаты счета.

Тема это очень подробно муссировалась некоторое время назад на Renderman.ru. Только не задавайте вопросов об этом на форуме - побъют :))
Лучше воспользуйтесь поиском и найдете много чего полезного по этому вопросу.
Успехов.
 
Сверху