はじめに
映像系パイプラインツール、DEADLINEを動かすために必要なRepositoryサーバの構築をしたので
そのときの備忘録程度に書こうと思います。(わかりづらくてすいません)
注意)ディレクトリパスは適当に変えています。注意してください。
更新しました! 2024/09
構成
- サーバ
- VMWare ESXi 7
- CentOS Rocky8
- CPU 4core/MEM 8GB (ただし、メモリは不足したら増やす予定)
- ソフトウェア
- MongoDB 5.0.22 (ちなみにcentos8で、MongoDB4.3で動いた)
- Deadline 10.3.2.1
- Samba 5.0.22
導入手順
##素材揃える編
- 必要なRocky8のバージョンをisoで落とす。
- Deadlineの最新版を落とす。
- MongoDB5.0.22を落とす。
注意1) Deadlineでライセンスサーバについて記載していないのは、今回ライセンスサーバはすでにある程です。 ライセンスサーバ不要になりました。
注意2) システム要件は行う前に確認してみてください。
注意3) DeadlineのデータはここではDeadline-10.3.2.1-linux-installers.tar
を指す。
注意4) MongoDBのバージョンが5.0.22までしかDeadlineが対応していないため、RHEL8系の対応になります。(CentOSはすでに終わっているので、Rokey か Almaになるかと思います)
##VMを立てる
→こちらはわかりやすく書いていらっしゃる方がいますので、こちらを参考にしてみてください。
なお、次の項目は一番最初の初期設定が終わってるものです。
##CentOSを設定する
- SSHで、admin権限をもったユーザでサーバに入る(teraterm等で入る。) ※1
- sudoerの設定画面に入る。
[hoge@deadline ~]# visudo
- この場所を見つける`## Allow root to run any commands anywhere
- 3の下に、
ユーザ名 ALL=(ALL) ALL
を入力する -
esc
を押して:wq
で保存終了 - rebootして再起動。
- SSHで再度ログインする
- サーバを最新にする
[hoge@deadline ~]$sudo dnf update
- SFTPでアクセスして、
/opt/hoge
へMongoDBのデータとDeadlineのデータをアップロードする。
※もしユーザ権限の場合は[hoge@deadline ~]$su -
でrootパスワードを入力すれば大丈夫。[hoge@deadline ~]#
と$ -> #へと変わってるはず。
Deadlineのインストール
- Deadlineのデータがあるところまで、ディレクトリを移動する。
- tarで固まってるため解答する
[hoge@deadline ~]tar -xvf Deadline-10.3.2.1-linux-installers.tar
- 同じディレクトリに次の二つがあることを確認する。
mongodb-linux-x86_64-rhel80-5.0.22.tgz
とDeadlineRepository-10.3.2.1-linux-x64-installer.run
- Deadlineをインストールする。
[hoge@deadline ~]#sudo ./DeadlineRepository-10.1.3.6-linux-x64-installer.run --mode text ----prepackagedDB /home/hoge/mongodb-linux-x86_64-rhel70-3.4.24.tgz
- License Agreementが出てくるので読み進めて、
Y
で進める。 - Repository Installation Directoryの入力画面が出てくるので、表示されてるディレクトリでよければそのまま進める。
-
Set full read/write access for files[Y/n]
と出てくるのでY
。 - MongoDBのインストールについてきいてくるので、
[1] Install a new MongoDB database on this machine?
にするため1
を入力 -
MongoDB Installation type
を聞かれるので[2]Pre-Packed(.tar .zip)
の2
を入力。 - 場所を聞かれるが、最初に場所を設定しているため間違ってるか確認して、進む
- host等mongoDBに関する情報を聞かれるが、問題がなければそのまま進む。
-
continue installation?
と聞かれるので、Y
でインストール開始。 -
Require client authentication via SSL/TLS [Y/n]
と聞かれるので、Y
。 -
Certificate Password
とConfirm Password
と聞かれるので、任意のパスワードを入力。 -
Secrets Management Setup
でAdmin Username
とCertificate Password
とConfirm Password
を聞かれるのでそれぞれ入力。 -
Repository Settings File
で過去のrepositoryデータがある場合はここで引継ぎを行う事が可能。 - ファイアウォールを追加設定する
[hoge@deadline ~]$sudo firewall-cmd --zone=public --add-port=27100/tcp --permanent
- ファイアウォールを適用する
[hoge@deadline ~]$sudo firewall-cmd --reload
注意1)基本的に特に何かなければ、デフォルトパラメータで行くほうがいいと思います。
注意2)ここについて、わからなければ次のページをご参考に。
注意3)ポートについては次のところを参照。
sambaをインストール
repositoryには全部のPCがアクセスできないといけないので、sambaをインストール、設定する。
- インストールコマンドを入れる。
[hoge@deadline ~]$ sudo dnf install -y samba
- smb設定をバックアップする
[hoge@deadline ~]$sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bk
- ファイル内に入る。
[hoge@deadline ~]$sudo vi /etc/samba/smb.conf
- 下のsmb.confを参考に設定する。
- ファイアウォールを追加設定する
[hoge@deadline ~]$sudo firewall-cmd --zone=public --add-service=samba --permanent
- ファイアウォールを適用する
[hoge@deadline ~]$sudo firewall-cmd --reload
- レポジトリフォルダに対してselinuxを設定する
[hoge@deadline ~]$ sudo semanage fcontext -a -t samba_share_t "/opt/Thinkbox/DeadlineRepository10(/.*)?"
- レポジトリフォルダに対してselinuxを適用する
[hoge@deadline ~]$ sudo restorecon -R /opt/Thinkbox/DeadlineRepository10/*
- レポジトリフォルダに対して適宜書き込み読み取り権限をつける。(できるだけsambaにユーザ権限作成して作ることをおすすめしたい)
- 起動する
[hoge@deadline ~]$ sudo systemctl start smb
- 自動起動の設定をする
[hoge@deadline ~]$ sudo systemctl enable smb
[global]
workgroup = WORKGROUP
server string = Deadline
netbios name = deadline
security = user
map to guest = bad user
dns proxy = no
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[repository]
path = /opt/Thinkbox/DeadlineRepository10
browseable = Yes
writable = Yes
guest ok = Yes
read only = No
create mask = 0700
force create mode = 0700
force directory mode = 0700
[certification]
path = /opt/Thinkbox/DeadlineDatabase10/certs
browseable = Yes
writable = Yes
guest ok = Yes
read only = No
create mask = 0700
force create mode = 0700
force directory mode = 0700
最終チェック
- selinuxが入ってることを確認
[hoge@deadline ~]$sudo getenforce
->Enforce
でok - レポジトリフォルダのselinuxのコンテクスト確認
[hoge@deadline ~]$sudo ls -Z /opt/Thinkbox/DeadlineRepository10
->samba_share_t:s0
が各フォルダに入ってればok。 - ファイアウォールを適用する
[hoge@deadline ~]$sudo firewall-cmd --reload
- ファイアウォールが設定されてるか確認する
[hoge@deadline ~]$sudo firewall-cmd --list-all
- WindowsやMac等からレポジトリフォルダが開けることを確認する。
- mongoが稼働しているか確認する
[hoge@deadline ~]$ sudo ps -ef | grep mongod
- mongoのポートが受け付けてるか確認する
[hoge@deadline ~]$ sudo ls -of -i:27100
public (active)
省略
services: dhcpv6-client samba ssh
ports: 27100/tcp
省略
root 1543 1 0 14:30 ? 00:00:46 /opt/Thinkbox/DeadlineDatabase10/mongo/application/bin/mongod --config /opt/Thinkbox/DeadlineDatabase10/mongo/data/config.conf
hoge 11327 9106 0 18:55 pts/3 00:00:00 grep --color=auto mongod
mongod 1543 root 11u IPv4 26421 0t0 TCP *:27100 (LISTEN)
mongod 1543 root 12u IPv6 26422 0t0 TCP *:27100 (LISTEN)
あとは、クライアントの設定をするのみ(今回は省略)
トラブルシューティング
クライアント側でのDeadlineのレポジトリ設定するときに
certificationが通らないトラブルに遭遇しました。
もし遭遇した人がいれば、ローカルに証明書を落とした上でクライアントの設定を進めてください。
次からはなぜか、NAS上の証明書からアクセスできます。(解せない)
終わりに
まさか、6年前ぐらいに作成したDeadlineをまた触ることになるとは思ってませんでした。
Deadline使って映像制作が少しでも時短に、またクオリティアップに使えると良いですね!