コンテンツへスキップ

2GBの DDR4 non-ECCシステムメモリにメモリ増設

高機能なNASサーバーSynology、モデルによりCPUと搭載メモリ容量が異なります。
2ドライブNASのラインナップとして、Jシリーズ(DS220j)Valueシリーズ(DS218, DS218play)Plusシリーズ(DS220+, DS720+)が展開されております。

家庭でのNAS利用ならば、CPUパワーやメモリ容量も最低限で十分問題ないのですが、Synology単体で、Publicにサービス公開(WEBサービス、MAILサービス、DNSサービス、PHPやPythonプログラム動作など)が可能であり、少し使い込むとCPUパワー、メモリ容量が必要と感じさせられます。

私も、Jモデル(Synology DS218J)の利用から初めて、今回購入する際には、CPUパワーとメモリ容量も加味してPlusシリーズのDS220+を選択して購入しました。

また、CPU処理性能にも関係しますが、それ以上に最大メモリ容量が増設出来るPlusシリーズでは、提供機能にも差分があり、仮想マシン(Virtual Machine Manager)が利用可能と大きな機能の追加から、各種機能の上限値が異なります。最大ユーザーカウント数など。

DDR4のシステムメモリだけでなく、DS720+では、NVMeタイプのSSDも追加可能で、更に高速な領域と組み合わせて、より高度なサーバー機能が運用可能そうです。
この差分が、良く分からずDS220+を導入しましたが、Windowsサーバーの動作も明示されているので、Windows仮想環境を利用したい際は、DS720+の方が良いのかもしれません。(私は、DS220+でWindowsが使用に耐えれない性能だったので、Windowsゲストの利用を諦めました)

DS220jDS218DS220+DS720+
CPURealteck RTD1296Realtek RTD1296Intel Celeron J4025Intel Celeron J4125
CPUスペック4-core 1.4 GHz4-core 1.4 GHz2-core 2.0 / 2.9 GHz4-core 2.0 / 2.7 GHz
システムメモリ512MB DDR4 non-ECC2GB DDR4 non-ECC2GB DDR4 non-ECC2GB DDR4 non-ECC
メモリスロットなしなし1スロット1スロット
最大メモリ2GB2GB6GB (2GB + 4GB)6GB (2GB + 4GB)
追加M.2ドライブなしなしなし2 (NVMe)

Synology 製品ページ: https://www.synology.com/ja-jp/products

増設メモリの選定

当然、Synology純正オプションのメモリが導入時の、最優先候補となります。
モデルごとにオプションメモリが準備されており、DS220+向けには、D4NESO-2666-4Gというメモリオプションが準備されております。
メモリとしては、DDR4-2,666-SODIMM / 4GBとなり、メモリ速度2666MHz、アンバッファのSO-DIMMとなります。

D4NESO-2666-4G

  • DDR4 non-ECC Unbuffered SODIMM
  • EAN: 4711174723669
  • 容量: 4GB
  • 適用機種:
    • 20 シリーズ: RS820RP+, RS820+, DS920+, DS720+, DS420+, DS220+
    • 19 シリーズ: DS2419+, DS2419+II, DS1819+, DVA3219
    • 18 シリーズ: DS1618+

少し価格を確認したのですが、やはり少し割高を感じました。NSA向けであり高信頼メモリは必要だと思います。社外のメモリ増設は、完全に自己責任となります。最近10年以上はメモリで苦しんだこともないので、社外メモリを選択しました。

CPUが、Intel Celeron J4025であり、Mobile向けのCPUとなります。メモリーの仕様は、DDR4/LPDDR4 upto 2400 MT/sとなります。つまり、2400MHzまでの対応となります。ちなみに、最大メモリ容量は、8GBとなります。
DS220+は、すでに2GB搭載済みなので、4GB増設が現実解となります。
また、純正オプションでは、2,666MHzのメモリが提供されているようなのですが、CPUが対応していないという事もあり、2400MHzの4GBメモリを購入して増設しました。

1900円でCFD販売メモリ PC4-19200(DDR4-2400) 4GB×1枚 1.2V対応 260pin SO-DIMM (無期限保証)を購入しました。

