---
title: ASUS Ascent GX10 (DGX Spark) 3台をConnect-Xでリング接続するメモ
summary: ASUS Ascent GX10 (DGX Spark) 3台をQSFP Linkケーブル3本でリング状に接続し、RoCEインターフェースとネットワークデバイスのマッピング確認からNetplanでのIP設定までを行う手順をまとめたメモです。
tags: ["DGX Spark", "ASUS Ascent GX10", "NVIDIA"]
categories: ["HomeLab", "DGXSpark"]
date: 2026-10-08T05:05:20.152Z
updated: 2026-10-08T05:13:32.853Z
---

ASUS Ascent GX10 (DGX Spark) 3台をConnect-Xで繋ぐメモです。[2台版](/entries/910)の続きです。

3台をQSFP Link ケーブル3本でリング状に繋ぎます。

![IMG_3613.jpg](https://s3.ik.am/ikam/_/1791436101767_IMG_3613.jpg)

各台のport0を次の台のport1に繋ぎます。2台版では1台目と2台目のport0同士を繋いでいたので、2台目側のケーブルをport1に挿し直し、空いた2台目のport0と3台目のport1、3台目のport0と1台目のport1をそれぞれ新しいケーブルで繋ぎます。

```
                 +------------------+
                 |     Spark 1      |
                 |  192.168.xx.20   |
                 | port0      port1 |
                 +--+------------+--+
                    |            ^
            A       |            |      C
   100.20 -> 100.30 |            | 102.40 -> 102.20
                    v            |
  +-----------------+-+        +-+-----------------+
  |             port1 |        | port0             |
  |      Spark 2      |        |      Spark 3      |
  |  192.168.xx.30    |        |  192.168.xx.40    |
  |             port0 +------->+ port1             |
  +-------------------+   B    +-------------------+
                    104.30 -> 104.40
```

| ケーブル | 接続 | サブネット |
|---|---|---|
| A | 1台目 port0 → 2台目 port1 | 192.168.100.0/24, 192.168.101.0/24 |
| B | 2台目 port0 → 3台目 port1 | 192.168.104.0/24, 192.168.105.0/24 |
| C | 3台目 port0 → 1台目 port1 | 192.168.102.0/24, 192.168.103.0/24 |

1つのポートは2つのネットワークデバイス (`enp1s0f*` と `enP2p1s0f*`) として見えるので、ケーブル1本につきサブネットを2つ割り当てます。2台目の192.168.100.30と192.168.101.30は、挿し直しに合わせてport1側のデバイスに移ります。

### RoCEインターフェースとLinuxのネットワークデバイスとのマッピングの確認

3台とも同じです。2台版と違い、両ポートがUpになります。

```
$ ibdev2netdev
rocep1s0f0 port 1 ==> enp1s0f0np0 (Up)
rocep1s0f1 port 1 ==> enp1s0f1np1 (Up)
roceP2p1s0f0 port 1 ==> enP2p1s0f0np0 (Up)
roceP2p1s0f1 port 1 ==> enP2p1s0f1np1 (Up)
```

### Netplan設定ファイルの作成

1台目

```bash
sudo tee /etc/netplan/40-cx7.yaml > /dev/null <<EOF
network:
  version: 2
  ethernets:
    enp1s0f0np0:
      addresses:
      - 192.168.100.20/24
      dhcp4: no
      mtu: 9000
    enP2p1s0f0np0:
      addresses:
      - 192.168.101.20/24
      dhcp4: no
      mtu: 9000
    enp1s0f1np1:
      addresses:
      - 192.168.102.20/24
      dhcp4: no
      mtu: 9000
    enP2p1s0f1np1:
      addresses:
      - 192.168.103.20/24
      dhcp4: no
      mtu: 9000
EOF
sudo chmod 600 /etc/netplan/40-cx7.yaml
sudo netplan apply
```

2台目

```bash
sudo tee /etc/netplan/40-cx7.yaml > /dev/null <<EOF
network:
  version: 2
  ethernets:
    enp1s0f0np0:
      addresses:
      - 192.168.104.30/24
      dhcp4: no
      mtu: 9000
    enP2p1s0f0np0:
      addresses:
      - 192.168.105.30/24
      dhcp4: no
      mtu: 9000
    enp1s0f1np1:
      addresses:
      - 192.168.100.30/24
      dhcp4: no
      mtu: 9000
    enP2p1s0f1np1:
      addresses:
      - 192.168.101.30/24
      dhcp4: no
      mtu: 9000
EOF
sudo chmod 600 /etc/netplan/40-cx7.yaml
sudo netplan apply
```

3台目

```bash
sudo tee /etc/netplan/40-cx7.yaml > /dev/null <<EOF
network:
  version: 2
  ethernets:
    enp1s0f0np0:
      addresses:
      - 192.168.102.40/24
      dhcp4: no
      mtu: 9000
    enP2p1s0f0np0:
      addresses:
      - 192.168.103.40/24
      dhcp4: no
      mtu: 9000
    enp1s0f1np1:
      addresses:
      - 192.168.104.40/24
      dhcp4: no
      mtu: 9000
    enP2p1s0f1np1:
      addresses:
      - 192.168.105.40/24
      dhcp4: no
      mtu: 9000
EOF
sudo chmod 600 /etc/netplan/40-cx7.yaml
sudo netplan apply
```

デバイス情報を確認

```
$ nmcli device
DEVICE          TYPE      STATE                   CONNECTION            
enP7s7          ethernet  connected               Wired connection 3    
enP2p1s0f0np0   ethernet  connected               netplan-enP2p1s0f0np0 
enP2p1s0f1np1   ethernet  connected               netplan-enP2p1s0f1np1 
enp1s0f0np0     ethernet  connected               netplan-enp1s0f0np0   
enp1s0f1np1     ethernet  connected               netplan-enp1s0f1np1   
docker0         bridge    connected (externally)  docker0               
lo              loopback  connected (externally)  lo                    
wlP9s9          wifi      disconnected            --                    
p2p-dev-wlP9s9  wifi-p2p  disconnected            --                    
```

### 疎通確認

各ケーブルについて、port0側から相手のport1側にpingします。

1台目 → 2台目 (ケーブルA)

```
$ ping -c 3 192.168.100.30
PING 192.168.100.30 (192.168.100.30) 56(84) bytes of data.
64 bytes from 192.168.100.30: icmp_seq=1 ttl=64 time=0.831 ms
64 bytes from 192.168.100.30: icmp_seq=2 ttl=64 time=0.635 ms
64 bytes from 192.168.100.30: icmp_seq=3 ttl=64 time=1.45 ms

--- 192.168.100.30 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2077ms
rtt min/avg/max/mdev = 0.635/0.972/1.451/0.347 ms
```

2台目 → 3台目 (ケーブルB)

```
$ ping -c 3 192.168.104.40
PING 192.168.104.40 (192.168.104.40) 56(84) bytes of data.
64 bytes from 192.168.104.40: icmp_seq=1 ttl=64 time=0.759 ms
64 bytes from 192.168.104.40: icmp_seq=2 ttl=64 time=1.19 ms
64 bytes from 192.168.104.40: icmp_seq=3 ttl=64 time=0.247 ms

--- 192.168.104.40 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 0.247/0.731/1.189/0.385 ms
```

3台目 → 1台目 (ケーブルC)

```
$ ping -c 3 192.168.102.20
PING 192.168.102.20 (192.168.102.20) 56(84) bytes of data.
64 bytes from 192.168.102.20: icmp_seq=1 ttl=64 time=1.01 ms
64 bytes from 192.168.102.20: icmp_seq=2 ttl=64 time=0.694 ms
64 bytes from 192.168.102.20: icmp_seq=3 ttl=64 time=1.23 ms

--- 192.168.102.20 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2040ms
rtt min/avg/max/mdev = 0.694/0.977/1.231/0.220 ms
```

`enP2p1s0f*` 側の192.168.101.30、192.168.105.40、192.168.103.20も同様に疎通します。MTU 9000が通ることは、フラグメント禁止の最大サイズ (9000 - 28 = 8972バイト) で確認できます。

```
$ ping -c 1 -M do -s 8972 192.168.100.30
PING 192.168.100.30 (192.168.100.30) 8972(9000) bytes of data.
8980 bytes from 192.168.100.30: icmp_seq=1 ttl=64 time=0.370 ms
```
