英語フランス語スペイン語

Ad


OnWorksファビコン

hbal - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで hbal を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド hbal です。

プログラム:

NAME


hbal - Ganeti のクラスター バランサー

SYNOPSIS


ハブル {バックエンド オプション...} [アルゴリズム オプション...] [レポート オプション...]

ハブル - バージョン

バックエンドのオプション:

{ -m | -L [ path ] [-NS] | -t データファイル | -I path }

アルゴリズムのオプション:

[ --最大CPU CPU比率 ] [ --最小ディスク ディスク比 ] [ -l 制限 ] [ -e スコア ] [ -g デルタ ] [
--最小ゲイン制限 しきい値 ] [ -O 名... ] [ --ディスクの移動なし ] [ --インスタンス移動なし ] [
-U ユーティリティファイル ] [ --無視-dynu ] [ --ignore-ソフトエラー ] [ --モンド はい|いいえ ] [ --モンドクセン ]
[ --欠落モンドデータで終了 ] [ --evac-mode ] [ --制限された移行 ] [
--インスタンスの選択 インスタ... ] [ -- 除外インスタンス インスタ... ]

レポートオプション:

[ -NS[ file ] ] [ -NS[ フィールド ] ] [ --印刷インスタンス ] [ -S file ] [ -v... | -q ]

DESCRIPTION


hbal は、クラスターの現在の状態 (
合計および空きディスク、メモリなど)とインスタンスの配置を計算し、一連の
クラスターをより良い状態にするために設計された手順。

使用されるアルゴリズムは安定するように設計されています (つまり、次の場合と同じ結果が得られます)。
ソリューションの途中から再起動します)、かなり高速です。 しかし、そうではありません。
完璧なアルゴリズムになるように設計されており、コーナーに進入させることが可能です。
XNUMX 歩先しか見ていないため、改善は見つかりません。

プログラムは、Rapi または Luxi 経由でクラスターの状態にアクセスします。 また、
--mond オプションを使用して、すべての MonD からネットワークに接続します。 現在、それはによって生成されたデータのみを使用します
CPU負荷コレクター。

デフォルトでは、プログラムは計算されるにつれて解を段階的に表示します。
やや不可解な形式。 実際の G​​aneti コマンド リストを取得するには、 -C オプションを選択します。

アルゴリズム
プログラムは独立したステップで動作します。 各ステップで、最適なインスタンスの移動を計算します。
それによりクラスタースコアが低下します。

インスタンスの可能な移動タイプは、フェイルオーバー/移行と移行の組み合わせです。
replace-disks では、インスタンス ノードの XNUMX つを変更し、もう XNUMX つはそのまま残します。
(ただし、役割が変更される可能性があります。たとえば、プライマリからセカンダリになります)。 リストは次のとおりです。

· フェイルオーバー (f)

· セカンダリ (r) を交換する

· プライマリを置き換える、複合移動 (f、r、f)

· フェイルオーバーとセカンダリの置き換え、複合 (f、r)

· セカンダリとフェイルオーバーを置き換え、コンポジット (r、f) も置き換えます

両方のノードを置き換える唯一の残りの可能性 (r、f、r、f または
これらの動きは両方の候補に対する徹底的な検索を必要とするため、同等の f、r、f、r)
プライマリ ノードとセカンダリ ノードがあり、ノード数は O(n*n) です。 さらに、それは
スコアは向上しないようですが、より多くのディスク交換が必要になります。

投資 制限事項
各ステップで、次の原因となる場合にはインスタンスの移動を防止します。

· ノードが N+1 障害状態になる

· オフライン ノードに移動するインスタンス (オフライン ノードはクラスターから読み取られます)
または次のように宣言します -O; ドレインされたノードはオフラインとみなされます)

· 除外タグベースの競合 (除外タグはクラスターから読み取られるか定義されます)
ビア --除外タグ オプション)

· 超過する最大 vcpu/pcpu 比 (経由で設定) --最大CPU)

· 構成された制限を下回る最小ディスク空き率 (次のように構成) --最小ディスク)

CLUSTER スコアリング
前に述べたように、アルゴリズムは各ステップでクラスター スコアを最小化しようとします。 現在
このスコアは、次のコンポーネントの加重合計として計算されます。

· 空きメモリのパーセントの標準偏差

· 予約されたメモリのパーセントの標準偏差

