7.5.2 仮想サーバのスケールイン
運用を開始したところ,リクエストに対して仮想サーバの数が多過ぎると判断できる場合には,システムのサイジングをし直し,起動する仮想サーバの数を減らして不要な仮想サーバを削除します。これをスケールインといいます。
ここでは,業務A(管理ユニット「unit_a」)について,システムのサイジングをし直した結果,2台の仮想サーバをスケールインする手順について説明します。業務Aでは,仮想サーバ2台に対して1台の予備を配置(合計で6台を配置)し,そのうち4台の仮想サーバを起動して運用しています。ここで説明する作業は仮想サーバ運用管理ホストで実施します。
- <この項の構成>
- (1) 仮想サーバの停止
- (2) 管理ユニットからの仮想サーバの削除
(1) 仮想サーバの停止
スケールインする稼働中の仮想サーバを決定して,停止します。手順を次に示します。
- vmx_list_virtualserver_statusコマンドを実行して,稼働中の管理ユニットの情報を取得します。
コマンドの実行例を次に示します。
vmx_list_virtualserver_status -unit unit_a |
- 手順1.で取得した情報を基にスケールインする仮想サーバを2台決めて,スケールインします。
コマンド実行時には,-vsオプションにスケールインする仮想サーバを指定してください。
ここでは,取得した情報から仮想サーバ名「VMX192168002103」および「VMX192168002104」をスケールインすることとします。コマンドの実行例を次に示します。
vmx_scalein_unit -vs VMX192168002103 vmx_scalein_unit -vs VMX192168002104 |
(2) 管理ユニットからの仮想サーバの削除
管理ユニットに適用されている運用ルールを変更して,管理ユニットから仮想サーバを削除します。この操作は,削除する仮想サーバが停止している状態で実施してください。
業務A(管理ユニット「unit_a」)では,仮想サーバ2台に対して1台の予備を配置して運用しています。このため,管理対象マシンにデプロイしている停止中の仮想サーバ1台も,起動しないように削除します。ここでは,合計で3台の仮想サーバを削除します。手順を次に示します。
- vmx_export_ruleコマンドを使用して,管理ユニット「unit_a」で使用している管理ユニット運用ルールを取得します。
コマンド実行時には,-unitオプションに管理ユニット名,-oオプションに管理ユニット運用ルールのファイルを格納するパスを指定してください。
ここでは,管理ユニット運用ルールのファイルを格納するパスを「C:¥work¥rule_a.properties」とします。コマンドの実行例を次に示します。
vmx_export_rule -unit unit_a -o C:¥work¥rule_a.properties |
- 取得した管理ユニット運用ルールを編集します。
管理ユニット運用ルールのファイルに次の内容を反映します。
- 管理対象マシンを3台(hv4,hv5,hv6)減らし,3台にする
unit.rule.machine_namesプロパティの値を「hv1,hv2,hv3」にします。
- 一括起動する仮想サーバを2台減らし,2台にする
unit.rule.start.numプロパティの値を「2」にします。
編集後のプロパティを次に示します。
unit.rule.machine_names=hv1,hv2,hv3 unit.rule.start.num=2 |
- vmx_update_unitコマンドを使用して,管理ユニット運用ルールを更新します。
コマンド実行時には,-unitオプションに管理ユニット名を,-ruleオプションに手順2.で編集した管理ユニット運用ルールのファイルのパスを指定してください。
ここでは,管理ユニット運用ルールのファイルのパスを手順1.で取得したパスと同じとします。コマンドの実行例を次に示します。
vmx_update_unit -unit unit_a -rule C:¥work¥rule_a.properties |
- 不要な仮想サーバを削除します。
コマンド実行時には,-unitオプションに管理ユニット名を指定してください。
管理ユニットをデプロイすると,編集後の管理ユニット運用ルールが適用され,3台の仮想サーバが削除されます。コマンドの実行例を次に示します。
vmx_deploy_unit -unit unit_a |