Cluster Management Tool

Cluster Shellとは

Official Introduction
clustershell.readthedocs.io

概要

Cluster Shellは、クラスタ管理用の軽量かつ統一されたPythonフレームワークです。大規模なクラスタを効率的に管理するために設計されており、主に以下の強力な特徴を持ちます。

  • 並列かつスケーラブルな実行エンジン: 数百から数千のノードに対して同時にリモートシェルコマンドを実行可能。
  • 柔軟なノード指定: NodeSetクラスを用い、範囲指定やグループ化を直感的に行えます。

ClusterShellはフランスのCEA(原子力・代替エネルギー庁)のHPC開発チームによって開発され、世界中のスーパーコンピュータ管理現場で利用されています。

導入方法 - RHEL9

管理ノード1台にインストールすることで、全ノードの制御が可能になります。管理対象ノードはパスワードなしSSH設定のみで動作します。

1. EPELの有効化

dnf --enablerepo=extras install epel-release

2. 本体のインストール

dnf install clustershell

設定ファイル構成

主要な設定は以下のパスに配置されます。

clush.conf

Command Behavior

groups.conf

Group Definitions

clush設定パラメータ抜粋

KeyDescription
fanoutSSHの最大同時実行並列数。
connect_timeout接続確立までのタイムアウト(秒)。
ssh_userリモート接続に使用するユーザー名。
ssh_optionsSSHコマンドに渡す追加オプション。

使用例

● グループ内の全ノードにコマンド実行

clush -w @all df -h

● 特定ノードへの設定ファイル配布

clush -w @group -c myfile.conf --dest=/etc/myfile.conf

● 範囲指定によるアドホックな実行

clush -w wn[02-05,08] "uptime"