· 予約されたメモリのパーセンテージの合計

· 空きディスクのパーセントの標準偏差

· N+1 チェックに失敗したノードの数

· オフライン ノード上に (プライマリまたはセカンダリとして) 存在するインスタンスの数。 の中に
hbal (および他の htools) のドレインされたノードはオフラインとみなされます。

· オフライン ノード上に (プライマリとして) 存在するインスタンスの数。 これは上記とは異なります
2 ノードクラスター内のインスタンスのフェイルオーバーを支援することにより、メトリクスを向上させます。

· 仮想 CPU と物理 CPU の比率の標準偏差 (プライマリ インスタンスの場合)
ノード)

· 利用可能なスピンドルの割合の標準偏差 (専用モードでは、
スピンドルは物理的なスピンドルを表します。 それ以外の場合は、この IO のオーバーサブスクライブ対策
負荷、およびオーバーサブスクリプション係数は、数を計算するときに考慮されます。
利用可能なスピンドル)

· CPU、メモリ、ディスク、ネットワークのノード上の動的負荷の標準偏差

· MonD によって提供される CPU 負荷の標準偏差

· 同じ障害ドメイン内にプライマリとセカンダリがあるインスタンスの数

空きメモリと空きディスクの値は、すべてのノードのバランスがある程度保たれるようにするのに役立ちます。
彼らのリソースの使用状況。 予約されたメモリは、ノードがある程度の
セカンダリ インスタンスの保持においてバランスが取れており、過剰なメモリを予約したノードがないこと
N+1の場合。 最後に、N+1 パーセンテージは、アルゴリズムを排除する方向に導くのに役立ちます。
可能であれば、N+1 回の失敗。

N+1 の障害、オフライン インスタンスの数、障害ドメイン違反を除く
カウントの場合、固定範囲内の値で使用される場合は標準偏差を使用します (
XNUMX から XNUMX までの値として表されるパーセントを使用します)。これにより、一貫した結果が得られます。
すべてのメトリクス (さまざまな手段に関連する小さな問題がいくつかありますが、機能します)
概ね良好です)。 「カウント」タイプの値はスコアが高いため、より重要になります。
バランスを取るため。 したがって、これらはハード制約 (ノードの退避など) に適しています。
N+1 個の失敗を修正します)。 たとえば、オフライン インスタンスの数 (つまり、
オフライン ノード上に存在するインスタンス) により、アルゴリズムがインスタンスをアクティブに移動します。
オフラインノードから離れた場所にあります。 これに、オフラインによる配置の制限が加わりました。
ノードの退避が発生します。

動的負荷値は外部ファイルから読み取る必要があります (Ganeti は提供しません)
それら)、各ノードについて次のように計算されます: プライマリ インスタンスの CPU 負荷の合計、プライマリ インスタンスの CPU 負荷の合計
インスタンスのメモリ負荷、プライマリ インスタンスとセカンダリ インスタンスのディスク負荷の合計 (DRBD が生成するもの)
通常の場合はセカンダリ ノードにも書き込み負荷がかかり、劣化したシナリオでは読み取りも行われます。
負荷)、プライマリ インスタンスのネットワーク負荷の合計。 これらを生成する方法の例
hbal への入力の値は、インスタンスの xm リストを XNUMX 日にわたって追跡することになります。
CPU 値のデルタを計算し、それを経由してフィードします。 -U すべてのインスタンスのオプション
(他のメトリクスは XNUMX つとして保持します)。 アルゴリズムが機能するために必要なのは、
すべてのインスタンスにわたってメトリクスの値が一貫していること (たとえば、すべてのインスタンスで
cpu% は CPU 使用率をレポートします。
CPU は異なります)、それらは XNUMX から XNUMX の間に正規化されています。 注意してください。
それ以降、インスタンス メトリックの負荷値としてゼロを使用しないことが推奨されます
セカンダリ インスタンスのバランスが取れていません。

MonD のデータ コレクターからの CPU 負荷は、すべての MonD が実行されている場合にのみ使用されます。
それ以外の場合は、クラスター スコアに影響しません。 それぞれのCPU負荷が分からないので、
インスタンスの数に比例すると、インスタンスの CPU 負荷は比例すると仮定できます。
そのvcpu。 このヒューリスティックにより、CPU 負荷が高いノードのインスタンスは移動する傾向があります。
CPU 負荷の少ないノードに転送されます。

