dklab_vzmemの使用方法
Vzmemは、1つのマシンが別のマシンに「クロール」されないように、複数のOpenVZ仮想マシン間で物理メモリを「視覚的に」分散できるコマンドラインユーティリティです。 つまり いずれかのマシンのメモリを増やす必要がある場合は、既存のマシンの1つから、または空きブロックのプールから、このメモリがどこに「食い込む」かを常に確認できます。
サーバーにvzmemをインストールしますメモリ割り当ては、テキストファイル/ etc / vz / conf / MEM-MAPで設定され、次のようになります。
cd / usr / sbin wget https://raw.github.com/DmitryKoterov/dklab_vzmem/master/vzmem chmod + x vzmem
ファイル/ etc / vz / conf / MEM-MAP
300 10003 vps1.example.com =========== 109552K 10004 vps2.example.com =============================== 335503K 20004 vps3.example.com ========== ++++++++++++++++ 109552K + 221324Kスワップ 無料======================== 513525K
- 各「=」は物理メモリ(この例では1/300)を表し、OpenVZ VMGUARPAGESパラメーターの値に影響を与えます(SHMPAGES値も設定します)。 異なる仮想マシン間で「=」アイコンを移動することにより、メモリを再分配できます(ユーティリティは、ブロックの総数が300に等しいままであることを確認します)。
- 「+」記号は、「現在使用されていないブロックまたはスワップからの追加メモリ」を表します。 好きなだけ追加することができます(ただし、重大な状況でマシンが過度にSWAPに入らないように、できるだけ多くしないでください)。 合計で、「=」および「+」アイコンの数は、PRIVVMPAGESパラメーターの値を示します(同じ値がOOMGUARPAGESに記録されます)。
- さて、「=」および「+」アイコンの後のキロバイト単位の値は自動的に計算されます-手で変更する必要はありません。
MEM-MAPへの変更の適用
MEM-MAPに変更を加えたら、次のコマンドを実行する必要があります。
/ etc / vz / conf / MEM-MAPへの変更の適用合計:
vzmem -a
- VMGUARPAGES = SHMPAGES =桁数( "=")
- PRIVVMPAGES = OOMGUARPAGES =桁数( "=")+桁数( "+")
MEM-MAPファイルの初期作成
OpenVZ構成に基づいて最初に/ etc / vz / conf / MEM-MAPを作成するには、次のコマンドを実行します。
/ etc / vz / conf / MEM-MAPファイルの初期作成300の代わりに、物理メモリに分割する「ブロック」の数を決定する任意の数を指定できます。 「=」および「+」アイコンをある行から別の行に移動する方が便利になるように、この番号を設定します。
vzmem -i 300
vzmem -iの呼び出し時のメモリが矛盾した方法で既に割り当てられている場合、vzmemは、マシン間で「=」アイコンの数を比例的に分配しようとします。 念のため、初期化後に結果を確認してください。
PS
vzmemスクリプトは、Perlで200行かかります( GitHubのvzmem )。 急に自転車を発明した場合は、コメントに書いてください。 OpenVZ用の他の同様の小さなユーティリティ: vzfirewall 、 vzset 、 vzenter 。