在群晖nas上安装deadline过程记录

  • 使用的是群晖Virtual Machine Manager套件
  • 系统是Centos7
  • deadline版本为10.3.1

安装Centos7

安装镜像的过程这里简单带过。

1.新增虚拟机

2.配置常用规格

3.选择镜像

4.创建完成后点击连接

5.选择第一个Install Centos7,然后选择语言

6.点击配置网络

7.点击配置按钮,配置ip

根据自己的网关配置

8.开始安装,设置root密码

安装完成后,使用ssh连接吧。

centos7系统设置

1.更换国yum内源

修改为阿里的源

1
2
3
4
5
6
7
8
# 备份所有
for f in /etc/yum.repos.d/*.repo; do mv -- "$f" "${f%.repo}.repo.bak"; done

# 下载
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

# 生成缓存
yum makecache

2.安装deadline依赖项

1
2
3
4
5
yum install redhat-lsb libX11 libXext -y

yum install mesa-libGL mesa-libGLU -y

yum install bzip2 -y

3.准备/上传安装包

dealine的安装包去官方下载就好,
mongodb的包要在deadline页面下载(官方下载的安装不上,不知道为什么)

这个链接的最下面,下载对应系统的mongodb包。
https://docs.thinkboxsoftware.com/products/deadline/10.3/1_User%20Manual/manual/install-db-repo.html

安装Deadline

1.安装仓库

1
2
3
4
5
# 给执行权
sudo chmod +x DeadlineRepository-10.3.1.3-linux-x64-installer.run

# 安装
sudo ./DeadlineRepository-10.3.1.3-linux-x64-installer.run

下面开始交互式安装

安装mongodb的时候,使用本地包。
(我这里没启用TLS,家里用从简)

2.安装webservice

1
2
3
4
5
# 给执行权
sudo chmod +x DeadlineClient-10.3.1.3-linux-x64-installer.run

# 安装
sudo ./DeadlineClient-10.3.1.3-linux-x64-installer.run

这里主要就是选第3个安装webservice(方便之后用python来进行任务提交)

这是选的不使用证书

安装完成

3.samba安装和配置

先去文件夹把权限都给了
(我不太熟悉权限管理,有时候经常出现权限问题,不如索性都给了。)

1
2
3
cd /opt/Thinkbox

sudo chmod -R 777 DeadlineRepository10

添加用户

1
2
3
4
5
# 添加一个用户
sudo adduser -m deadlineuser

# 添加密码
sudo smbpasswd -a deadlineuser

然后安装samba

1
yum install samba -y

打开配置文件,添加配置

1
vim /etc/samba/smb.conf

内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[DeadlineRepository]
path = /opt/Thinkbox/DeadlineRepository10
available = yes
read only = no
browsable = yes
public = yes
writable = yes
create mask = 0777
directory mask = 0777
force user = deadlineuser
browseable = yes
comment = public
create mode = 0777
force create mode = 0777
directory mode = 0777
force directory mode = 0777

完成后重启服务

1
sudo service smb restart

4.关闭防火墙,更改SELinux模式

linux安全策略不是很懂,这样比较暴力。
如果是公司用,可以咨询一下IT大哥,自己家里就随便了。
能跑就行!

关闭防火墙步骤

1
2
3
4
5
6
7
8
# 关闭防火墙
sudo systemctl stop firewalld

# 禁止开机启动
sudo systemctl disable firewalld

# 查看一下是否dead了
sudo systemctl status firewalld

修改SELinux安全策略

1
2
3
4
5
# 设置SELinux为宽容模式(临时修改)
setenforce 0

# 编辑文件,永久更改
vim /etc/selinux/config

内容修改如下

1
SELINUX=premissive

5.配置webservice服务

进入到deadline仓库,解压bin压缩包

1
2
3
4
5
6
7
8
9
10
11
# 安装解压程序
yum install unzip -y

# 进入仓库
cd /opt/Thinkbox/DeadlineRepository10/bin/Linux

# 解压bin.zip
unzip bin.zip

# 查看是否解压出来deadlinewebservice这个文件
ls deadlinewebservice

下面创建Systemd文件来持续运行服务

1
sudo vim /etc/systemd/system/deadlineweb.service

内容如下

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=Deadline Web Service
After=network.target

[Service]
ExecStart=/opt/Thinkbox/DeadlineRepository10/bin/Linux/deadlinewebservice
Restart=on-failure
User=root
Group=root

[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
# reload服务配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start deadlineweb

# 查看状态
sudo systemctl status deadlineweb

在windows中进行连接

在windows中安装客户端的步骤就跳过了,这里直接设置仓库连接

1.挂载Deadline smb

使用之前添加的deadlineuser账户登陆

2.deadline客户端连接

正常就可以打开monitor了

3.测试webservice

先取消令牌验证

在编辑器中运行代码

1
2
3
4
5
6
7
import sys  
sys.path.append(r'Y:\api\python')

from Deadline.DeadlineConnect import DeadlineCon as Connect

con = Connect('192.168.50.144', 8081)
print(con.Groups.GetGroupNames())