非正規品4GB DDR4 SDRAMを増設

メモリ増設前の管理画面

メモリ増設前のシステム管理画面です。合計物理メモリ容量は、2048MBとなっております。

4GB SO-DIMM増設作業

こちらが購入したメモリとなります。CFD販売メモリ PC4-19200(DDR4-2400) 4GB×1枚 1.2V対応 260pin SO-DIMM (無期限保証)

Synology DS220+のフロントを開けて、ドライブを取り外した状態です。メモリスロットが手前に分かりやすく設置されております。

メモリ増設前の状態です。

購入したメモリをメモリスロットに設置した状態です。

PCのメモリ増設以上に、設置しやすい場所にスロットもあり、簡単な作業だと思います。

メモリ増設後の管理画面

メモリ増設後の管理画面です。無事に合計物理メモリ容量6144MBを認識しておりました。
純正のメーカーオプションでない、サポート外のメモリ増設はドキドキする内容ではありますが、特にSynology側がブロックすることもなく、無事にメモリ増設を実施し、現在も問題なく運用しております。

メモリ増加後の稼働状況

Virtual Machineなど、メモリを特に利用するサービスも利用中です。
注目すべきは、キャッシュ済み部分1.8GB、空き容量126MBだと思います。メモリを搭載した分だけ有効活用出来そうなので、全体的な動作にも大きく改善出来るのだと思います。標準搭載の2GBであり、利用方法にもよりますが、大半のケースでメモリ増設をした方が良いと思います。

ひさびさのSynology

灼熱の夏、外出時に、Linuxサーバーのブートディスクに利用していたRAIDケースが壊れてシステムダウン。導入時も色々考えて、ベストな構成と考えていたのに残念な結果。結局、1年未満の運用でした。
USBブートとして、ディスクの故障は、ディスク交換、サーバーの故障は、USB接続先のサーバーを変更して継続稼働と考えておりました。まさか、一番信頼性の欲しいRAIDケースが壊れてしまうとは。
シンプルが良いので、e-SATA、USBなどの有線接続のRAIDケースを重点的に探したのですが、見つからず、NASを利用することにしました。長年の自宅サーバー、実質HDDなどディスクしかハードウェアの故障は経験したことがありません。(今回のRAIDケースと)
現時点で、各社のNASを見比べましたが、やはり洗練されていたのはSynologyでした。(ブートディスクは、内臓ディスクにして、WEBサーバーなど運用サービスの領域にNASをNFSマウントして利用することにしました。ブート領域は、non-RAID構成となりましたが、サーバーを2重化しました)

進化したSynologyに機能をオフロード

以前、WEBサーバーなど、サービス提供用途で、Synology(DS218J)を利用していた時には、WEBサーバーそのものから、Synologyを利用しておりました。ただ、WEBサーバーのアクセスが増えて、Synologyでは負荷に耐え切れず、利用を諦めました。通常のPCを利用したWEBサービスの提供に切り替えておりました。
以前利用した際に、WEBサービスを提供するにあたり、非常に便利な機能がSynologyにはたくさん搭載されておりました。
処理性能不足で困りたくない、だけど、便利な機能は積極的に利用したい

 以前のSynologyユーザーとして便利だと感じた機能

少し、過去の投稿をさがしてみようと検索してみましたが、とても多くの機能を利用しておりました。

今回の決断(利用を決めた機能)

メモリ増設

  • Synology Drive
  • Hyper Backup
  • Link Aggregation
  • リバースプロキシ
  • 証明書
  • DDNS
  • NFS v4
  • Virtual Machine

採用見送り機能

Synology DS220+購入時にWEBページなどを見ていて、利用したいと考えていて、実際に利用しなかった機能の紹介です。もちろん、利用したかったので試行錯誤してみましたが、想定外の機能仕様や、動作状態だったので、今回は利用を見送りました。

Docker ・ Docker swarm

このサイトも、めざましじゃんけん広場もすべてのWEBサービスは、Dockerというコンテナを用いて提供しております。Synology DS220でDockerをサポートしていたので、管理ツールのコンテナなどを利用したかったのですが、、、、

