ネットワーク構成

ネットワーク構成

変更前

変更前の特徴

  1. NASを構築し、データバックアップを行う

    • RYZEN 7 3700X & X570 & 332GB RAM & GeForce 1050TiのPCに、TrueNAS Communityを入れ、SMBサービスを使ってファイル共有を行い、SMB3のマルチチャネルで2Gbpsの通信速度を確保。
    • ROBOCOPYコマンドでオプションに/mirを指定しMainPCのデータを正として、TrueNASのバックアップを副として運用。
    • ROBOSOPYのオプションの/MT:4を使い2GBpsの帯域を使い切るように調整。
    • HDDによるRAID1構成のため、初期の書き込みではHDDの速度が上限となるが、2度目以降はNVMe SSDをストレージプールに追加しL2ARCによる高速化を図っている。
  2. サブPC

    • RYZEN 7 5800X & B550 & 32GB RAM & RADEON RX5700XTのPCに、Windows 11 Pro 25H2をインストールし、冷却にCorsair iCUE TITAN 240 RXを採用。

変更前のネットワーク構成図

graph TD
    subgraph "Provider"
        IO_P[FTTH]
    end

    subgraph "ONU"
        NIC_ONU[1GbE]
        IO_O[FTTH]
        IO_O <--> NIC_ONU
    end

    subgraph "Router"
        NIC_LAN[1GbE]
        NIC_WAN[1GbE]
        NIC_WAN <--> NIC_LAN
    end
    
    subgraph "Switch"
        NIC_SW[1GbE]
    end

    subgraph "Main PC (Ryzen 9 9950X3D / Radeon RX9070XT)"
        OS_MainPC[Windows 11 Pro]
        Driver[Adrenaline 2026.x.x]
        ROCm[ROCm7.x]
        ComfyUI[ComfyUI Git]
        NIC_MainPC_1[5GbE SMB MulchiChannel]
        NIC_MainPC_2[1GbE SMB MulchiChannel]
        OS_MainPC <--> Driver <--> ROCm <--> ComfyUI
        OS_MainPC <--> NIC_MainPC_1
        OS_MainPC <--> NIC_MainPC_2
    end

    subgraph "TrueNAS Community (Ryzen 7 3700X)"
        OS_TrueNAS[TrueNAS Community / ZFS]
        Storage1[HDD 4TBx2 / NVMe / RAID1]
        Storage2[HDD 3TBx2 / NVMe / RAID1]
        DataSet1[DataSet]
        DataSet2[DataSet]
        NIC_TrueNAS_1[2.5GbE SMB MulchiChannel]
        NIC_TrueNAS_2[1bE SMB MulchiChannel]
        OS_TrueNAS <--> Storage1 <--> DataSet1
        OS_TrueNAS <--> Storage2 <--> DataSet2
        OS_TrueNAS <--> NIC_TrueNAS_1
        OS_TrueNAS <--> NIC_TrueNAS_2
    end

    subgraph "SubPC (Ryzen 7 5800X / Radeon RX5700XT)"
        OS_SubPC[Windows 11 Pro]
        NIC_SubPC[2.5GbE]
        OS_SubPC <--> NIC_SubPC
    end
    
    IO_P <==> IO_O
    NIC_ONU <==> NIC_WAN
    NIC_LAN <==> NIC_SW
    NIC_SW <==> NIC_MainPC_2
    NIC_SW <==> NIC_SubPC
    NIC_SW <==> NIC_TrueNAS_2
    NIC_SW <==> NIC_MainPC_1
    NIC_SW <==> NIC_TrueNAS_1

変更後