完全にバランスの取れたクラスター上 (すべてのノードが同じサイズ、すべてのインスタンスが同じサイズ、
ノード全体に均等に分散される)、すべてのメトリクスの値はゼロになります。
予約されたメモリの合計パーセンテージは例外です。 これはあまり頻繁に起こりません
練習する :)

オフライン インスタンス
現在の Ganeti バージョンでは、オフライン (ダウン) インスタンスによって使用されるメモリがレポートされないため、
インスタンスの実行ステータスを無視すると、誤った計算が発生します。 このため、
アルゴリズムは、ダウンしたインスタンスの空きノード メモリからそのインスタンスのメモリ サイズを減算します。
プライマリ ノードは、実質的にそのようなインスタンスの起動をシミュレートします。

除外 タグ
除外タグのメカニズムは、同じワークロードを実行するインスタンスを防止するように設計されています。
(例: XNUMX つの DNS サーバー) 同じノードに配置され、それぞれのノードが
指定されたサービスの SPOF。

これは、インスタンスに特定のタグを付け、それに基づいて除外マップを構築することで機能します。
これら。 実際に使用されるタグは、コマンド ライン (オプション) を介して設定されます。
--除外タグ)、またはクラスター タグに追加することで実行できます。

--除外タグ=a、b
これにより、フォームのすべてのインスタンスタグが作成されます :*, b:* のために考慮される
除外マップ

タグ htools:iextags:a, htools:iextags:b
これによりインスタンスタグが作成されます :*, b:* 除外マップとして考慮されます。 もっと
正確には、次で始まるクラスタータグの接尾辞です。 htools:iextags: になります
除外タグのプレフィックス。

上記の両方の形式は、XNUMX つのインスタンスが両方とも (例) タグを持つことを意味します。 あ:ふー or b:バー
同じノード上で終了することはありません。

マイグレーション タグ
Ganeti が異種クラスタにデプロイされている場合、クラスタ間で移行できない可能性があります。
ノードグループのすべてのノード。 このような状況の一例は、ハイパーバイザーのアップグレードです。
ノードごとに。 hbal にこれらの制限を認識させるために、次のクラスター タグが使用されます。
中古。

タグ htools:移行:a, htools:移行:b,
これはフォームの make make ノードタグです :*, b:*、などは移行とみなされます
制限。 より正確には、次で始まるクラスタータグの接尾辞です。
htools:移行: は移行タグのプレフィックスになります。 それだけ
移行は、ソースのすべての移行タグが考慮されます。
ノードもターゲット ノード上に存在します。

タグ htools:allowmigration:x::y for 移行 タグ x & y
これは、ノードがタグ付けされていることをアサートします y と同じ方法でインスタンスを受け取ることができます
彼らは持っていました x タグ。

したがって、ハイパーバイザーのアップグレードの単純なケースでは、アップグレードされたすべてのノードにタグを付けます。
移行タグを使用してアップグレードするだけで十分です。 より複雑な状況では、常に
使用するハイパーバイザーごとに異なる移行タグを使用し、明示的に指定することが可能です。
許可された移行方向 htools:許可移行: タグ。

ロケーション タグ
ノード グループ内では、特定のノードが同時に障害を起こす可能性が高くなります。
共通のエラー原因(同じ電源ユニットを共有している場合など)。 ガネーティはできる
タグを使用して、失敗の一般的な原因を認識します。

タグ htools:nlocation:a, htools:nlocation:b,
これはフォームの make make ノードタグです :*, b:*、などの共通点があると考えられます。
失敗の原因。

プライマリ ノードとセカンダリ ノードに共通の障害原因があるインスタンスが考慮されます。
配置が悪い。 このような配置は常に許可されていますが、
クラスタースコア。

OPTIONS


プログラムに渡すことができるオプションは次のとおりです。

-C、 --print-コマンド
実行の最後にコマンドリストを出力します。 これがなければ、プログラムはただ
短いが不可解な出力を示します。

移動リストは「ジョブセット」と呼ばれる独立したステップに分割されることに注意してください。
ただし、これは視覚的な検査のためだけであり、実際の並列化のためではありません。 そうではない
「gnt-instance」コマンドを介して実行すると、これらを直接並列化することが可能です。
複合コマンド (フェイルオーバーやディスク交換など) を実行する必要があるため
シリアルに。 並列実行は、Luxi バックエンドと
-L オプションを選択します。