利用を見送った理由は、Synologyのカスタマイズが大きく、フォルダー構成が独自だったためです。具体的に、「/var/run/docker.sock」は、Synologyで存在したが、「/var/lib/docker/volumes」は、Synologyでは存在しませんでした。おそらく、「/volume1/docker/」や「/volume2/docker」など、アプリをインストールした際に出来るユーザーデーター領域に作成される仕様のようです。

Virtual Machine (Windows)

かなり期待していたのが、Virtual Machineです。この機能を利用したくて、このグレードを選択したと言ってもいいほど期待していた機能です。どうしても、アプリケーションレイヤーのコンテナでは代替できない、Windows OSの固有機能を利用したくて、今までLinux上のKVMで運用しておりました。安定したRAID構成、Synology上で、このWindowsが運用出来たら楽だなと感じておりました。特に、Synologyの安定したWEB UIからWindowsのコンソールにスムーズに入れるのは魅力的だなと考えておりました。

結果として、インストール時点で、とても長い時間がかかりました。そして、動作も非常にもっさりとしておりました。Windows10を入れたのですが、最低スペックギリギリでした。Windows10をSynologyのVirtual Madchineで利用するには、性能が足りませんでした。

※ 最終的にLinuxをVirtual Machineで利用しています。機能には非常に満足、Windowsを動かすにはスペック不足か?(Synologyの上位機種で、割り当てコア数を上げて、SSDで運用するとどうなるのか少し気になりました)

Synology Lets Encrypt 証明書 ワイルドカードサポート

これはうれしい、証明書のワイルドカードサポート。
Synologyの管理ツールDSM(DiskStation Manager) のVersion 6.2.3で、Let's Encryptワイルドカード証明書がサポートされたようです。

一部、Synology で運用しているサイトも残っており、サブドメイン毎の証明書設定を行っておりました。

以前のSynologyでWEBサーバを設定し、証明書を行う際の記事:
Synology WEBサービス公開方法(独自ドメインサイト追加)

公式サイトより

What's New in DSM 6.2.3

11. Added support for Let's Encrypt wildcard certificates for Synology DDNS.
「Synology DDNS向けに、Let's Encrypt ワイルドカード証明書サポートを追加」

https://www.synology.com/ja-jp/releaseNote/FS6400?utm_source=eNews&utm_medium=email&utm_campaign=202005%20Monthly%20eNews%20-%20Global

 

ディープラーニング NVR DVA3219

実はニーズドンピシャの商品。
SynologyのNASにGeforceが搭載され、まさに機械学習が画像検出向けの製品です。

私自身は、Synologyがデータ保管に、情報発信。
機械学習などは、NVIDIAのJetsonやRaspberry PiとIntel NCS2を利用したシステムを組んでいるので、このNVR DVA3219がうまく利用出来れば、全てを賄うことが出来ます。

NAS + 推論マシン = NVR DVA3219

しかも、しっかりとしたGPUなので、ネットワークカメラのみをエッジデバイスとして配置し、集中したシステム管理ができそうです。

自由度が分かれ目

ライトユーザーで、そのまま監視カメラを利用するには、ハードがオーバースペックで割高を感じると思います。逆に、どこまで自由にNAS OSをユーザーに触らされるかで、新しいフレームワークなどが日々現れる人工知能などの分野のユーザーが満足出来る製品なのか、難しい部分。
やはり、ライトユーザー狙いでないと、自作系には価格にも勝てないので、私はこの製品のターゲットからずれているのかなと感じております。やはり、色々自分もカスタマイズして、機械学習などの旨味を出来る範囲で、最大限に味わいたい。

高めの価格設定

非常に面白い商品構成、今後ベアボーンなども類推デバイスとして、GPU搭載などが出てくると予想される、その火付け役となってほしいです。
まだまだ、試行錯誤の機械学習や人工知能分野、パッケージ化などはもう少し先でしょうか?やはり、プラグイン感覚で、どんどん出来ることが増えていくのでしょうか?どんなプラットフォームがデファクトとなるのでしょうか? 実は、5G+スマホだったり!?

