Synology NAS DS216j の 2.5GbE 対応化を行ってみました

Network

Mac Studio が 2.5GbE に対応していたので、それなら NAS も 2.5GbE にできたら快適になりそうに思って調べてみたところ、今に使っている DS216j でも対応できそうなことを知って試してみました。


使用している Mac Studio のデータのバックアップを Time Machine 機能で NAS に取ってみたときに、 現実的ではあるにしてもそれなりに時間がかかったことがありました。

使用している NAS は Synology DS216j という機種で、通信速度は 1Gbps と 時点では一般的に不自由のしない速度、待っていれば済むし、バックアップを1回取れればあとはほとんど気にならない時間になるはずなのでそれでも良かったのですけれど、調べてみると非公式ながらも 2.5Gbps 化を図れるらしいことを知って、せっかくなので試してみることにしました。

Synology 非公式の 2.5GbE 対応

Synology DS216j を 2.5GbE に対応させる方法は、Synology 社的には非公式ながらも、ネットワーク機器のメーカーで有名な PLANEX 社から Synology NAS を USB 有線 LAN アダプターで 2.5GbE 化 という題目で記事が公開されていました。

PLANEX 社の Web ページなので PLANEX 製の機材を使った対応化が綴られているのは自然として、 それに加えて今回の対応では bb-qq さんによって個人開発されている デバイスドライバー を手作業でインストールする必要があるようです。

必要機材

MacStudio 自体は 10Gb Ethernet (1Gb, 2.5Gb, 5Gb, 10Gb) に対応しているとのことなので、今回に必要となるのは NAS 用の 2.5GbE 対応イーサーネットアダプターと、通信経路として使うイーサーネット HUB の 2.5GbE 対応化くらいになりそうです。

2.5GbE 対応 Ethernet アダプター

用意した 2.5GbE 対応イーサーネットアダプターは、PLANEX 社による 2.5GbE 対応化方法のページで挙げられている Planex USB-LAN2500R を使うことにしました。

他のメーカーでも使えるかもしれない 2.5GbE 対応イーサーネットアダプターがありそうでしたけれど、今回は最適なドライバーを入れる作業が必要なことも考えると、イーサーネットアダプターの製造メーカーが公表している記事の中に登場する機材が無難そうな気がして、これにしてみました。

このほかにも似ているものとして Planex USBC-LAN2500R という 製品もありましたけれど、こちらは記事の中に具体的な記載がされていないのと、そもそもこちらの製品は USB-C 接続なので、今回は選ばないことにしました。2.5GbE 対応化を図ろうとしている Synology NAS DS216j の USB ポートは Type-A なので、 わざわざこちらの製品を変換コネクターを使って接続するよりは Planex USB-LAN2500R を選んでおくのが妥当に思えます。

DS216j を 2.5GbE 対応化するための準備

NAS の OS バージョン確認

NAS の OS バージョンによってインストールするドライバーが変わってくるそうなので、まずはその確認からしてみました。

Synology DS216j にログインして コントロールパネル の 情報センター で確認してみると、現在使用している OS は DSM 7.1.1-42962 Update 1 であることが確認できました。

NAS が搭載している CPU の種類

NAS の CPU に何が使われているかによってもドライバーが違ってくるとのことなので、そちらについても調べてみました。

CPU の種類については、Synology 公式の ナレッジセンター にも一覧で記載があるようでしたけれど、先ほど OS のバージョンを確認するときに見た コントロールパネル の 情報センター のところにも明記されていました。

それによると、自分が使っている Synology DS216j は MARVELL Armada 385 88F6820 という CPU が搭載されているようです。

SSH の有効化

OS が DSM 7.x 系の場合はドライバーのインストールを行う際に Synology DS216j に SSH 接続する必要があるとのことなので、あらかじめ SSH を有効化してリモート接続可能にします。

Synology DS216j のデスクトップにログインして、コントロールパネル の 端末と SNMP から SSH サービスを有効化する。 にチェックを入れて 適用ボタン をクリックします。

IP アドレスの確認

SSH でリモートアクセスを行なう際には、接続先として使う Synology DS216j の IP アドレスも必要になってくるので、それについてもここで確認しておきます。

これについては コントロールパネル の ネットワーク から ネットワーク インターフェイス タブを選択すると確認できます。ここから接続に使えそうな IP アドレス、例えば LAN に割り当てられている IP アドレスを覚えておきます。

デバイスドライバーのダウンロード

デバイスドライバーは、今回は bb-qq さんが個人開発された デバイスドライバー の中から、自分の環境に適したものを入手します。

今回は NAS の OS が 7.x 系で、CPU の種類が Armada 385 なので、現時点でのプレリリースではない最新版である 2.16.3-1 DSM7.x から、r8152-armada38x-2.16.3-1.spk をダウンロードすることにしました。