移動をジョブセットに分割するアルゴリズムは、移動を累積してジョブセットに分割します。
次の移動は、現在の移動によってすでにタッチされているノードにタッチします。 これは私たちを意味します
(Ganeti でのリソース割り当てのため) 並列実行できないため、開始します。
新しいジョブセット。

-NS、 --print-nodes
ユーザーが実行できるように設計された形式で、前後のノードのステータスを出力します。
ノードの最も重要なパラメータを理解します。 マニュアルページを参照してください htools(1)
このオプションの詳細については、こちらをご覧ください。

--印刷インスタンス
前後のインスタンス マップを出力します。 これはノードのステータスとしてはあまり役に立ちませんが、
ただし、インスタンスの移動を理解するのには役立ちます。

-O
このオプション (複数回指定可能) は、ノードを次のようにマークします。 オンライン.
これには次のような意味があります。

· 一時的であっても、インスタンスはこれらのノードに配置されません。 たとえば、 replace
主要な この移動は、セカンダリ ノードがオフラインの場合は利用できません。
フェイルオーバーが必要です。

· これらのノードはスコア計算に含まれません (ただし、
オフラインノード上のインスタンスの割合)

アルゴリズムは、RAPI によって報告されたノードもオフラインとしてマークすることに注意してください。
または「?」が付いているもの任意の数値フィールドへのファイルベースの入力。

-e スコア, --min-score=*スコア*
このパラメーターは、クラスター スコアが N+1 境界をどの程度上回ることができるかを示します。
満足して、次の XNUMX つの方法で計算を変更します。

· クラスターの初期スコアがこの値より低い場合は、入力しません。
アルゴリズムをまったく無視し、成功して終了します

· 反復プロセス中に、この値よりも低いスコアに達した場合、終了します。
アルゴリズム

現在、パラメータのデフォルト値は 1e-9 です (経験的に選択されています)。

-g デルタ, --min-gain=*デルタ*
バランスアルゴリズムによって非常に小さな改善がもたらされる場合があるため、
再配置にかかるコストよりも利益が少ない場合、このパラメータ (デフォルト
0.01 まで) は、ステップ中に続行するために必要な最小ゲインを表します
バランス。

--min-gain-limit=*しきい値*
上記の min-gain オプションは、クラスター スコアがすでに
以下 しきい値 (デフォルトは 0.1)。 この設定の背後にある理論的根拠は次のとおりです。
クラスター スコアが高い (バランスの悪いクラスター)、リバランスを中止したくない
その後の利益が依然として重要である可能性があるため、あまりにも急ぎすぎます。 ただし、
しきい値の場合、合計ゲインはしきい値のみであるため、早期に終了できます。

