PowerShell NLB

前提条件

  • 以下のサーバ条件を基に説明する。
    コンピュータ名インターフェイス名インターフェイスIPアドレス
    NLB1Local1192.168.0.1/24
    NLB2Local2192.168.0.2/24
  • PowerShell操作環境はNLB1とする。

PowerShellにてNLB(ネットワーク負荷分散:Network Load Balancing)を扱えるようにする

PS> Import-Module -Name NetworkLoadBalancingClusters

コマンドレット一覧

Get-Command -Module NetworkLoadBalancingClusters | Select-Object -Property Name

作成

NLBクラスターを作成する

  • コンピュータ"NLB1"でクラスター名"cluster"、クラスターIPアドレス"192.168.0.3/24"、ユニキャストモードのクラスターを作成する
    PS> New-NlbCluster -HostName NLB1 -InterfaceName Local1 -ClusterName cluster -ClusterPrimaryIP 192.168.0.3

操作モードを指定してNLBクラスターを作成する

  • コンピュータ"NLB1"でクラスター名"cluster"、クラスターIPアドレス"192.168.0.3/24"、マルチキャストモードのクラスターを作成する
    PS> New-NlbCluster -HostName NLB1 -InterfaceName Local1 -ClusterName cluster -ClusterPrimaryIP 192.168.0.3 -OperationMode MULTICAST
    OperationMode意味
    UNICASTユニキャスト
    MULTICASTマルチキャスト
    IGMPMULTICASTIGMPマルチキャスト

クラスタIPアドレスのサブネットマスクを指定して、NLBクラスターを作成する

  • コンピュータ"NLB1"でクラスター名"cluster"、クラスターIPアドレス"192.168.0.3/27のクラスターを作成する
    PS> New-NlbCluster -HostName NLB1 -InterfaceName Local1 -ClusterName cluster -ClusterPrimaryIP 192.168.0.3 -SubnetMask 255.255.255.224

専用IPアドレスを追加して、NLBクラスターを作成する

  • コンピュータ"NLB1"でクラスター名"cluster"、クラスターIPアドレス"192.168.0.3/24"、追加専用IPアドレス"192.168.0.4/24"のクラスターを作成する
    PS> New-NlbCluster -HostName NLB1 -InterfaceName Local1 -ClusterName cluster -ClusterPrimaryIP 192.168.0.3 -DedicatedIP 192.168.0.4

サブネットマスクを指定した専用IPアドレスを追加して、NLBクラスターを作成する

  • コンピュータ"NLB1"でクラスター名"cluster"、クラスターIPアドレス"192.168.0.3/24"、追加専用IPアドレス"192.168.0.4/27"のクラスターを作成する
    PS> New-NlbCluster -HostName NLB1 -InterfaceName Local1 -ClusterName cluster -ClusterPrimaryIP 192.168.0.3 -DedicatedIP 192.168.0.4 -DedicatedIPSubnetMask 255.255.255.224

専用IPアドレスに使用するIPv6アドレスを生成する

  • NIC"Local1"に専用IPアドレスとして利用するIPv6アドレスを生成する(表示する)
    PS> New-NlbClusterIpv6Address -InterfaceName Local1

専用IPアドレスに使用するリンクローカルIPv6アドレスを生成する

  • NIC"Local1"に専用IPアドレスとして利用するリンクローカルIPv6アドレスを生成する(表示する)
    PS> New-NlbClusterIpv6Address -InterfaceName Local1 -LinkLocal

専用IPアドレスに使用するグローバルユニキャストIPv6アドレスを生成する

  • NIC"Local1"に専用IPアドレスとして利用するグローバルユニキャストIPv6アドレスを生成する(表示する)
    PS> New-NlbClusterIpv6Address -InterfaceName Local1 -Global

取得

NLBクラスター名を取得する

PS> (Get-NlbCluster).Item(0).Name

NLBクラスターIPアドレスを取得する

PS> (Get-NlbCluster).Item(0).ClusterIPAddress
PS> Get-NlbClusterVip

クラスター操作モードを取得する

PS> (Get-NlbCluster).Item(0).OperationMode
OperationMode意味
UNICASTユニキャスト
MULTICASTマルチキャスト
IGMPMULTICASTIGMPマルチキャスト

ホストの初期状態を取得する

PS> (Get-NlbClusterDriverInfo).InitialHostState

ホストの現在の状態を取得する

PS> (Get-NlbClusterDriverInfo).CurrentHostState

サーバの再起動時に中断された状態を維持するかどうかの設定内容を取得する

