マルチノードの前提条件とインストール手順
複数ノードでは同一 OS・同一 Xcodeを揃え、各ノードで SSH を有効にし内網から相互アクセスできるようにします。
- MeshMac で複数 Mac ノードを用意し、OS と Xcode を統一する。
- 各ノードに OpenClaw を同一バージョンでインストールする。
- State Server を立てる 1 台を決め、そのノードで State Server を起動する。
- 他ノードのエージェントが State Server のアドレス・ポートで接続できるように設定する。
- 全ノードで YAML プロファイルを同一内容で配布する。
クラスター設定とネットワーク要件
クラスター内は低遅延・安定した内網(推奨 10Gbps)とし、gRPC 用ポートを全ノードで開放します。State Server ノードへ他ノードから確実に到達できるようにし、ファイアウォールで gRPC を許可、ノード間の名前解決(DNS または /etc/hosts)を統一します。
タスクキュー・状態同期の設定方法
State Server を 1 台で起動し、全エージェントを gRPC で接続します。タスク・実行状態は共有ストアに集約され、ノード障害時も他ノードが引き継げます。確認項目は下表のとおりです。
| 項目 | 確認内容 |
|---|---|
| State Server | 起動済み・ポート開放・他ノードから到達可能 |
| gRPC 接続 | 全エージェントが State Server に接続済み |
| YAML プロファイル | 全ノードで同一内容を配布 |
| 分散ロック | 同時書き込み時の競合が発生しないこと |
よくあるエラーとトラブルシューティング
- 接続拒否:State Server 起動・ポート開放・ファイアウォールを確認する。
- タイムアウト:ノード間 ping/traceroute、gRPC ポートの到達性を確認する。
- 状態が同期しない:全ノードの YAML 同一性と State Server 接続、ログの gRPC エラーを確認する。
- タスクが引き継がれない:分散ロック・タスクキュー設定を確認し、1 ノード停止で引き継ぎテストを行う。
チーム協調ワークフローとの連携
マルチノード構成はCI/CD や跨時区のタスク引き継ぎと組み合わせると効果的です。ビルドジョブをキューに投入し空きノードで実行、メンテ中も他ノードで継続する運用が可能です。統一デプロイとタスクキュー同期でチーム向け手順を解説しています。
Mac と Windows の多機展開の違い
多ノード展開ではMac が有利です。Mac は SSH・リモートが標準で多ユーザー・権限隔離が容易、同一手順で全ノードにデプロイしやすくタスクキューを 1 か所に集約しやすいです。iOS/macOS ビルドは Mac 必須のため MeshMac の Mac ノードで OpenClaw を揃える構成を推奨します。Windows は RDP 中心で統一デプロイが煩雑になりがちです。
| 観点 | Mac(MeshMac) | Windows |
|---|---|---|
| リモート・自動化 | SSH 標準、同一手順で一括デプロイしやすい | RDP 中心、一括デプロイが煩雑になりがち |
| 多ユーザー・権限 | 権限隔離が容易 | セッション管理・権限の設定が複雑 |
| iOS/macOS ビルド | ネイティブ対応 | 不可(Mac 必須) |