もしかすると、Synology DS216j で DSM 7.1.1-42962 Update 1 を使っているときは、現時点ではプレリリース版の 2.16.3-2 DSM7.x を使った方が安定するかもしれません。

デバイスドライバーの保存先

ダウンロードしたデバイスドライバーは、DS216j にインストールする際にブラウザーで接続したパソコンのローカルフォルダーから指定することになるようです。DS216j 内に置いておく必要はないため、自分の Mac に普通にダウンロードしておけば大丈夫でした。

DS216j の 2.5GbE 対応化を実施

ここまでの準備が済んだら、いよいよ Synology DS216j に Planex USB-LAN2500R をインストールしていきます。

NAS の OS が DSM 7.x 系の場合、ドライバーパッケージのインストールは初回が失敗するとのことなので、今回は最終的に2回のインストールを行うことになりそうです。

ドライバーパッケージのインストール(1回目)

まず、DS216j のデスクトップにログインして パッケージ センター を開きます。

ここで 手動インストールボタン をクリックすると、インストールしたいパッケージを Mac 内のフォルダーから選択できる画面になるので、ここで先ほどダウンロードしておいたドライバーファイル、今回であれば r8152-armada38x-2.16.3-1.spk を指定します。

そうして手順を次に進めると、次のような警告メッセージが表示されました。

このパッケージはサードパーティの開発者によって提供されているため、Synology によって検証されていません。

このドライバーの使用によって何か損害が発生しても Synology 社は責任を負わないことが強調された通知がされるので、それで問題なければ 同意するボタン をクリックしてインストールを続行します。

デバイスドライバーの詳細

同意すると、インストールしようとしているデバイスドライバーの情報が表示されました。 今回は次の情報が登録されたドライバーをインストールしようとしているようです。

項目 値
パッケージ名 RTL8152/RTL8153 driver
最新オンライン バージョン 2.16.3-1
開発元 bb-qq
説明 Realtek RTL8152/RTL8153 Based USB Ethernet Adapters driver.

インストール失敗(想定通り)

これでインストールを完了させると、失敗したことを示す次のメッセージが表示されました。

パッケージのインストールに失敗しました。

そうしたら OKボタン を押して、引き続き Synology DS216j にリモート接続して、設定の調整を行なっていきます。

このとき、ドライバーのインストール画面はまだそのまま表示された感じになっています。これはそのまま残しておくと、次の SSH 手順が終わった後の再セットアップがすぐに行えるので、閉じないでおくと便利です。

SSH 経由で初回インストールの失敗対応

たとえば Synology DS216j に割り当てられている IP アドレスが 192.168.1.254 で、普段のログインで使用しているアカウント名が kumagai だった場合には、Mac からならターミナルアプリを開いて次のようにすることで、NAS への SSH 接続を行えました。

ssh -l kumagai 192.168.1.254

SSH でログインできたら、次のコマンドを実行して、初回インストールの失敗対応を行います。 実行すると管理権限のパスワードを求められるので、ログインに使用したのと同じパスワードを再度入力します。

sudo install -m 4755 -o root -D /var/packages/r8152/target/r8152/spk_su /opt/sbin/spk_su

上手くいけば何もメッセージが表示されることなく、コマンドの実行が終了します。そうなれば SSH での作業は終了です。ここでもし /var/packages/r8152/target/r8152/spk_su が見つからないなどのメッセージが表示された場合は、ドライバーパッケージの初回セットアップをまだ行なえていないかもしれません。

なお、ここで指定しているコマンドは、次の意味があるようでした。

表記 意味
sudo 続くコマンドを管理者権限で実行するコマンド
install Synology DS216j に組み込まれているインストールコマンド
-m 4755 使用するパーミッションモードを 4755 に指定(既定では rwxr-xr-x = 755 らしく、それに SUID が追加されたモード指定)
-o root 所有権を root とする
-D インストール先に必要なディレクトリの自動作成を指定している様子
/var/packages/r8152/target/r8152/spk_su インストール元のディレクトリを指定している様子(最初のパッケージインストール時に作られている)
/opt/sbin/spk_su インストール先を指定している様子

ドライバーパッケージのインストール(2回目)

SSH での操作が終わったら、改めてドライバーパッケージのインストールを行います。

初回インストールで失敗したときに残しておいた 設定の確認 画面を使うと、単純に 完了ボタン を押すだけで、再インストールが行われ、今度は無事にインストールが完了します。

初回インストールのときの画面を閉じてある場合は、改めて 手動インストールボタン ボタンから、ダウンロードしたパッケージを選択します。

インストール完了後の確認事項

これら一連の操作を通して、Synology DS216j への Planex USB-LAN2500R のインストールが完了しました。

正常にインストールできているかの確認と、インストールの途中で行った SSH の無効化作業を行なっておきます。

LAN アダプターとして認識されているかの確認