Synology ディープラーニング Network Video Recorder DVA3219 HDD非搭載モデル【在庫目安:お取り寄せ】| カメラ ネットワークディスクレコーダー ネットワークビデオレコーダー 監視 録画 ネットワークカメラ

 

 

 

Synologyを用いたWEBサーバーへのサイト追加

前提

Synologyでドキュメントルート、外部公開設定

WEB公開するフォルダ(ドキュメントルート)作成と、登録するドメイン名を登録します。
「Web Station」の「仮想ホスト」より「作成」ボタンより、Virtual Hostの新規追加を行います。

「ドキュメントルート」設定項目の「検索する」ボタンより、表示される設定画面より「フォルダの作成」ボタンを押し、新規作成するフォルダ名を登録します。

新規サイトに Synology 無料SSL証明書導入(Let’s Encrypt)設定

「コントロールパネル」の「セキュリティ」を選択します。

「セキュリティ」画面より、「証明書タブ」を選択し、新規サイトの証明書を追加します。

SYNOLOGY シノロジー DiskStation DS218j デュアルコアCPU搭載多機能パーソナルクラウド 2ベイNASキット DS218j[DS218J]

固定グローバルIPの逆引き設定 GMOトクトクBB固定IPアドレス向け

グローバル固定IP向け Synology DNS サーバー構築

せっかくの固定グローバルIPアドレス、逆引き設定無料も後押しして、利用を開始した、GMOとくとくBB固定IPアドレスサービス。
設定完了しましたの以下メールを受けて、SynologyでDNS設定を行いましたが、逆引き出来ません。

実際には、以下、メールが届きました。
逆引きゾーン設定には、「SUB15.189.241.202.in-addr.arpa」をゾーン名に指定するように記載があり、1IPの逆引き設定は、プロバイダ側で逆引きIPをcnameしているのかなと興味深く見ておりました。

─[GMOとくとくBB]────────────────────-

   【 固定IPアドレス逆引き設定 完了のお知らせ 】   

------------------------------------------------------------
お心当たりのない場合はGMOとくとくBBお客様センターまで
お問い合わせください。
------------------------------------------------------------

いつもGMOとくとくBBをご利用いただき、誠にありがとうございます。
この度、下記の内容にて、固定IPアドレス逆引き設定が
完了しましたので、ご確認をお願いいたします。

──────────────────────────────
■ お申込みサービス
──────────────────────────────
  固定IPアドレス逆引き設定(サブアロケーション設定)
──────────────────────────────
■ 逆引きzone名
──────────────────────────────
SUB15.189.241.202.in-addr.arpa

※上記逆引きzone名にてお客様のDNSに設定をしてください。
 お客様のDNSの設定はサポートを承ることはできません。
――――――――――――――――――――――――――――――
■お問い合わせ
――――――――――――――――――――――――――――――
GMOインターネット株式会社
GMOとくとくBB お客様センター

 営業時間: 平日10:00-19:00
 電話番号: 0570-045-109

※自動音声の案内にしたがってお進みください。

 技術窓口:「1」をご選択ください
 事務窓口:「2」をご選択ください

SUBから始まる逆引きZone名

結論から申しますと、PTR設定を見直す必要がありました。
(IPアドレスの最後).SUB--(逆引きZone名)-- のPTRレコードが必要。

固定IPアドレス、aaa.bbb.ccc.xxの逆引きゾーン名SUBxx.ccc.bbb.aaaに対して、xx.SUBxx.ccc.bbb.aaaのPTRが必要。

SUBから始まるIP逆引きゾーンファイル

最終的な、ゾーンファイルです。(Synologyよりエキスポートしました)

$ORIGIN SUB15.189.241.202.in-addr.arpa.
$TTL 86400
SUB15.189.241.202.in-addr.arpa. IN SOA ns.miki-ie.com. webmaster.miki-ie.com. (
	2019092203
	43200
	180
	1209600
	10800
)
15.SUB15.189.241.202.in-addr.arpa.	86400	PTR	ns.miki-ie.com.
15.SUB15.189.241.202.in-addr.arpa.	86400	PTR	www.miki-ie.com.
15.SUB15.189.241.202.in-addr.arpa.	86400	PTR	miki-ie.com.
SUB15.189.241.202.in-addr.arpa.	86400	NS	ns.miki-ie.com.
SUB15.189.241.202.in-addr.arpa.	86400	PTR	ns.miki-ie.com.