PS> (Get-NlbClusterDriverInfo).PersistedHostStates

クラスターに設定されたノード一覧を取得する

  • 全てのNLBクラスターのノード一覧を取得する
    PS> Get-NlbClusterNode
  • "testCluster"クラスターに設定されたノード一覧を取得する
    PS> Get-NlbClusterNode -InputObject ((Get-NlbCluster) | Where-Object {$_.Name -eq "testCluster" })

特定のクラスターに設定されているノード数を取得する

  • "testCluster"クラスターに設定されているノード数を取得する
    PS> (Get-NlbClusterNode -InputObject ((Get-NlbCluster) | Where-Object {$_.Name -eq "testCluster" })).Count

クラスターのノードIPアドレス情報一覧を取得する

  • 全クラスターのノードIPアドレス情報一覧を取得する
    PS> Get-NlbClusterNodeDip
  • ノード名が"NLB1"のIPアドレス情報一覧を取得する
    PS> Get-NlbClusterNodeDip -NodeName "NLB1"
  • 専用IPアドレスに"192.168.0.1"を持つノードのIPアドレス情報一覧を取得する
    PS> Get-NlbClusterNodeDip -IP "192.168.0.1"

ネットワークインターフェースについてのノード情報を取得する

  • 全てのネットワークインターフェースについて、ノード情報を取得する
    PS> Get-NlbClusterNodeNetworkInterface
  • インターフェイス名が"Local1"のNICについて、ノード情報を取得する
    PS> Get-NlbClusterNodeNetworkInterface -InterfaceName "Local1"

クラスターのポート規則を取得する

  • 全てのポート規則を取得する
    PS> Get-NlbClusterPortRule
  • "192.168.0.1"のクラスターIPアドレスについて設定されたポート規則を取得する
    PS> Get-NlbClusterPortRule -IP 192.168.0.1
  • ノード名が"NLB1"のポート規則を取得する
    PS> Get-NlbClusterPortRule -NodeName NLB1
  • インターフェイス名が"Local1"のNICについて、ポート規則を取得する
    PS> Get-NlbClusterPortRule -InterfaceName "Local1"
  • "80"番ポートが含まれるポート規則を取得する
    PS> Get-NlbClusterPortRule -Port 80

追加

既存のNLBクラスターにノードを追加する

  • ホスト"NLB1"に作成されたNLBクラスターに、ホスト"NLB2"の"Local2"インターフェースをノード追加する
    PS> Get-NLBCluster -HostName NLB1 | Add-NlbClusterNode -NewNodeName NLB2 -NewNodeInterface Local2

既存のNLBクラスターノードに専用IPアドレスを追加する

  • ホスト"NLB1"の"Local1"インターフェースに"192.168.0.4/24"の専用IPアドレスを追加する
    PS> Add-NlbClusterNodeDip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.4 -SubnetMask 255.255.255.0

既存のNLBクラスターにポート規則を追加する

  • すべてのクラスターIPアドレスの、TCP/UDP 443ポートで受信するトラフィックを複数ホスト(アフィニティ:単一)で処理するポート規則を追加する
    PS> Add-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -StartPort 443 -EndPort 443
  • IPアドレス"192.168.0.3"へのTCP 443ポートで受信するトラフィックを複数ホスト(アフィニティ:単一)で処理するポート規則を追加する
    PS> Add-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -StartPort 443 -EndPort 443 -IP 192.168.0.3 -Protocol TCP
    Protocol意味
    TCPTCP
    UDPUDP
    bothTCP/UDP
  • すべてのクラスターIPアドレスの、TCP/UDP 443ポートで受信するトラフィックを単一ホストで処理するポート規則を追加する
    PS> Add-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -StartPort 443 -EndPort 443 -Mode Single
    Mode意味
    Multipul複数ホスト
    Single単一ホスト
    Disableこのポート範囲を使用不可にする
  • すべてのクラスターIPアドレスの、TCP/UDP 443ポートで受信するトラフィックを複数ホスト(アフィニティ:ネットワーク、タイムアウト:5分)で処理するポート規則を追加する
    PS> Add-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -StartPort 443 -EndPort 443 -Affinity Network -Timeout 5
    Affinity意味
    Noneなし(Affinity:なし の場合はタイムアウト設定は無効)
    Single単一
    Networkネットワーク

既存のNLBクラスターにクラスターIPアドレスを追加する

  • ホスト"NLB1"のNLBクラスターに"192.168.0.10"のクラスターIPアドレスを追加する
    PS> Add-NlbClusterVip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.10 -SubnetMask 255.255.255.0