デバイスドライバーがインストールされると、DS216j から認識されるようになります。

これについては コントロールパネル の ネットワーク から ネットワーク インターフェイス タブを選択することで確認できます。

通信速度もここで確認できるようになっていて、先ほどセットアップした Planex USB-LAN2500R が適切に動作していて、さらに接続先が 2.5GbE 対応のイーサーネット HUB であれば、ここに 2500 Mbps と表示されます。

デバイスドライバー製作者のページを見ると、ネットワークインターフェイスの MTU 値を 9000 にするのがオススメと記されていたので、ここでついでに設定を調整しておくと良いかも知れません。

SSH の無効化

デバイスドライバーのインストールが終われば、ひとまず SSH 接続でリモート接続する必要はなくなるので、安全のため無効化しておきます。

Synology DS216j のデスクトップにログインして、コントロールパネル の 端末と SNMP から SSH サービスを有効化する。 にチェックを外して 適用ボタン をクリックしておきます。

正常に動作しなかった場面

これまでのやり方で、ひと通り適切に Synology DS216j の 2.5GbE 対応化ができたようなのですけれど、セットアップ完了直後にだけ上手く動いてくれないことがあったので、その辺りをここに記しておきます。

再起動時にデバイスドライバーが停止

セットアップを終えて最初に、新しい 2.5GbE インターフェイス経由で Synology DS216j の管理ページに アクセスしようとしたらできなかったことがありました。

コントロールパネルで確認する限りでは設定自体は正常そうで、IP アドレスも正しく設定してある感じだったので、念のため Synology DS216j を再起動させてみたところ、ドライバーパッケージが自動起動してくれなくて、ネットワークアクセスができなくなったことがありました。

Synology DS216j 本体に標準装備されている LAN ポートには影響なくて、そちらに LAN ケーブルを接続して従来通りに管理ページにアクセスしてみたところ、先ほどインストールしたデバイスドライバーのパッケージが 手動停止 の状態でストップしている様子でした。

復旧自体は簡単で、パッケージマネージャーから手動で 実行ボタン をクリックすることでドライバーパッケージが実行されて、Planex USB-LAN2500R がネットワークインターフェイス認識されるようになりました。

なお、コントロールパネルにはすぐには反映されない様子で、認識されたことを画面で確認するには、コントロールパネルウィンドウを開き直す必要がありました。

さらに再起動しても大丈夫な様子

インストール直後でたまたまシステムの状態がおかしかっただけなのか、正常に戻した後は Synology DS216j を再起動させても、ちゃんと最初から Planex USB-LAN2500R が認識された状態で起動してくれるようになりました。

IP アドレスが設定されない

2.5GbE インターフェイスを認識できるようになっても、まだ上手く管理ページに接続できない状況だったことがありました。

コントロールパネルで設定をみる限りは IP アドレスも正しく設定されている様子なのに見つからなかったため、SynologyAssistant アプリで自動検出してみたところ、IP アドレスが空欄のままで Synology DS216j が見つかりました。この状態で管理ページにはアクセスできないのにファイル共有に接続できるのは、おそらく IPv6 であれば問題なく通信できているのかもしれません。

原因はハードウェアでの電源 OFF かも

可能性を探ってみると、もしかすると Synology DS216j の管理ページから再起動する限りは問題なくて、DS216j 本体の電源ボタンで OFF → ON にしたときに、2.5GbE 側のネットワークインターフェイスが正しくスタンバイできなくなるのかもしれません。

そしてこのとき、IP アドレスの指定が 固定 IP にしてあるときにこの問題が起こりそうです。試しに DHCP による自動取得にしてみたところ、Synology DS216j を再起動させても IP アドレスが正しく設定される様子でした。

OS とドライバーのバージョン

なお、この固定 IP だと起動時に上手く設定できない問題は、もしかするとデバイスドライバーのバージョンと OS のバージョンとの相性かもしれないので、この問題に遭遇した場合は 現在ではプレリリース版として公開されている 2.16.3-2 DSM7.x を試してみるのも良いかもしれません。

インストールし直す場合は、パッケージを手動インストールして成功した上で、新規インストールの時にも実行した次のコマンドを改めて SSH から実行してあげれば良い様子でした。

sudo install -m 4755 -o root -D /var/packages/r8152/target/r8152/spk_su /opt/sbin/spk_su

ネットワークインターフェイスの準備時間

それともうひとつ、2.5GbE ネットワークインターフェイス自体がスタンバイするまでの時間も 少しかかる様子でした。

Synology DS216j を起動させると、しばらくして起動の完了を知らせるビープ音が鳴りますけれど、それがなってから数分くらいは 2.5GbE インターフェイスを Synology Assistant ツールで見つけられないことがありました。

これについてはしばらくそのまま放っておけば準備が整う様子なので、使えるようになるまでに少し時間がかかるものと思っておけば良さそうです。