SUBから始まるIP逆引きのPTR設定(SynologyのDNS設定画面)

固定IPアドレス逆引きnslookup実行結果




TP-LINK TL-ER6020でのNAT構成

PPoE2セッション構成とし、NAT可能なWANポートを2つへと構成変更を行いました。
今までのネットワーク構成は、以下のようにNAT可能なPPoE接続は1セッションであったので、Synology の外部サーバー公開とRaspberry Piの外部サーバ公開は、外部向け公開ポートを分けて、アクセス/処理の振り分けを行っておりました。

ダブルWAN構成(PPoEの2セッション構成)

TP-Link の TL-ER6020は複数WANポートをサポートしているので、このような構成でのNATも簡単に設定出来ます。今回利用しておりませんが、WAN1とWAN2両方で、WEBリクエストの着信を待ち、公開サーバーへフォワードすることも可能です。

以下が、ER6020のVirtual Server(NAT)設定となります。

  • Synology ポート80(http) WAN2を利用
  • Synology ポート443(https) WAN2を利用
  • Synology ポート53(DNS) WAN2を利用
  • Raspberry Pi ポート80(http) WAN1を利用
  • Raspberry Pi ポート443(https) WAN1を利用

TP-Link VPNルーター PPTP L2TPVPN TL-ER6020

Synology で外部向けDNS構築

固定グローバルIP向けに自前のDNSサーバーをSynologyを用いて構築します。
実際にDNSを利用するには、以下の設定変更が必要です。

正引き:ドメイン管理会社へのDNSサーバー登録
ドメイン総合サービス【VALUE-DOMAIN】でのDNSサーバーの設定
逆引き:IP管理会社(インターネットプロバイダ)へのDNSサーバー登録
GMOインターネットへのIP逆引きの設定変更依頼

Synology へDNSサーバーをインストール

SynologyのパッケージセンターよりDNS Serverをインストールします。

DNSサーバーの設定

正引き(www.miki-ie.comよりIPアドレス)および逆引き(IPアドレスからドメイン名www.miki-ie.com)を設定します。

正引き(www.miki-ie.comよりIPアドレス)設定

教科書どおりに、nsホスト名をAレコードで設定し、CNAMEで他利用したいドメインを設定しております。
実際には、正引きはドメイン総合サービス【VALUE-DOMAIN】のDNSサーバーを用いて運用しております。可用性を考え、すぐにバックアップ回線でのインターネットからのアクセスが可能となるように。更に、固定IPでの運用ですが、SynologyのDDNSの設定は、そのままにしております。デフォルトゲートウェイなど外部IP変更時には、DNSのIPアドレス変更が行われます。

逆引き(IPアドレスからドメイン名www.miki-ie.com)設定

逆引きのゾーン名ですが、利用するIPアドレスを逆から記載し、「.in-addr.arpa.」を加えたゾーン名となります。
IPアドレスが、「202.241.190.15」の場合は、逆から記載し「15.190.241.202」+「.in-addr.arpa.」となります。

202.241.190.15 の場合、

15.190.241.202.in-addr.arpa.

がゾーン名

SynologyのDNSサーバを外部公開(NAT設定)

TP-Link TL-ER6020でのVirtual Servers(NAT)設定の例となります。SynologyのIPアドレスのポート53を公開します。

今回出てきた製品や関連サービス

SYNOLOGY シノロジー DiskStation DS218j デュアルコアCPU搭載多機能パーソナルクラウド 2ベイNASキット DS218j[DS218J]



TP-Link VPNルーター PPTP L2TPVPN TL-ER6020

SynologyのphpMyAdminセッションタイムアウト変更

phpMyAdminの設定ファイル「config.inc.php」を変更します。
具体的には、「config.inc.php」の最終行に、設定したいタイムアウト値を秒指定で登録します。
$cfg['LoginCookieValidity'] = 86400; //タイムアウト24時間と設定する場合