変更後の特徴

  1. SANを構築し、データバックアップを行う

    • MainPCのオンボードの5GbEのRJ45ポートとTrueNASの増設した2.5GbEのRJ45のNICの速度を活かすため、Cat.6ケーブルを直結し、iSCSIによるSANを構築。

    • Layer7のSMBプロトコルからLayer4のSCSI on TCP/IPへ移行し、オーバーヘッドを削減。

    • フレームバッファを9000 (9014)バイトに設定。

    • この図だとオーバーヘッドが増えているように見えるが、SMBは認証、ファイル使用状況の確認などを挟み、パケットにヘッダーを追加している。

      flowchart LR
          subgraph "App (Layer 7)"
              L72[App]
              L72 <--> I70[OS]
          end
      
          subgraph "SMB (Layer 7 <-> Layer4)"
              I70 <--> S73[SMB Header / Auth / Metadata]
          end
      
          subgraph "iSCSI (Layer 4 / Block)"
              I70 <--> I40[FS / Block]
              I40 <--> I41[iSCSI / SCSI Command]
          end
      
          subgraph "TCP/IP"
              S73 <--> S3[TCP]
              I41 <--> S3[TCP]
              S3 <--> S2[IP]
              S2 <--> S1[Ethernet]
          end
    • 現在のところ連続書き込みはHDDの速度で頭打ちのため2.5GbEの性能はよく分からない。比較的大きなファイルの書き込みでは1.8Gbpsに貼り付くので、およぞ230MB/sはHDDの書き込み速度の上限だと思われる。ファイルの更新チェックなどL2ARCが利くときは一瞬で終わる。

  2. サブPC

    • SATA SSD 1TBを追加。

    • BIOSでCPUのSVMを有効にし、WSL2をインストール、WSL2にUbuntu-24.04をインストール。

    • Userフォルダーに.wslconfigを作成し以下の項目を記入。

      [wsl2]
      networkingMode=mirrored
      
    • Ubuntu-24.04に、Coolify(ローカル環境用PaaSサービス)をインストール。

変更後のネットワーク構成図

graph TD
    subgraph "Provider"
        IO_P[FTTH]
    end

    subgraph "ONU"
        NIC_ONU[1GbE]
        IO_O[FTTH]
        IO_O <--> NIC_ONU
    end

    subgraph "Router"
        NIC_LAN[1GbE]
        NIC_WAN[1GbE]
        NIC_WAN <--> NIC_LAN
    end
    
    subgraph "Switch"
        NIC_SW[1GbE]
    end

    subgraph "Main PC (Ryzen 9 9950X3D / Radeon RX9070XT)"
        OS_MainPC[Windows 11 Pro]
        Driver[Adrenaline 2026.x.x]
        ROCm[ROCm7.x]
        ComfyUI[ComfyUI Git]
        NIC_MainPC_1[5GbE iSCSI Link]
        NIC_MainPC_2[1GbE]
        OS_MainPC <--> Driver <--> ROCm <--> ComfyUI
        OS_MainPC <--> NIC_MainPC_1
        OS_MainPC <--> NIC_MainPC_2
    end

    subgraph "TrueNAS Community (Ryzen 7 3700X)"
        OS_TrueNAS[TrueNAS Community / ZFS]
        Storage1[HDD 4TBx2 / NVMe / RAID1]
        Storage2[HDD 3TBx2 / NVMe / RAID1]
        DataSet1[ZVol]
        DataSet2[ZVol]
        NIC_TrueNAS_1[2.5GbE iSCSI Link]
        NIC_TrueNAS_2[1bE]
        OS_TrueNAS <--> Storage1 <--> DataSet1
        OS_TrueNAS <--> Storage2 <--> DataSet2
        OS_TrueNAS <--> NIC_TrueNAS_1
        OS_TrueNAS <--> NIC_TrueNAS_2
    end

    subgraph "SubPC (Ryzen 7 5800X / Radeon RX5700XT)"
        OS_SubPC[Windows 11 Pro]
        WSL2[Ubuntsu-24.04 / WSL2]
        Docker[Coolify / Docker Containers]
        NIC_SubPC[2.5GbE]
        OS_SubPC <--> WSL2 <--> Docker
        OS_SubPC <--> NIC_SubPC
    end
    IO_P <==> IO_O
    NIC_ONU <==> NIC_WAN
    NIC_LAN <==> NIC_SW
    NIC_SW <==> NIC_MainPC_2
    NIC_SW <==> NIC_SubPC
    NIC_SW <==> NIC_TrueNAS_2
    NIC_MainPC_1 <==> NIC_TrueNAS_1

変更予定

SSDの価格が下落してきたあかつきには、TrueNASをヘッドレスサーバーにしてNVMe SSD 4枚挿しをし、SANの高速化を図りたい。またそのときにはMainPCとTrueNASの間をSPF+とトランシーバーと光ファイバーを導入して10Gbps以上の速度向上を図りたい。

graph LR
    subgraph "Main PC"
        NIC_M[SFP+ NIC]
    end

    subgraph "Storage Trench"
        Fiber((Optical Fiber))
        Trans_M[Transceiver SR]
        Trans_T[Transceiver SR]
    end

    subgraph "TrueNAS"
        NIC_T[SFP+ NIC]
    end

    NIC_M <--> Trans_M <--> Fiber <--> Trans_T <--> NIC_T