見出し画像

QNAP NASの1Gbps有線LANx2とWindowsPCを2Gbpsで通信する方法



ことはじめ

ファイルサーバ(NAS)は1G接続のケーブルが2本ある。(=帯域幅2Gbps)
WindowsPCは、USB3でNICが増やせる。
1GbpsNICを増設すれば、1Gx2で帯域幅2Gbpsにできそう。

WinPCからエクスプローラで、SMBネットワークドライブでNASに接続。
でも、シーケンシャルファイルの転送速度は最大1Gbps…
WANは1Gbps契約で増やせないけど、LAN内だけでも2Gbps通信できんか?

なんとかインチキできんのか?

…もしかして、LAGを使えばなんとかなんじゃね?
確か、負荷分散だけでなく、束ねて速度出す方法もあったはず…?
(※大昔、NW機器の組み込み屋をやってた時に聞きかじった情報)

…というわけで、ピッタリバッチシの答えを書いたサイトが見つからないので、拙者が行った方法を、備忘録を兼ねてここに公開することにしました。
(NW屋さんじゃないので、細かいところ間違ってたらごめんね)

全ての環境で上手くいくとは限らないので、試す場合は自己責任で!


前提(拙者の環境)

ファイルサーバ(NAS)

  • QNAPのNAS

    • 1Gbps LANケーブルが2本以上生えてる機種

    • QTS 5.1以上(※必須)

    • 拙者が使ってるのは「TS-431K」(の無印)です


クライアントPC

  • クライアントPCはWindowsマシン

    • Win10(x64) Proで確認(11は現時点で持ってないので未確認)

    • 拙者が使っているのは、「ThinkPad25」です

      • 7列ノンアイソレーションキー最後の機種…(2024/2時点)

      • 販売終了してますが、中古美品を見つけたら即買いましょう

  • NIC(RJ45ポート)が2本必要

    • 1本はIntel製(※本文書記載方法では必須)

      • 我が家はThinkPad25(Core i7-7500U)マザー搭載NIC

    • もう1本はUSB3接続のRealtek製(蟹)

      • 以下で動確済み

        • RTL8153(1G USBNIC)

        • RTL8156B(2.5G USBNIC。1Gbpsリンクで使用)

      • Aquantia製NICは(Intelとのチーミングでは)認識しませんでした

      • ASIX(NintendoSwitch用NIC)は未確認

      • 拙者が動確したのは以下のNIC()です。

        • 2.5GbE(ORICOのUSB-Cドッキングステーションの一部)は、Amazonで同一機種が終売しているため、リンク先製品のチップが同じかどうかわかりません…(TypeAの1ポートがTypeCになってる機種でした)


スイッチングハブ

  • 動的LAG(LACP/IEEE802.3ad)対応の1Gbps L2スイッチ
    静的LAGだと2Gbpsにできません

    • ELECOM EHB-SG2B08-PLで確認

      • 2024年2月時点で、1万前後で入手可能です

    • 動作未確認ですが、NETGEARのスマートスイッチ以上だと動的LAGが入ってるっぽい?

      • TP-Linkだと、1万くらいの価格帯までは静的LAGまでしか入ってないので使えません

    • ELECOMのL2SWは以下です。

上記はあくまで拙者の使っている環境ですので、同等の機能があれば、実現可能…かもしれません。


具体的には…こうしたいんじゃぁー!!!


これらの設定を、以下で説明します。

QNAP NAS(QTS)の設定

  1. QTSを5.1以上にアップデートする(必須)
    5.1未満だとSMBマルチチャネル(後述)が設定不可

  2. コントロールパネル→「ネットワークと仮想スイッチ」を開く

  3. ポートトランキング設定があれば無効化する
    ポートトランキング状態だと高速化しません
     
    ※LACP可能な機種なら、トランキングでも動くかも?(未確認)

  4. 各々のGbEポートに、同一セグメントかつ別の固定IPアドレスを振る
    →例:192.168.55.1, 192.168.55.2 とか(※netmask=/24とかの場合)
    →WinからIP指定でアクセスするために実施
    →VLANとか使えばもっとスマートに出来るかも…?
    →ついでに、各アダプタのMTUを9000にすると良さげ

  5. コントロールパネル→「Win/Mac/NFS/WebDAV」→「Microsoftネットワーク」タブを選択

  6. 「SMBマルチチャネルを有効にする」に☑を入れる

  7. 「SMBマルチチャネル設定」のリンクをクリック
    →この項目の説明文の途中にあります(※QTSverによって変わるかも)

  8. 「手動」を選択し、GbEポート全てに☑を入れて「適用」押下