削除

NLBクラスターを削除する

  • ローカルNLBクラスターを削除する
    PS> Remove-NlbCluster
  • ローカルNLBクラスターを確認なしに削除する
    PS> Remove-NlbCluster -Force

NLBクラスターノードを削除する

  • ホスト"NLB2"の"Local2"インターフェースで構成されるノードを削除する
    PS> Remove-NlbClusterNode -HostName NLB2 -InterfaceName Local2
  • ホスト"NLB2"の"Local2"インターフェースで構成されるノードを確認なしに削除する
    PS> Remove-NlbClusterNode -HostName NLB2 -InterfaceName Local2 -Force

NLBクラスターノードの専用IPアドレスを削除する

  • ホスト"NLB1"の"Local1"インターフェースの専用IPアドレス"192.168.0.4"を削除する
    PS> Remove-NlbClusterNodeDip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.4
  • ホスト"NLB1"の"Local1"インターフェースの専用IPアドレス"192.168.0.4"を確認なしに削除する
    PS> Remove-NlbClusterNodeDip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.4 -Force

NLBクラスターのポート規則を削除する

  • すべてのクラスターIPアドレスを指定して作成されたポート規則を削除する
    PS> Remove-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -IP 255.255.255.255
  • すべてのクラスターIPアドレスを指定して作成されたポート規則を確認なしに削除する
    PS> Remove-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -IP 255.255.255.255 -Force
  • IPアドレスが"192.168.0.3"で、ポート番号80を含む範囲で指定されたポート規則を削除する
    PS> Remove-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.3 -Port 80

クラスターIPアドレスを削除する

  • クラスターIPアドレス"192.168.0.4"を削除する
    PS> Remove-NlbClusterVip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.4
  • クラスターIPアドレス"192.168.0.4"を確認なしに削除する
    PS> Remove-NlbClusterVip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.4 -Force

設定

NLBクラスター名を設定する

  • クラスター名を"cluster2"に設定する
    PS> Set-NlbCluster -HostName NLB1 -InterfaceName Local1 -Name cluster2

NLBクラスターの操作モードを設定する

  • クラスター操作モードを"IGMPマルチキャスト"に設定する
    PS> Set-NlbCluster -HostName NLB1 -InterfaceName Local1 -OperationMode IGMPMULTICAST
    OperationMode意味
    UNICASTユニキャスト
    MULTICASTマルチキャスト
    IGMPMULTICASTIGMPマルチキャスト

NLBクラスターノードのホスト優先順位を設定する

  • ホスト"NLB1"の優先順位を"5"に設定する
    PS> Set-NlbClusterNode -HostName NLB1 -InterfaceName Local1 -HostPriority 5

NLBクラスターノードのホストの初期状態を設定する

  • ホスト"NLB1"のホスト初期状態を"中断"に設定する
    PS> Set-NlbClusterNode -HostName NLB1 -InterfaceName Local1 -InitialHostState Suspended
    InitialHostState意味
    Started開始
    Stopped停止
    Suspended中断

NLBクラスターノードがコンピュータ再起動に中断状態を維持するかどうかを設定する

  • ホスト"NLB1"が、コンピュータ再起動後に中断された状態を保持するように設定する
    PS> Set-NlbClusterNode -HostName NLB1 -InterfaceName Local1 -RetainSuspended $True
  • ホスト"NLB1"が、コンピュータ再起動後に中断された状態を保持しないように設定する
    PS> Set-NlbClusterNode -HostName NLB1 -InterfaceName Local1 -RetainSuspended $False

NLBクラスターノードの専用IPアドレスを設定する

  • ホスト"NLB1"の"Local1"インターフェースの専用IPアドレス"192.168.0.4"を"192.168.0.5"に設定する
    PS> Set-NlbClusterNodeDip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.4 -NewDip 192.168.0.5

NLBクラスターのポート規則を設定する

  • 全てのポート規則について、クラスターIPアドレスを"192.168.0.4"に設定する
    PS> Set-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -NewIP 192.168.0.4
  • 全てのポート規則について、プロトコルを"UDP"に設定する
    PS> Set-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -NewProtocol UDP
    NewProtocol意味
    TCPTCP
    UDPUDP
    bothTCP/UDP
  • 全てのポート規則について、フィルターモードを"単一"に設定する
    PS> Set-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -NewMode Single
    NewMode意味
    Multipul複数ホスト
    Single単一ホスト
    Disableこのポート範囲を使用不可にする
  • 全てのポート規則について、アフィニティを"なし"に設定する
    PS> Set-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -NewAffinity None
    NewAffinity意味
    Noneなし(Affinity:なし の場合はタイムアウト設定は無効)
    Single単一
    Networkネットワーク
  • 全てのポート規則について、アフィニティのタイムアウトを"5"分に設定する
    PS> Set-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -NewTimeout 5
  • ポート"443"を範囲に含むポート規則について、ポート範囲を"0"から"500"に設定する
    PS> Set-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443 -NewStartPort 0 -NewEndPort 500