--ディスクの移動なし
このパラメータは、hbal がディスク移動を使用するのを防ぎます (つまり、「gnt-instance」
replace-disks") 操作。これにより、バランシングがより迅速に行われますが、
もちろん改善には限界があります。 いつ使用するかはユーザーが決定します
どれかひとつ。

--インスタンス移動なし
このパラメータは、hbal がインスタンスの移動を使用するのを防ぎます (つまり、「gnt-instance」
移行/フェイルオーバー") 操作。これは低速なディスク交換のみを使用します。
バランスも悪くなりますが、移動する場合には役立ちます。
周囲のインスタンスは安全でないか、好ましくないと考えられます。

--evac-mode
このパラメータは、移動対象となるインスタンスのリストを制限します。
オフライン/ドレインされたノード上に存在します。 の(バルク)代替品として使用できます。
ガネーティさん自身の gntノード 避難させる完全を保証するものではないことに注意してください
避難

--制限された移行
このパラメータは、プライマリ置換移動 (frf) を禁止します。
インスタンスのプライマリ ノードが存在しない場所への置換とフェイルオーバーの移動 (rf)
排出された。 --evac-mode オプションと一緒に使用すると、移行のみが実行されます。
hbal は、ドレインされたノードからのインスタンスの移行を行います。 これは次の場合に役立ちます。
基本オペレーティング システムの再インストール中は、移行は
古いOSから新しいOSへ。 ただし、通常、移行タグの使用は、
より良い選択。

--select-instances=*インスタンス*
このパラメータは、指定されたインスタンス (カンマ区切りリストとして) を唯一のインスタンスとしてマークします。
リバランス中に移動されるもの。

--exclude-instances=*インスタンス*
このパラメータは、指定されたインスタンス (カンマ区切りリストとして) をマークします。
リバランス中に移動されました。

-U ユーティリティファイル
このパラメータは、インスタンスの動的使用率情報を保持するファイルを指定します。
これは、ノード上の負荷を均等化するためにバランシング アルゴリズムを微調整するために使用されます。
(静的なリソースの使用とは対照的に)。 ファイルの形式は「instance_name」です。
cpu_util mem_util disk_util net_util」 ここで、「_util」パラメータが解釈されます
数値として指定し、インスタンス名は読み取り元のインスタンスと正確に一致する必要があります。
ガネティ。 インスタンス名が不明な場合、プログラムは異常終了します。

指定しない場合、デフォルト値はすべてのメトリクスに対して XNUMX つとなるため、動的になります。
使用率がアルゴリズムに与える影響は XNUMX つだけです。それは、セカンダリのイコライゼーションです。
ノード間のインスタンス (これは別のメトリックによって追跡されない唯一のメトリックです)
専用の値であるため、インスタンスのディスク負荷によりセカンダリ インスタンスが発生します。
イコライゼーション)。 値 XNUMX はプライマリにもわずかに影響することに注意してください。
インスタンス数ですが、これは他のメトリクスによってすでに追跡されているため、
動的利用の影響は実質的には重要ではありません。

--無視-dynu
指定した場合、すべての動的使用率情報は、次のようにみなされて無視されます。
0. このオプションは、-U オプションまたは
--mond および --mond-data オプションを使用した MonD。

--ignore-ソフトエラー
指定すると、バランスを考慮する際にソフト エラーのチェックがすべて省略されます。
動きます。 このようにして、すべてのノードが同じクラスター内にあるクラスター内で作業を進めることができます。
CPU またはスピンドルのオーバーサブスクリプション率の超過など、ポリシー的に悪い状態。

-S ファイル名, --save-cluster=*ファイル名*
指定した場合、バランシング前のクラスターの状態が指定されたファイルに保存されます。
プラス拡張子「オリジナル」(つまり ファイル名.original)、および終了時の状態
バランシングの値は、指定されたファイルに拡張子「balances」を付けて保存されます(つまり、
ファイル名.バランス)。 これにより、クラスターの状態を hbal 自体に再フィードすることができます。
または、-t オプションを使用した hspace などです。

-t データファイル, --text-data=*データファイル*
バックエンドの仕様: ノードとインスタンスの情報を保持するファイルの名前
(RAPI または LUXI 経由で収集しない場合)。 このバックエンドまたは他のバックエンドのいずれかが、
選択されました。 オプションはマニュアルページに記載されています htoolsとします。

--mond=*はい|いいえ*
指定された場合、プログラムはすべての MonD をクエリして、サポートされているデータからデータを取得します。
ネットワーク上のコレクター。

--モンドクセン
指定されている場合は、MonD から Xen 固有のコレクターもクエリします。
デーモンはまったくクエリされません。

--欠落モンドデータで終了
指定すると、MonD のクエリから取得できるデータが不完全な場合に中止されます。 の
デフォルトの動作では、静的情報に基づいて最良の推測を続行します。

-- モンドデータ データファイル
MonD のクエリをオーバーライドするために、MonD によって提供されるデータを保持するファイルの名前
ネットワーク経由で。 これは主にデバッグに使用されます。 ファイルは JSON である必要があります
XNUMX つのメンバーを持つ JSON オブジェクトの配列を、各ノードに XNUMX つずつフォーマットして表示します。
ノードという名前の最初のメンバーはノードの名前であり、XNUMX 番目のメンバーは という名前です。
reports はレポート オブジェクトの配列です。 レポートオブジェクトは同じ場所にある必要があります
監視エージェントによって生成された形式。

-m
バックエンド仕様: データを直接収集します。 引数として与えられる
RAPI経由で。 オプションはマニュアルページに記載されています htoolsとします。

-L [path]
バックエンドの仕様: マスター デーモンから直接データを収集します。
LUXI (Ganeti 内部プロトコル) 経由で接続されます。 オプションについては、
マニュアルページ htoolsとします。

-X Luxi バックエンドを使用する場合、hbal は指定されたコマンドを実行することもできます。 の
実行方法は、個々のジョブセットを実行することです (「 -C のオプション
詳細) を個別のステージで実行し、ジョブセットにすべてのジョブが含まれていない場合は中止します。
成功。 バランシング ソリューションの各ステップは、正確に次のように変換されます。
XNUMX つの Ganeti ジョブ (XNUMX ~ XNUMX つの OpCode を持つ)、および XNUMX つのジョブ内のすべてのステップ
ジョブセットは並列実行されます。 ジョブセット自体はシリアルに実行されます。

一連のジョブの実行は中断される可能性があります。シグナル処理については以下を参照してください。

-l N, --max-length=*N*
ソリューションをこの長さに制限します。 これは、たとえば、
バランシングの実行。

--max-cpu=*cpu-ratio*
仮想 CPU と物理 CPU の最大比率。以下の浮動小数点数で表されます。
またはXNUMXに等しい。 たとえば、次のように指定します。 CPU比率 as 2.5 つまり、4 CPU の場合
マシンの場合、プライマリには最大 10 個の仮想 CPU の使用を許可する必要があります。
インスタンス。 値がちょうど XNUMX の場合、CPU のオーバーサブスクリプションが発生しないことを意味します。
(ノード自体が使用する CPU 時間を除く)、XNUMX 未満の値は使用しません。
これは、他のリソース (ディスクなど) が次の理由で完全に利用されなくなることを意味します。
CPU の制限。

--min-disk=*ディスク比率*
残りの空きディスク容量の最小量 (浮動小数点数)。 のために
たとえば、指定する ディスク比 as 0.25 ディスクの少なくとも XNUMX 分の XNUMX を意味します
ノード上に空き領域を残しておく必要があります。

-G ウイド, --group=*uuid*
マルチグループ クラスターでは、このグループを処理のために選択します。 それ以外の場合は、hbal が
同時に複数のグループのバランスをとることができないため、中止されます。

-v、 -詳細
出力の冗長性を高めます。 このオプションを使用するたびに、
冗長性 (現在は 2 を超えると意味がありません) をデフォルトの XNUMX から変更します。

-NS、 - 静かな
出力の冗長性を減らします。 このオプションを使用するたびに、
冗長性 (ゼロ未満は意味を持ちません) をデフォルトの XNUMX から変更します。

-V、 - バージョン
プログラムのバージョンを表示して終了します。

SIGNAL 取り扱い


LUXI 経由でジョブを実行する場合 (-X オプションを使用)、通常は hbal がすべてのジョブを実行します。
いずれかのジョブがエラーになるか、すべてのジョブが正常に終了するまで。

バランス調整には長い時間がかかる場合があるため、次の XNUMX つの方法で hbal を早期に停止することができます。

· SIGINT (^C) を送信することで、hbal は終了リクエストを登録し、待機します。
現在送信されているジョブが終了するまで、その時点でジョブは終了します (終了コード 0)
すべてのジョブが正しく終了した場合、それ以外の場合は通常どおり終了コード 1 が表示されます)

