Docker コンテナによるVirtual DSM | masao-Tec-blog

Docker コンテナによるVirtual DSM

Synology NAS 応用

Synologyの高機能モデルで使用できるVirtual Machine Managerという仮想化のパッケージでは、Virsual DSMという仮想化DSM環境を使用することが出来ます。
仮想化DSM環境が破損したため、以前から気になっていた、DockerコンテナによるVitrual DSMを試してみることとしました。
本記事では、DockerコンテナによるVitrual DSMのインストール・セットアップ方法について紹介しています。

前提 本記事でのDSM(OS)バージョンはSynology DSM 7.3を用いています。

スポンサーリンク

1.DockerコンテナによるVirtual DSMについて

こちらのサイトで開発されています。

仮想マシンではなく、DockerコンテナとしてDSMを稼働させることができます。
なお、Synologyの公式なものではありません。

また、稼働させるDSM本体は本サイトの配布物には含まれておらず、Synologyのサイトからダウンロードしてインストールする仕組みのようです。

SynologyのVitual DSMのインストールについては非Synologyのハードウェアにはインストールを許可しないエンドユーザーライセンスに同意する必要があります。よって、本コンテナについては公式のSynology NASでのみ使用可能です。

スポンサーリンク

2.DockerコンテナによるVirtual DSMのインストール手順

コンテナマネージャが必要となります。
コンテナマネージャについては以下の記事で紹介しています。

2-1.プロジェクトの作成

Container Managerを用いて以下のプロジェクトを作成します。

services:
  dsm:
    container_name: dsm
    image: vdsm/virtual-dsm
    environment:
      DISK_SIZE: "32G"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 5000:5000
      - 5022:22
    volumes:
      - ./dsm:/storage
    restart: always
    stop_grace_period: 2m

パラメータは以下の通りです。

  • DISK_SIZE:Virtual DSMのストレージサイズを設定します。デフォルト値は256GB
  • ports:赤文字の部分は自分の環境で空いているポート番号を設定します。5000はDSMのHTTP管理ポートのデフォルト値です。あと、ssh接続も行いたいので設定を追加しています。
  • volumes:プロジェクトの格納先フォルダにdsmというフォルダを予め作成しておきます。当該箇所にVirtual DSMのストレージ実体その他が格納されます。

コンテナマネージャでプロジェクトの作成が完了したら、ブラウザで[NASのIPアドレス:ポート番号]に接続します。

2-2.Virtuai DSMの初期設定

ブラウザで接続すると、インストール処理が実行されています。

暫くすると、DSMのようこそ画面が表示されますので、[起動]をクリックします。

Virtual DSMの初期設定を行います。

通常のDSMの初期設定と同様、デバイス名や管理者アカウント、管理者アカウントのパスワードといった情報を入力して設定作業を進めます。

DSMおよびパッケージのアップデートオプションを選択します。このあたりも通常のDSMと同様ですので、適切なものを選択して[次へ]をクリックします。

Synologyアカウントの作成画面となります。

後述しますがSynologyアカウントは使用不可なので[スキップ]をクリックして設定作業を先に進めます。

Synologyにデバイス情報を送るかどうかの設定となります。
これもおそらく実施不可なので、チェックを入れずにそのまま[送信]をクリックします。

Vitrsual DSMのコンソール画面が表示されました。
通常のDSM画面と何ら変わりません。
この後、動作に必要な各種設定作業を進めて行きます。

デフォルトではDSM7.2がインストールされますが、通常のDSMと同様、バージョンアップを行うのも特に制約なく実行可能です。

3.コンテナ版Virtual DSMの特記事項および制約事項

3-1.IPアドレスについて

コンテナなのでデフォルトのネットワーク設定はブリッジネットワークとなり、ホストからマッピングされたポート番号を介して接続することとなります。IPアドレス自体はブリッジネットワークのアドレス帯のDHCPで設定されたアドレスとなりますので、本格的にサーバとして使用するならば、ポートの設定を都度入れるか、ホスト側でMacvlanネットワークを設定してコンテナに固定のIPアドレスを設定することができます。
私の使用用途は本格的なサーバとしての使用ではないため、そこまでは実施していません。

3-2.Synologyアカウントについて

VMM版のVirtual DSMと異なり、ライセンスをマッピングしていません。その影響か、Synologyアカウントを連携させることができませんので、Synologyアカウントに紐づく各種サービス(通知、バックアップ、DDNS、QuickConnect等)は使用することができません。

3-3.動作速度

VMM版のVirtual DSMに比べて明らかに動作速度は速いです。
コンテナという仕組み上、VMMの仮想化と異なりゲストOS部分がなく、ホストOSをダイレクトに使用するので、ホストマシンと動作速度は大差ないものとなります。

3-4.インストールパッケージ制約

インストール可能なパッケージには以下の制約があるとのことです。

  • 仮想マシンマネージャ(VMM)はインストールできない
  • Surveiilance Stationには無料ライセンスが含まれていない。

4.コンテナ版Virtual DSMの活用シーン

ここまでに説明した通り、本格的な使用についてはそれなりに制約事項がありますが、実用的な用途ではなく、本番環境に対するテスト環境として使用するような用途には適していると思います。

すなわち、各種NAS上のアプリケーションパッケージの更新や、新規パッケージの導入テスト、DSM自体のOS更新などを、本番環境に先立ってテストを行い、問題ないことを確認してから本番環境への反映を行うような用途に使用するのが良いのではと思います。

5.まとめ

DockerコンテナによるVitrual DSMのインストール・セットアップ方法について紹介しました。

制約事項もありますが、用途を限定すれば有効活用できるかと思います。

以上、最後まで記事を読んでいただき、ありがとうございました。