munge

mungeとは、ノード間で安全に通信を行うという目的で使用される認証情報の作成と検証を行うサービスです。このmungeの特徴は下記の2つが挙げられます。

  • 計量性:軽量かつ高速に動作するため、大規模なクラスタ環境でも効率的に認証ができる
  • 安全性:ちゃんと暗号化を使用して認証情報を保護するので安全である

このmungeというソフトウェアは、スパコンなどでよく使用されるSLURMというジョブスケジューラに利用されており、信頼性の高いソフトウェアであるといえます。この記事では、mungeのインストール方法について説明します。

注意事項:apt, apt-get installは非推奨

mungeのソフトウェアのインストール方法を検索すると、「apt-get」や「apt」を利用したインストール方法が検索上位にでてきますが、この方法は推奨できません。なぜなら、mungeのバージョンを更新や削除コマンドがぶっ壊れており、機能しないからです。長期的な運用をする場合、バージョン更新を行えないのは致命的な問題になります。そのため、aptからインストールするのではなく、githubから最新版を引っ張て来てbuildすることでインストールしましょう。

mungeのインストール

mungeは、githubで配布されています: - https://github.com/dun/munge

インストールは、autoconfを使って自動で行われます。詳細は省きますが、下記のコマンドを実行するとインストールできます:

# 依存関係をインストール
sudo apt-get install libssl-dev openssh-server openssl zlib1g-dev git-all libz-dev libbz2-dev bzip2
# ビルドに必要なものをインストール
sudo autoconf automake libtool build-essential gcc g++

# clone
git clone https://github.com/dun/munge
cd munge
sudo ./bootstrap
sudo ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --runstatedir=/run
sudo make
sudo make install

ここまででmungeのインストールは完了したのですが、mungeを起動するためには権限関係を適切に書き換えてあげる必要があります。具体的には、 - munge userの作成を行い、 - ディレクトリ「/var/log/munge/」の所有者をmungeに変更と - ディレクトリ「/etc/munge/」の所有者をmungeに変更

作業を行う必要があります。この手続きは下記のコマンドを実行することで簡単に行えます:

# mungeユーザーの追加
sudo useradd munge
sudo touch /var/log/munge/munged.log
# /var/log/munge/の所有者の変更
sudo chown munge:munge /var/log/munge/
sudo chown munge:munge /var/log/munge/munged.log
# /etc/munge/の所有者の変更
sudo mungekey -c
sudo chown munge:munge /etc/munge/munge.key
sudo chown munge:munge /etc/munge/

## start job
sudo systemctl enable munge
sudo systemctl start munge
sudo systemctl status munge

ここまでやったら、mungeを起動することができます。うまく動いているかどうかを確認するためには、

munge -n

のレスポンスが返ってくるかを確認しましょう。レスポンスが返ってきたら成功です。