@Synology:~$ sudo vi /volume1/web/phpMyAdmin/config.inc.php
Password:
@Synology:~$ tail /volume1/web/phpMyAdmin/config.inc.php
* default = 'ask'
*/
//$cfg['SendErrorReports'] = 'always';

/**
* You can find more configuration options in the documentation
* in the doc/ folder or at <https://docs.phpmyadmin.net/>.
*/
$cfg['LoginCookieValidity'] = 86400; //24時間

初期検討時のシステム構想

機械学習どころか、プログラム言語Pythonも全く初めて、Raspberry PiやWEBカメラなどインフラ関係も知識なし。

めざましじゃんけん結果

WEBからの情報などで、こんな感じにしたいと思い描いたのが以下のシステム構想。

一般的なGeForce(GeForce GTX 960)ビデオカード搭載のWindowsメインマシン(Intel Core i7-6700 CPU)で機械学習・ニューラルネットワークを用いた学習モデルの作成。作成した学習モデルをRaspberry Pi 3
Model B+ へ移動し、Raspberry Piで画像検出を実施。

Raspberry Piでの画像検出結果により、じゃんけん結果をDBへ蓄積。蓄積したDBデータより、めざましじゃんけんの結果をホームページと速報としてTwitterで公開。

当初画像認識と画像検出の違いも分かっておらず、書籍などで紹介されていた画像認識を駆使したシステムを構築しようとしておりました。画像認識を試した時点ではRaspberry Piで処理可能に感じました。
画像認識・・・対象がアップ(画像一面)になっている画像の判定を行う
画像検出・・・対象が写り込んでいる画像より、対象を画像検出する

第一は、技術習得が1番のモチベーションであった、予期しないカメラのズレなどを考えても、画像検出のほうがシステムの安定稼働を望めるので、画像検出実装へ方針転換しました。実際には、画像認識は1日で実装出来たのですが、うまく動作せず、画像認識対象部分の画像切り取りなど、決め打ちの方式しか思いつかず、そうそうに画像検出に方針転換しました。他にも転用出来る素晴らしい技術に出会えたと思います。(Darknet、YOLO、Open CV、Python、DNN、ニューラルネットワーク)

V1での妥協と実装方式

本当は、リアルタイムでの画像検出を実装する予定でした。時間指定で動作するシステムよりもテレビさえ動いていれば、じゃんけんのスタートを自動検知し、結果を漏れなく収集するシステムを構想しました。
しかし、Raspberry Piの処理速度・信頼性より断念しました。画像検出中のRaspberry Piの発熱量など。
よって、V1ではめざましじゃんけん結果の判定の画像検出は、メインのWindowsマシンで実行しております。
めざましじゃんけんのみに特化して考えると、OpenCVの画像処理を駆使すれば軽くて高速なフィルタ作成も可能かなと考えています。

V1機能一覧と実装

機能名実装
画像検出フレームワーク準備学習データ収集Raspberry PiとWEBカメラで、めざましじゃんけん実施時の画面キャプチャー取得
学習データ整理メインのWindowsマシンで実施。
LabelImgで学習したい内容のラベル登録
学習メインのWindowsマシンでDarknetを用いて実施。
システム起動TV起動Raspberry PiよりNature Remo経由で実施。
TVチャネル変更Raspberry PiよりテレビREGZAのWEB APIを用いて実施。
じゃんけん時の「青」「赤」「緑」ボタン操作もRaspberry PiよりWEB APIを用いて実施。
メインマシン起動メインマシン(Windows)の起動をRaspberry Piより実施
画像検出画像蓄積Raspberry PiのWEBカメラを用いて目覚ましテレビの画像をキャプチャー
画像移動Raspberry PiでキャプチャーしたデータをWindowsのメインマインに移動
画像検出Windowsマシンで画像検出を実施。
検出結果結果をDB登録Windowsマシンより画像検出結果をSynology NASのSQL DBへ登録
情報発信WEBコンテンツSQL DB情報よりWEBコンテンツの更新。Synologyで実施。
Twitter発信WEBコンテンツ更新と同じタイミングでTwitter発信を実施。処理はSynologyで実施。