· SIGTERM を送信すると、hbal は直ちに終了します (終了コード 2)。 それは
Ganeti をフォローアップし、結果を確認するのはユーザーの責任です。
現在実行中のジョブ

どのような状況でも、上記のシグナルを介して hbal を強制終了しても完全に安全であることに注意してください。
または、ジョブ自体が処理されるため、他のシグナル (SIGQUIT、SIGKILL など) を介して送信されます。
Ganeti によるものですが、hbal (送信後) は進行状況を監視するだけです。 この場合、
ユーザーはジョブの結果について Ganeti にクエリを実行する必要があります。

EXIT ステータス


何らかの理由でアルゴリズムが失敗しない限り、コマンドの終了ステータスは XNUMX になります。
(例: 間違ったノードまたはインスタンス データ)、無効なコマンド ライン オプション、または (ジョブの場合)
実行)ジョブの XNUMX つが失敗しました。

Luxi 経由でジョブの実行が開始されると (-X)、バランシングが早期に中断された場合 (
SIGINT、または --max-length 経由) ですが、すべてのジョブが正常に実行された場合、終了ステータスは次のようになります。
ゼロ; ゼロ以外の終了コードは、クラスターの状態を調査する必要があることを意味します。
ジョブが失敗したか、そのステータスを計算できませんでした。これは、
ガネーティ側。

onworks.net サービスを使用して hbal オンラインを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad