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設定パラメータ抜粋
| Key | Description |
|---|---|
fanout | SSHの最大同時実行並列数。 |
connect_timeout | 接続確立までのタイムアウト(秒)。 |
ssh_user | リモート接続に使用するユーザー名。 |
ssh_options | SSHコマンドに渡す追加オプション。 |
使用例
● グループ内の全ノードにコマンド実行
clush -w @all df -h
● 特定ノードへの設定ファイル配布
clush -w @group -c myfile.conf --dest=/etc/myfile.conf
● 範囲指定によるアドホックな実行
clush -w wn[02-05,08] "uptime"