手順5.~7.の画面
手順8.の画面

L2スイッチ(スイッチングハブ)の設定

  1. NASからのLANケーブル2本(Cat6Aくらい)を接続

  2. PCからのLANケーブル2本(規格は同上)を接続
    →これは後回しでも良いかも

  3. 2.のポートに対して、LACP設定を行う
    →ELECOM EHB-SG2B08-PL の場合「トランキング」の「Active」
    →2.の2ポートに☑を入れ、同じグループに入れる
     自動でActiveを選択すると動的LAG(LACP)となる
    →L2SWによってはLACP/IEEE802.3adか否か(静的LAG)の選択があるかも
     前者(LACP)を指定してください。

  4. NASのMTUを9000に設定&L2SW側に設定項目がある場合、同様に9000を設定しましょう
    →NAS-L2SW-WinPCのNIC全てが9000以上に対応してるならその値で。
     (以降も同様)


クライアントPC(Win)

NICの準備

内蔵IntelNICは、先ほど設定したLACP設定L2SWポートの片方とLANケーブルで接続します。

もう一つのRealtek(蟹)チップの入ったNICもPC or PC接続USBハブのUSB3ポートに挿し、Intel同様、先ほど設定したLACP設定L2SWポートのもう1ポートとLANケーブルで接続します。
USBNICの場合、給電対応のデータ転送ポートのほうが動作が安定します。
(※当然ながら、給電専用ポートだと動きません。データ転送対応は必須

NICにドライバが付いていれば入れましょう。(勝手に入るかも)
ドライバのバージョンがあまりに古ければ、チップ名で検索して最新ドライバに更新しましょう。

Intelの内蔵NICは既にドライバが入ってるはずですが、古ければ次の手順で更新されます。

Intel製チーミングソフトの準備

Intel製のNICともう1本のNICをチーミングして、帯域を増やすソフトです。
以下からコンプリートドライバーパックをダウンロード・インストールします。
ファイルサイズがデカいですが、ほぼ全部入り&チップを自動判別するので、これを使えば間違い無いと思います。
展開フォルダの APPS\PROSETDX\Winx64\DxSetup.exe をダブルクリックして「インテル アドバンスド ネットワーク・サービス」をインストールしてください。(同時に、使用IntelNICの最新ドライバも入ります…たぶん)

Intel製チーミングソフトの設定

  1. Intel PROSet Adapter Configuration Utility を管理者権限で起動
    →アイコンを右クリックし、「その他→管理者として起動」
    →デスクトップアイコンの場合「プロパティ→互換性→管理者~」に☑

  2. 左側にIntelとRealtekのNICが表示されていることを確認
    表示されていないNICはチーミングできません

  3. 左側でIntelNICを選択した状態で、右側「チーム化/VLAN」タブを開く
    →Intel以外のNICを選択しているとチーミング項目が出ません

  4. 「チーム化」項目「チーム」行の「チームの作成」ボタンを押下

  5. 「チームに含めるアダプター」で、もう1本のNICに☑を入れて「次へ」
    チームに最低一つはIntelNICが必要です

  6. チームに任意の名前を付け、タイプ「802.3ad 動的~」を選択し「次へ」

  7. プライマリとセカンダリに5.で選択したNICを選択し「完了」
    →プライマリIntelのほうが安定する気はしますが、Realtekのほうが性能が出る、という情報もあります…ここは状況に応じて試してください

  8. チーム化/VLAN画面で、10秒くらい待って渦巻きボタン(更新)押下
    →最初はNICが「非アクティブ」「スタンバイ」等と表示されます
    →10秒くらい待って表示更新すると9.の表示に変わるはずです

  9. 右側の情報にチーム名と動的LAG、各NICが「アクティブ」なのを確認

あと、NAS/L2SWのジャンボフレーム値を9000に変えてる場合、NICの「詳細設定」で、ジャンボフレーム(ジャンボパケット)の値を「9014」に変えましょう。(※9KB上限の場合)

手順2.~4.の画像
手順5.の画像
手順6.の画像
手順7.の画像
手順8.~9.の画像

効果のほどは…?

WindowsエクスプローラからNASの片方のIPを指定して接続し、シーケンシャルファイル(数GB~十数GBレベルのファイル)を連続で転送すると、途中から顕著に速度差が出ます。

最初は1Gbps(110MB/s前後)で一度頭打ちになり、そこから1~2秒で転送速度が上がりだし、最終的に2Gbps(220MB/s前後)で安定…という感じです。

こんな感じで転送速度が上がります

この方式が秀逸なのは、ReadだけではなくWrite速度も2倍になること。
これが実に大きいのです。
TS-431Kの場合、USBの5GBNIC(QNA-UC5G1T)で通信しても、Readは速度が出るのにWrite速度は1.4Gbps?程度で頭打ちになる(あと、このNIC自体が不安定で頻繁に通信途絶する)のですが、この方式であればPC→NASへのWrite時間が大幅に短縮できます。

↓あんまりオススメできませんが、じゃじゃ馬を乗りこなせる自信のある方はどうぞ。(QNAP NAS対応の5GbpsUSBNIC)

なお、前述のとおり「本気を出すまで少し時間が掛かる」方式なので、小さいファイルを大量に転送する用途だと、あまり実力が発揮できないかもしれません。


Tips

チーミングしたNIC/チーム情報が消せない場合

チーミング状態でNICのドライバ更新等を行った場合、IntelのUtilityがエラーを出したり、NICに中途半端なチーミング情報が残る場合があります。
その場合、以下の操作をお試しください。

  1. コントロールパネル→ネットワークと共有センター→左側「アダプターの設定の変更」をクリック

  2. チーミングが解除できないアダプタを右クリック→「プロパティ」

  3. 「構成」ボタンをクリック

  4. 「ドライバー」タブ最下部「デバイスのアンインストール」を押下

  5. 「このデバイスのドライバーを削除」は☑を入れずにOK
    →ドライバを残すので、6.以降で再認識できる

  6. 該当NICのLAN(USBNICの場合はUSB)ケーブルを抜き差し

  7. チーミング無しの状態でアダプタが認識されればOK

NASの接続先IP(プライマリ)を逆にしたい

L2SWに接続したNAS側LANケーブルの片方を抜き差しすることで逆にできます…たぶん。
ここはVLAN使って束ねればもっと楽にできそう…(ぼちぼち調べます)

Intelのソフトを使わない方法…?

Intel PROSet~のユーティリティは当然IntelNICありきなんですが、他のNICでもチーミング+LACPさえ実現できれば使える可能性があります。
いくつか方法があるようなので、「チーミング」でググってみてください。

ELECOM EHB-SG2B08-PLのSFPポートをRJ45化したい

ELECOMのL2SWには、端に大きめのポート(SFP)が付いてるんですが、そこにケーブルを挿すモジュール(SFPトランシーバ)の純正品がL2SWの実売価格より高いうえ、RJ45(=普通のLANケーブルを挿すポート)がありません。(光ケーブルのみ対応) 8+2で10port使えるかと思ったのに。

…が! 人柱的にいくつか試したところ、どうも以下のRJ45モジュールが使えそうです。(※1Gbpsリンク固定)

  • MSA準拠のアンコード対応を謳ったSFP銅線トランシーバ

    • SFP+(10Gbps対応)は使えません

我が家で実際に使ってる(使えた)のは、以下の2つです。 ご参考まで。


この記事が気に入ったらサポートをしてみませんか?