| 開発者 | Evgeny "Jim" Klimov、 Arnaud Quette、 Arjen de Korte、 Charles Lepple 多数の寄稿者 (...) |
|---|---|
| 初回リリース | 1998年3月8日 |
| 安定リリース | 2.8.2 / 2024年4月1日 |
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| ライセンス | ライセンス |
| Webサイト | 翻訳元 |
ネットワーク UPS ツール( NUT ) は、無停電電源装置、配電ユニット、ソーラー コントローラー、サーバー電源ユニットなどの電源装置を監視するために設計されたソフトウェア コンポーネント スイートです。多くのブランドとモデルがサポートされ、ネットワーク プロトコルと標準化されたインターフェイスを介して公開されています。
これは、ベンダー固有のプロトコルを使用して選択されたメディアを介して電源関連のハードウェアデバイスと通信する多数のNUTデバイスドライバーデーモン、標準化されたNUTプロトコルを使用してネットワーク上のドライバー(デフォルトではIANA登録ポート3493 / tcp [1] )を表すNUTサーバーupsd 、および電源デバイスを管理し、履歴のグラフ化や正常なシャットダウンから、オーケストレーションされた電源フェイルオーバーやVMの移行まで、あらゆるアプリケーションの電源状態やその他のメトリックを照会できるNUTクライアント(サーバーと同じローカルホストまたはリモートシステムで実行)を含む3層モデルに従います。
NUTの設計とプロトコルに基づいて、プロジェクトコミュニティは「UPS管理プロトコル」、情報RFC 9271を作成しました。これは2022年8月にIETFによって公開されました[2]。また、IANAポート番号レジストリはそれを反映するように更新されました(このRFCは正式にはインターネット標準ではありませんが)。
NUT コードベースで管理されているクライアントには、コマンドライン アクション用のupsc、upsrw、upscmd、比較的シンプルな監視と正常なシャットダウン用のupsmon (現在のサーバーで最低限必要な電源ユニットと利用可能な電源ユニットの合計数を比較した場合)、複雑な監視シナリオ用のupssched 、シンプルな Web インターフェイス用のupscgi、NUT-Monitor X11 デスクトップ クライアント、およびサードパーティ クライアント用の C、C++、Python ライブラリが含まれます。コミュニティ プロジェクトには、他の言語用のクライアントとバインディングがさらに含まれています。
クロスプラットフォームプロジェクトであるNUTは、組み込みシステムから由緒あるSolaris、HP-UX、AIXサーバーまで、さまざまなシステムアーキテクチャを持つほとんどのUnix、BSD、Linuxプラットフォームで動作します。以前の安定したNUTリリースライン(最新版は2.6.5)に基づくネイティブWindowsビルドもありました。この取り組みはNUT 2.8.0リリース後に復活し、2022年9月にメインコードベースの一部になりました(この時点では、コードベースの領域はプロジェクトでプレースホルダーとして文書化されており、Windowsプラットフォームにまだ移植されておらず、パッケージはまだプロジェクトによって作成されていません)。NUTリリース2.8.1および2.8.2の時点で、[3] Windows用のNUTビルドはCIプラットフォームからアーカイブとして入手できますが、きちんと統合されたパッケージはまだ入手できません。
歴史
Pavel Kořenský のオリジナルのapcd は、1996 年にAPC Smart-UPSプロトコルを追求するきっかけとなりました。[4]これは、Apcupsd のDebianメンテナーによると、Apcupsd が派生したソフトウェアと同じものです。 [5]
NUTのオリジナル作者でコーディネータのラッセル・クロールは、 1998年にsmartupstoolsという最初のパッケージをリリースしました。この設計では、 upsd(データを提供する)とupsmon(システムを保護する)という2つのデーモン、ドライバーとサンプルのセット、多数のCGIモジュールとクライアント統合、および特定のモデルの特定のUPSとシステムをインターフェイスするためのクライアントCLIツールのセット(upsc、upsrw、upscmd )がすでに提供されていました。 [6]複数ベンダーのドライバーサポートを反映し、APCとの潜在的な争いを防ぐために、プロジェクト名は1999年10月31日にリリースされた0.42.0からNetwork UPS Toolsに変更されました。
Arnaud Quette は 2005 年からこのプロジェクトを率いており、 Debian Alioth Forgeにプロジェクトを作成して潜在的な貢献者への認知度を高め、1 人の人物への依存度を下げています。MGE UPS Systems に勤務し、後に Eaton に勤務した彼は、UPS と組み込みシステムの世界でベンダーのコラボレーションも確保しました。その結果、さまざまなプロトコルとメディア用のドライバーが多数開発され、多くのエンタープライズ スタイルのツールとソフトウェア バインディングがプロジェクトに追加されました。多数のドライバーがより一般的なフレームワークに再設計され、コードベースの共有が改善されました。
2020年から現在のプロジェクトリーダーを務めるエフゲニー・「ジム」・クリモフ氏[7]は、まず既存のコードベースの自動テストと品質保証に注力し、新しい貢献によってもたらされる破損を最小限に抑えるとともに、最新のリントおよびカバレッジツールによって強調された古い技術的負債と矛盾をクリーンアップし、[8]最終的に2022年4月26日に、長らく延期されていた新しい公式リリースv2.8.0を発行しました。[9]
市場リーダー (Debian/Ubuntu Linux、MacOS、Windows) に基づくクラウド CI プロジェクトで通常提供されるものよりも多くのプラットフォームで NUT をテストする必要があったため、異なるスポンサー クラウド プロバイダーで異なる年にインスタンス化された特注の VM とコンテナーのセットが生まれ、Jenkins ベースの NUT CI ファームが、あまり代表されていないプラットフォームの多くをカバーしました。これにより、現在アクティブなビルド エージェントの集団がプラットフォーム機能を宣言して定義するビルドおよびテスト マトリックスを編成するためのJenkins共有ライブラリ「jenkins-dynamatrix」も作成されました。現在、その主な消費者は NUT ですが、同様のニーズを持つ他のプロジェクトがニーズに合わせて調整することもできます。このセットアップのおかげで、NUT コード ベースの典型的なイテレーションでは、さまざまなビルドおよびテスト ターゲットを持つ約 300 のシナリオが実行され、多数の OS カーネル テクノロジとそれらに基づくディストリビューション、システム ライブラリ、コンパイラ、シェル、およびmakeプログラム実装にわたって、過去 20 年間の IT 進化の多数のブランチがカバーされ、マージされた変更セットごとにこれらすべてのシステムが確実にサポートされるようになります。[10]
彼のその後の仕事は、新しいドライバーやその他のコードの貢献者を指導すること、さまざまなオペレーティング システム、ツールキットの実装、言語の改訂との互換性を拡張すること、そして過去数十年間にどこで動作していたとしても現在の NUT コードベースを構築する可能性を維持および文書化することに重点を置いており、「それらのボックスがまだ動作しているなら、保護されるに値する!」というモットーを掲げています。
また、OSサービス管理フレームワークの統合、新しいコマンドラインツールオプション、NUTプログラムの相互通信機能、チューニング可能性、トラブルシューティングへのオープン性など、NUTのエンドユーザーの生活の質を向上させるための取り組みも数多く行われています。特に注目すべきは、インプレースアップグレードや非中断テスト用にNUTをビルドするためのサポートです。[11]これにより、エンドユーザーはOSディストリビューションパッケージが提供するものよりも新しいNUTコードベースを試すことができ、レイアウトや構成との互換性を可能な限り維持できるため、ビルドワークスペースで事前にテストした後、気に入った場合はカスタムビルドをドロップイン代替品として使用できます。
20 年の歴史を経て、このオープンソース プロジェクトは、OS ディストリビューションで提供され、多くの NAS ソリューション、一部の統合ハイパーバイザー セットアップ、およびその他のアプライアンスに組み込まれた UPS 監視の事実上の標準ソリューションとなり、多数のエンド ユーザーや電源ハードウェア ベンダーの代表者から、プロトコル仕様、サンプル ハードウェア、多くの場合、新しい NUT ドライバー コードと NUT コミュニティのフィードバックに基づくその後の修正の提供を受け、貢献とサポートを得てきました。[引用が必要]
参考文献
- ^ “3493/tcp” . 2022年8月10日閲覧。
- ^ Price, Roger (2022年8月). UPS管理プロトコル. doi : 10.17487/RFC9271 . RFC 9271.
- ^ Jim Klimov (2024年5月22日). 「NUT for Windows (GitHub wikiページ)」. GitHub .
- ^ Russell Kroll (2004 年 11 月 25 日). 「Network UPS Tools: Acknowledgements」 . 2010 年 6 月 9 日閲覧。
- ^ Nils Rennebarth (1997 年 7 月 1 日)。「apcupsd、genpower、および PowerChute(TM) "Black" ケーブル」。debian-user (メーリング リスト) 。2010年 6 月 9 日閲覧。apcupsd
は Pavel Korensky による apcd から派生したものです。
- ^ smartupstools-0.20 の README ファイル。
- ^ 「NUTプロジェクトリーダーシップの最新情報」。Nut -upsdev(メーリングリスト)。2020年11月13日。
- ^ 「NUTコーディング品質の改善」。Nut -upsdev(メーリングリスト)。2020年11月28日。
- ^ 「NUT v2.8.0 が発表されました。開発には数年(長すぎます)かかりました」。Nut -upsdev(メーリングリスト)。2022 年 4 月 26 日。
- ^ Jim Klimov (2022年10月2日)。「JenkinsはマルチプラットフォームNUTを構築する方法であり、jenkinsfile-dynamatrixは今日構築できるものを見つける方法です」。
- ^ Jim Klimov (2024年7月28日). 「インプレースアップグレードまたは非中断テスト用のNUTの構築(GitHub wikiページ)」. GitHub .
外部リンク
- 公式サイト
