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] |
■説明
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>
このコマンドレットは、次の共通パラメーターをサポートします: Verbose、Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、OutBuffer、および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
[参考]
- Set-NlbClusterPortRuleNodeWeight
http://technet.microsoft.com/en-us/library/ee817112.aspx - Cmdlet Reference for Windows Server 2008 R2
http://technet.microsoft.com/en-us/library/ee407531.aspx - Network Load Balancing cmdlets in Windows PowerShell
http://technet.microsoft.com/en-us/library/ee817138.aspx - ネットワーク負荷分散
http://technet.microsoft.com/ja-jp/library/cc770558.aspx
コメント
[…] Set-NlbClusterPortRuleNodeWeight […]