Add: ネットワーク構成の詳細解説(クラスター通信とAPI公開の分離)
This commit is contained in:
parent
e0e2ef2e69
commit
30761d2e4f
@ -50,12 +50,95 @@ MiniMax-M2.5は、中国MiniMax社が開発したコーディング・エージ
|
|||||||
詳細な手順は公式ドキュメントを参照してください:
|
詳細な手順は公式ドキュメントを参照してください:
|
||||||
👉 [Connect two Sparks](https://build.nvidia.com/spark/connect-two-sparks)
|
👉 [Connect two Sparks](https://build.nvidia.com/spark/connect-two-sparks)
|
||||||
|
|
||||||
### 確認事項
|
### ネットワーク構成の理解(重要)
|
||||||
|
|
||||||
- QSFPケーブルによる物理接続
|
DGX Sparkデュアル構成では、**2種類のネットワーク**を使い分けます。公式ドキュメントではこの点が分かりにくいため、詳しく解説します。
|
||||||
- ネットワークインターフェース設定(自動または手動IP割当)
|
|
||||||
- パスワードなしSSHの設定
|
```
|
||||||
- ネットワーク疎通確認
|
┌─────────────────────┐ QSFP (200GbE) ┌─────────────────────┐
|
||||||
|
│ DGX Spark 1 │◄────────────────────────────►│ DGX Spark 2 │
|
||||||
|
│ │ 192.168.100.10/11 │ │
|
||||||
|
│ enp1s0f1np1 │ (クラスター通信) │ enp1s0f1np1 │
|
||||||
|
│ ┌───────────────┐ │ │ ┌───────────────┐ │
|
||||||
|
│ │ NCCL/Ray通信 │ │ │ │ NCCL/Ray通信 │ │
|
||||||
|
│ └───────────────┘ │ │ └───────────────┘ │
|
||||||
|
├─────────────────────┤ ├─────────────────────┤
|
||||||
|
│ eth0 (10.0.0.10) │◄──── 通常LAN ──────────────►│ eth0 (10.0.0.11) │
|
||||||
|
│ ┌───────────────┐ │ │ ┌───────────────┐ │
|
||||||
|
│ │ 管理/API公開 │ │ │ │ 管理のみ │ │
|
||||||
|
│ └───────────────┘ │ │ └───────────────┘ │
|
||||||
|
└─────────────────────┘ └─────────────────────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
クライアントからの
|
||||||
|
APIリクエスト
|
||||||
|
http://10.0.0.10:8000
|
||||||
|
```
|
||||||
|
|
||||||
|
| ネットワーク | 用途 | インターフェース例 | IP例 |
|
||||||
|
|-------------|------|-------------------|------|
|
||||||
|
| **クラスター通信** | NCCL、Ray、テンソル並列 | enp1s0f1np1 (QSFP) | 192.168.100.x |
|
||||||
|
| **管理/API公開** | SSH、APIエンドポイント | eth0 (通常LAN) | 10.0.0.x |
|
||||||
|
|
||||||
|
### なぜ分離が必要?
|
||||||
|
|
||||||
|
1. **セキュリティ**: クラスター通信は暗号化されていないため、プライベートネットワーク推奨
|
||||||
|
2. **パフォーマンス**: NCCL通信は200GbE QSFPを使用し、APIトラフィックと分離
|
||||||
|
3. **柔軟性**: APIエンドポイントを外部公開しつつ、クラスター通信は内部に閉じる
|
||||||
|
|
||||||
|
### QSFPインターフェースへのIP割り当て(手動)
|
||||||
|
|
||||||
|
**重要**: QSFPインターフェースにはIPアドレスが自動で割り当てられません。手動設定が必要です。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 両ノードで実行
|
||||||
|
|
||||||
|
# 1. インターフェース確認
|
||||||
|
ibdev2netdev
|
||||||
|
# 出力例: mlx5_0 port 1 ==> enp1s0f1np1 (Up)
|
||||||
|
# mlx5_1 port 1 ==> enp1s0f0np0 (Down)
|
||||||
|
# "(Up)" と表示されるインターフェースを使用
|
||||||
|
|
||||||
|
# 2. IPアドレス設定
|
||||||
|
# Node 1
|
||||||
|
sudo ip addr add 192.168.100.10/24 dev enp1s0f1np1
|
||||||
|
sudo ip link set enp1s0f1np1 up
|
||||||
|
|
||||||
|
# Node 2
|
||||||
|
sudo ip addr add 192.168.100.11/24 dev enp1s0f1np1
|
||||||
|
sudo ip link set enp1s0f1np1 up
|
||||||
|
|
||||||
|
# 3. 疎通確認(Node 1から)
|
||||||
|
ping 192.168.100.11
|
||||||
|
```
|
||||||
|
|
||||||
|
### 永続化(netplan使用)
|
||||||
|
|
||||||
|
再起動後もIPを維持するには、netplanで設定します。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# /etc/netplan/99-qsfp.yaml を作成
|
||||||
|
sudo tee /etc/netplan/99-qsfp.yaml << 'EOF'
|
||||||
|
network:
|
||||||
|
version: 2
|
||||||
|
ethernets:
|
||||||
|
enp1s0f1np1:
|
||||||
|
addresses:
|
||||||
|
- 192.168.100.10/24 # Node 2は192.168.100.11/24
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo netplan apply
|
||||||
|
```
|
||||||
|
|
||||||
|
### パスワードなしSSHの設定
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Node 1で
|
||||||
|
ssh-keygen -t ed25519 -N ""
|
||||||
|
ssh-copy-id user@192.168.100.11
|
||||||
|
|
||||||
|
# Node 2でも同様に設定(逆方向)
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -219,6 +302,27 @@ docker exec -it $VLLM_CONTAINER /bin/bash -c '
|
|||||||
--gpu-memory-utilization 0.85'
|
--gpu-memory-utilization 0.85'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### APIエンドポイントを別IPで公開する
|
||||||
|
|
||||||
|
クラスター通信(QSFP)とAPIエンドポイント(通常LAN)を分離したい場合:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it $VLLM_CONTAINER /bin/bash -c '
|
||||||
|
vllm serve cerebras/MiniMax-M2.5-REAP-172B-A10B \
|
||||||
|
--tensor-parallel-size 2 \
|
||||||
|
--host 0.0.0.0 \
|
||||||
|
--port 8000 \
|
||||||
|
...'
|
||||||
|
```
|
||||||
|
|
||||||
|
| オプション | 説明 |
|
||||||
|
|-----------|------|
|
||||||
|
| `--host 0.0.0.0` | 全インターフェースでリッスン(推奨) |
|
||||||
|
| `--host 10.0.0.10` | 特定IPのみでリッスン |
|
||||||
|
| `--port 8000` | APIポート番号 |
|
||||||
|
|
||||||
|
**ポイント**: `VLLM_HOST_IP`環境変数はクラスター内部通信用であり、`--host`オプションはAPIエンドポイント用です。これらは独立して設定できます。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 動作確認
|
## 動作確認
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user