Windows Server 2008 R2のNLBで使用できるPowerShellコマンドレット (Set-NlbClusterPortRuleNodeWeight) について

スポンサーリンク

Windows Server 2008 R2では、Active Directory (AD) やフェールオーバー クラスタリング (WSFC)、グループ ポリシーといった役割および機能がインストールされたサーバーの管理、もしくは管理したい役割および機能についてリモート サーバー管理ツールをインストールしたサーバー上で、PowerShellコマンドレットを用いて管理することが可能です。

各役割および機能に関するPowerShellコマンドレットのヘルプについて、オンライン上で公開されていますが、主に英語のみで日本語の情報はあまり公開されていないようです。

ここでは、ネットワーク負荷分散 (NLB) に関するPowerShellコマンドレットの情報について、日本語としてオンライン上で備忘録として確認したいと思い、本ブログ上で纏めてみることにしました (内容については「Get-Help」コマンドレットの-Fullオプションを用いて実行した結果を編集したものとなります)。

この記事では、「Set-NlbClusterPortRuleNodeWeight」コマンドレットについて記載します (他のコマンドレットについては、「Windows Server 2008 R2のNLBで使用できるPowerShellコマンドレットについて」を参照)。

■名前

Set-NlbClusterPortRuleNodeWeight

■概要

対象のNLBノードのポート規則の負荷配分を設定します。

■構文

Set-NlbClusterPortRuleNodeWeight [-Port] <UInt32> -InterfaceName <string>
     -IP <IPAddress> [-HostName <string>] [-Equal]
     [-LoadWeight <System.Nullable`1[[System.Int32>] [<CommonParameters>]

Set-NlbClusterPortRuleNodeWeight -InputObject <PortRule[]> [-Equal]
     [-LoadWeight <System.Nullable`1[[System.Int32>] [<CommonParameters>]

■説明

Set-NlbClusterPortRuleNodeWeightコマンドレットは、対象の NLB ノードのポート規則の負荷配分を設定します。負荷配分は、ホストのフィルター モードがMultipleの場合にのみ適用されます。ホストのフィルター モードがMultipleの場合、負荷配分によって、関連付けられているポート規則に従ってこのノードが処理する必要のある、負荷分散されたネットワーク トラフィックの相対的な量が指定されます。許容される値は0 (ゼロ) ~100です。ホストによるネットワーク トラフィックの処理を禁止するには、負荷配分を0 (ゼロ) に設定します。各ノードによって処理されるトラフィックの実際の配分量は、ローカルの負荷配分をクラスターの負荷配分の総和で除算することで求められます。クラスター内の各ノードに異なる負荷配分を指定するには、LoadWeightパラメーターを使用します。または、LoadWeightパラメーターの代わりにEqualパラメーターを使用することで、すべてのノードにネットワーク負荷を均等に配分できます。

この操作により、すべてのクラスター ノードの構成が変更されます。結果として、NLBクラスターでは、すべてのノードで収束プロセスを再開し、確実に構成の変更がすべてのノードで適用され、一貫した状態に達するようにする必要があります。すべてのクラスター ノードで収束プロセスが完了し、収束した状態に戻るまで、NLBクラスターで追加の操作を開始しないでください。すべてのクラスター ノードの状態をチェックするには、Get-NlbClusterNodeコマンドレットを使用します。構成を変更した結果、クラスター ノードで収束が終了しなくなった場合は、イベント ログを参照して、クラスター ノード間の構成の不一致を解決してください。

■パラメーター

-Equal [<SwitchParameter>]
クラスター ノード上のポート規則の負荷配分を Equal に設定します。これは、すべてのノードにネットワーク負荷が等しく分散されるように指定します。このパラメーターは、ポート規則フィルター モードが複数ホストの場合にのみ適用できます。

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-HostName <string>
このコマンドレットの実行対象となるクラスター ホストの名前を指定します。このパラメーターを省略した場合、または”-HostName .”を使用した場合は、ローカル クラスターが想定されます。[Alias: hn]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-InputObject <PortRule[]>
負荷配分を設定する対象のクラスター ポート規則を指定します。これは、ポート規則フィルター モードが複数ホストの場合にのみ適用できます。

必須true
位置named
既定値
パイプライン入力を許可するtrue (ByValue, ByPropertyName)
ワイルドカード文字を許可するfalse

-InterfaceName <string>
NLBのバインド先のインターフェイスを指定します。これは、このコマンドレットの実行対象のクラスターのインターフェイスです。

必須true
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-IP <IPAddress>
負荷配分を設定する対象のクラスター ポート規則の IP アドレスを指定します。

必須true
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-LoadWeight <System.Nullable`1[[System.Int32>
このコマンドレットの実行対象となるクラスター ホストの名前を指定します。このパラメーターを省略した場合、または”-HostName .”を使用した場合は、ローカル クラスターが想定されます。[Alias: hn]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Port <UInt32>
ノード負荷配分を設定する対象のポート規則に含まれるポート番号を指定します。有効範囲は0から65535までです。

必須true
位置1
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: VerboseDebugErrorActionErrorVariableWarningActionWarningVariableOutBuffer、およびOutVariable。詳細については、「get-help about_commonparameters」と入力してヘルプを参照してください。

■入力

Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRule

■出力

Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRule

■メモ

■例

例1

 Get-NlbClusterNode | Get-NlbClusterPortRule | Set-NlbClusterPortRuleNodeWeight -Equal 

例1:出力結果

IPAddress State     Start     End       Protocol  Mode      Affinity  Timeout
——— —–     —–     —       ——–  —-      ——–  ——-
All       Enabled   0         65535     Both      Multiple  Single    0

例1:説明

このコマンドは、すべてのノード上で負荷配分が均等になるように、すべてのポート規則の負荷配分を設定します。Multipleホストを使用するポート規則に対して使用します。目的の結果を得るには、すべてのクラスター ノードでこれを設定する必要があります。

例2

 Get-NlbClusterNode | Get-NlbClusterPortRule 80 | Set-NlbClusterPortRuleNodeWeight -Equal 

例2:出力結果

IPAddress State     Start     End       Protocol  Mode      Affinity  Timeout
——— —–     —–     —       ——–  —-      ——–  ——-
All       Enabled   0         65535     Both      Multiple  Single    0
All       Enabled   0         65535     Both      Multiple  Single    0

例2:説明

このコマンドは、すべてのノード上で負荷配分が均等になるように、指定したポート規則の負荷配分を設定します。Multipleホストを使用するポート規則に対して使用します。目的の結果を得るには、すべてのクラスター ノードでこれを設定する必要があります。

例3

 Get-NlbClusterNode node1 | Get-NlbClusterPortRule 80 | Set-NlbClusterPortRuleNodeWeight -LoadWeight 25 | fl * 

例3:出力結果

Cluster          : cluster1
NodeName         : node1
VirtualIPAddress : 255.255.255.255
StartPort        : 0
EndPort          : 65535
Affinity         : Single
FilteringMode    : Multiple
Protocol         : Both
EqualLoad        : True
LoadWeight       : 25
PortState        : Enabled
Priority         :
Timeout          : 0

例3:説明

このコマンドは、node1上の指定したポート規則について負荷配分を25に設定します。Multipleホストのポート規則に対して使用します。各ノードに対して負荷配分を設定する必要があります。

■関連するリンク

  • Set-NlbClusterPortRule
  • Set-NlbClusterPortRuleNodeHandlingPriority
  • Add-NlbClusterPortRule

[参考]