Deadlineサーバの構築方法


はじめに

映像系パイプラインツール、DEADLINEを動かすために必要なRepositoryサーバの構築をしたので
そのときの備忘録程度に書こうと思います。(わかりづらくてすいません)
注意)ディレクトリパスは適当に変えています。注意してください。

構成

  • サーバ
    • VMWare ESXi 6
    • CentOS 7.6 (ちなみに8.0でも動いた)
    • CPU 4core/MEM 8GB (ただし、メモリは不足したら増やす予定)
  • ソフトウェア
    • MongoDB 3.4 (ちなみにcentos8で、MongoDB4.3で動いた) 
    • Deadline10.1.3
    • Samba 4.9.1 (client common backend等普通にyumで入ってしまうもの)

導入手順

素材揃える編

  1. 必要なCentOSのバージョンをisoで落とす。
  2. Deadlineの最新版を落とす。
  3. MongoDBを落とす。

注意1) Deadlineでライセンスサーバについて記載していないのは、今回ライセンスサーバはすでにある程です。
注意2) システム要件は行う前に確認してみてください。
注意3) DeadlineのデータはここではDeadline-10.1.3.6-linux-installers.tarを指す。

VMを立てる

→こちらはわかりやすく書いていらっしゃる方がいますので、こちらを参考にしてみてください。
なお、次の項目は一番最初の初期設定が終わってるものです。

CentOSを設定する

  1. SSHで、admin権限をもったユーザでサーバに入る(teraterm等で入る。) ※1
  2. sudoerの設定画面に入る。 [hoge@deadline ~]# visudo
  3. この場所を見つける`## Allow root to run any commands anywhere
  4. 3の下に、ユーザ名 ALL=(ALL) ALLを入力する
  5. escを押して:wq で保存終了
  6. rebootして再起動。
  7. SSHで再度ログインする
  8. サーバを最新にする[hoge@deadline ~]$sudo yum update
  9. SFTPでアクセスして、/home/hogeへMongoDBのデータとDeadlineのデータをアップロードする。

※もしユーザ権限の場合は[hoge@deadline ~]$su -でrootパスワードを入力すれば大丈夫。[hoge@deadline ~]#と$ -> #へと変わってるはず。

Deadlineのインストール

  1. Deadlineのデータがあるところまで、ディレクトリを移動する。
  2. tarで固まってるため解答する[hoge@deadline ~]tar -xvf Deadline-10.1.3.6-linux-installers.tar
  3. 同じディレクトリに次の二つがあることを確認する。mongodb-linux-x86_64-rhel70-3.4.24.tgzDeadlineRepository-10.1.3.6-linux-x64-installer.run
  4. 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
  5. License Agreementが出てくるので読み進めて、Yで進める。
  6. Repository Installation Directoryの入力画面が出てくるので、表示されてるディレクトリでよければそのまま進める。
  7. Set full read/write access for files[Y/n]と出てくるんのでY
  8. MongoDBのインストールについてきいてくるので、[1] Install a new MongoDB database on this machine? にするため 1を入力
  9. MongoDB Installation typeを聞かれるので[2]Pre-Packed(.tar .zip)2を入力。
  10. 場所を聞かれるが、最初に場所を設定しているため間違ってるか確認して、進む
  11. host等mongoDBに関する情報を聞かれるが、問題がなければそのまま進む。
  12. continue installation?と聞かれるので、Yでインストール開始。
  13. ファイアウォールを追加設定する[hoge@deadline ~]$sudo firewall-cmd --zone=public --add-port=27100/tcp
  14. ファイアウォールを適用する [hoge@deadline ~]$sudo firewall-cmd --reload

注意1)基本的に特に何かなければ、デフォルトパラメータで行くほうがいいと思います。
注意2)ここについて、わからなければ次のページをご参考に。
注意3)ポートについては次のところを参照

sambaをインストール

repositoryには全部のPCがアクセスできないといけないので、sambaをインストール、設定する。
1. インストールコマンドを入れる。[hoge@deadline ~]$ sudo yum install -y samba
2. smb設定をバックアップする [hoge@deadline ~]$sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bk
3. ファイル内に入る。[hoge@deadline ~]$sudo vi /etc/samba/smb.conf
4. 下のsmb.confを参考に設定する。
5. ファイアウォールを追加設定する [hoge@deadline ~]$sudo firewall-cmd --zone=public --add-service=samba
6. ファイアウォールを適用する [hoge@deadline ~]$sudo firewall-cmd --reload
7. レポジトリフォルダに対してselinuxを設定する [hoge@deadline ~]$ sudo semanage fcontext -a -t samba_share_t "/opt/Thinkbox/DeadlineRepository10(/.*)?"
8. レポジトリフォルダに対してselinuxを適用する [hoge@deadline ~]$ sudo restorecon -R /opt/Thinkbox/DeadlineRepository10/*
9. レポジトリフォルダに対して適宜書き込み読み取り権限をつける。(できるだけsambaにユーザ権限作成して作ることをおすすめしたい)
10. 起動する [hoge@deadline ~]$ sudo systemctl start smb
11. 自動起動の設定をする [hoge@deadline ~]$ sudo systemctl enable smb

smb.conf
[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

 最終チェック

  1. selinuxが入ってることを確認 [hoge@deadline ~]$sudo getenforce -> Enforceでok
  2. レポジトリフォルダのselinuxのコンテクスト確認 [hoge@deadline ~]$sudo ls -Z /opt/Thinkbox/DeadlineRepository10 -> samba_share_t:s0が各フォルダに入ってればok。
  3. ファイアウォールを適用する [hoge@deadline ~]$sudo firewall-cmd --reload
  4. ファイアウォールが設定されてるか確認する [hoge@deadline ~]$sudo firewall-cmd --list-all
  5. WindowsやMac等からレポジトリフォルダが開けることを確認する。
  6. mongoが稼働しているか確認する[hoge@deadline ~]$ sudo ps -ef | grep mongod
  7. mongoのポートが受け付けてるか確認する[hoge@deadline ~]$ sudo ls -of -i:27100
④firewall-cmd
public (active)
 省略
  services: dhcpv6-client samba ssh
  ports: 27100/tcp
 省略
⑥ps_ef|gerp_mongod
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
⑦ls_-of_-i
mongod  1543 root   11u  IPv4  26421      0t0  TCP *:27100 (LISTEN)
mongod  1543 root   12u  IPv6  26422      0t0  TCP *:27100 (LISTEN)

あとは、クライアントの設定をするのみ(今回は省略)

トラブルシューティング

クライアント側でのDeadlineのレポジトリ設定するときに
certificationが通らないトラブルに遭遇しました。

もし遭遇した人がいれば、ローカルに証明書を落とした上でクライアントの設定を進めてください。
次からはなぜか、NAS上の証明書からアクセスできます。(解せない)

終わりに

はー。。。windowsだと、こう細かいことしないでも、ぽんぱんぽん、って終わるから楽ですね。(おい。)

ただ、なにがどう動いてるか、CentOSのがわかりやすいのと、何より、負荷が軽い。
windowsの時の半分以下。しかも無料。文句のつけようがない。。。
サーバの管理する側といては、やっぱりなにがどう動いてるのか即わかるCentOSは好きかなぁ。。。
というわけで、サーバ側のセットアップでした!