ポート規則の処理優先順位を設定する(フィルターモードが単一ホストになっている場合のみ有効)

  • IPアドレス"192.168.0.3"で"443"ポートを含むポート規則について、処理優先順位を"5"に設定する
    PS> Set-NlbClusterPortRuleNodeHandlingPriority -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.3 -Port 443 -HandlingPriority 5

ポート規則の負荷配分を設定する(フィルターモードが複数ホストになっている場合のみ有効)

  • IPアドレス"192.168.0.3"で"443"ポートを含むポート規則について、NLB1の負荷配分を75%に設定する
    PS> Set-NlbClusterPortRuleNodeWeight -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.3 -Port 443 -LoadWeight 75
  • IPアドレス"192.168.0.3"で"443"ポートを含むポート規則について、各NLBノードの負荷配分が均一になるように設定する
    PS> Set-NlbClusterPortRuleNodeWeight -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.3 -Port 443 -Equal

クラスター仮想IPアドレスを設定する

  • クラスターIPアドレス"192.168.0.4"を"192.168.0.10"に設定(変更)する
    PS> Set-NlbClusterVip -HostName NLB1 -InterfaceName Local1 -IP 192.168.0.4 -NewIP 192.168.0.10

有効化

ポート規則をを有効化する

  • ノード"NLB1"の"443"ポートを含むポート規則を有効化する
    PS> Enable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443
  • 全てのノードの"443"ポートを含むポート規則を有効化する
    PS> Enable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443 -ClusterWide
  • ノード"NLB1"、IPアドレス"192.168.0.3"の"443"ポートを含むポート規則を有効化する
    PS> Enable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443 -IP 192.168.0.3

無効化

ポート規則をを無効化する

  • ノード"NLB1"の"443"ポートを含むポート規則を無効化する
    PS> Disable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443
  • 全てのノードの"443"ポートを含むポート規則を無効化する
    PS> Disable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443 -ClusterWide
  • ノード"NLB1"、IPアドレス"192.168.0.3"の"443"ポートを含むポート規則を無効化する
    PS> Disable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443 -IP 192.168.0.3
  • ノード"NLB1"の"443"ポートを含むポート規則をドレイン操作で無効化する
    PS> Disable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443 -Drain
  • ノード"NLB1"の"443"ポートを含むポート規則をドレイン操作で無効化する (2分経ってもドレインされない場合は接続を切断する)
    PS> Disable-NlbClusterPortRule -HostName NLB1 -InterfaceName Local1 -Port 443 -Drain -Timeout 2

起動

NLBクラスターを起動する

PS> Start-NlbCluster

クラスターノードを起動する

  • ノード"NLB1"を起動する
    PS> Start-NlbClusterNode -HostName NLB1 -InterfaceName Local1

停止

NLBクラスターを停止する

  • NLBクラスターを停止する (接続中のユーザは切断される)
    PS> Stop-NlbCluster
  • NLBクラスターをドレイン停止する (接続中のユーザの切断を待ってから停止する)
    PS> Stop-NlbCluster -Drain

NLBクラスターノードを停止する

  • ノード"NLB1"を停止する
    PS> Stop-NlbClusterNode -HostName NLB1 -InterfaceName Local1
  • ノード"NLB1"をドレイン停止する
    PS> Stop-NlbClusterNode -HostName NLB1 -InterfaceName Local1 -Drain

一時停止

NLBクラスターを中断する

PS> Suspend-NlbCluster

NLBクラスターノードを中断する

  • ノード"NLB2"を中断する
    PS> Suspend-NlbClusterNode -HostName NLB2 -InterfaceName Local2

再開

NLBクラスターを再開する

PS> Resume-NlbCluster

NLBクラスターノードを再開する

  • ノード"NLB2"を再開する。(Suspend状態からStopped状態になる)
    PS> Resume-NlbClusterNode -HostName NLB2 -InterfaceName Local2

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-09-12 (月) 10:22:00 (2476d)