qshinoの日記

Powershell関係と徒然なこと

net LBFO cmdlet

コマンド分類

基本構造

  • Keyword: NetLbfoTeam
  • Verb: New, Remove, Get, Set, Add, Rename
  • Object: (none), Nic, Member

Verb-Object matrix

  • New: None
  • Add: Nic, Member
  • Remove: None, Member, Nic

  • Get: None, Member, Nic

  • Set: None, Member, Nic

  • Rename: None

NoneはObjectなし。Teamを表す。

Object説明

Teamが最上位のObject。その中に物理NICのMemberと論理NICnicがある。

Team: 上記ではNone。Teamの中に複数の物理NICメンバーで構成される複数の論理NICを持つ。Newで作成、Removeで削除。

member: チームを構成する物理NIC。TeamにAddで追加、Removeで削除。

nic: チームが作成する論理NIC。VLAN単位でNICが作成される。TeamにAddで追加、Removeで削除。

Team作成/削除

作成
# チームを作成
PS C:\> New-NetLbfoTeam -Name "Public-TEAM" -TeamMembers ("イーサネット 2", "イーサネット 3") -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic -Confirm:$false
削除
Remove-NetLbfoTeam -Name "Public-TEAM"

モード

-TeamingMode

Lacp : LACP動的
Static : 静的
SwitchIndependent : スイッチ非依存

-LoadBalancingAlgorithm

Dynamic : ダイナミック
HyperVPort : Hyper-Vのポート
TransportPorts : アドレスのハッシュ
IPAddresses : IPアドレス (GUIでは設定できず、PowerShellからのみ設定可能)
MacAddresses: MACアドレス (GUIでは設定できず、PowerShellからのみ設定可能)

Member追加/削除

追加
# ネットワークアダプターの追加
Add-NetLbfoTeamMember -Team "Public-TEAM" -Name "イーサネット 3" -AdministrativeMode Active
削除
# ネットワークアダプターの解除
Remove-NetLbfoTeamMember -Team "Public-TEAM" -Name "イーサネット 3"

Nic追加/削除

追加
Add-NetLbfoTeamNIC -Team "Public-TEAM" -VlanID 2
削除
Remove-NetLbfoTeamNic -Team "Public-TEAM" -VlanID 2

Team設定

モードを変更する。TMとLBを変更可能。

  • TM: Teaming mode
  • LB: Load balancing mode
Set-NetLbfoTeam -Name "Public-TEAM" -TeamingMode Static  -LoadBalancingAlgorithm IPAddresses

Nic設定

VLAN idを変更する。

Nic/vlaid設定
Set-NetLbfoTeamNic -Name "Public-TEAM" -VlanID 1
# チーム名指定も可能
# Set-NetLbfoTeamNic -Team "Public-TEAM" -VlanID 1
Nic/vlanid削除
Set-NetLbfoTeamNic -Name "Public-TEAM - VLAN 1" -Default
# チーム名指定も可能 
# Set-NetLbfoTeamNic -Team "Public-TEAM" -Default

member設定

Active/Standbyを変更する。

Set-NetLbfoTeamMember -Name "イーサネット 3" -AdministrativeMode Standby

Rename

Rename-NetLbfoTeam -Name "Public-TEAM" -NewName "Public-TEAM-New"

IPアドレス設定/DNS設定

IPアドレスDNSをNet cmdletでnicを指定して設定する。

# IPアドレスの設定
Get-NetAdapter -Name "Public-TEAM - VLAN 2" | New-NetIPAddress -IPAddress "192.168.133.14" -PrefixLength 24 -DefaultGateway "192.168.133.1"
# DNSの指定
Set-DnsClientServerAddress -InterfaceAlias "Public-TEAM - VLAN 2" -ServerAddresses "192.168.133.2"
# IPv6のバインド停止
Get-NetAdapterBinding -Name "Public-TEAM - VLAN 2" -ComponentID ms_tcpip6 | Disable-NetAdapterBinding

コマンド一覧

PS C:\> Get-Command -Module NetLbfo

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Function        Add-NetLbfoTeamMember                              NetLbfo
Function        Add-NetLbfoTeamNic                                 NetLbfo
Function        Get-NetLbfoTeam                                    NetLbfo
Function        Get-NetLbfoTeamMember                              NetLbfo
Function        Get-NetLbfoTeamNic                                 NetLbfo
Function        New-NetLbfoTeam                                    NetLbfo
Function        Remove-NetLbfoTeam                                 NetLbfo
Function        Remove-NetLbfoTeamMember                           NetLbfo
Function        Remove-NetLbfoTeamNic                              NetLbfo
Function        Rename-NetLbfoTeam                                 NetLbfo
Function        Set-NetLbfoTeam                                    NetLbfo
Function        Set-NetLbfoTeamMember                              NetLbfo
Function        Set-NetLbfoTeamNic                                 NetLbfo

課題

nic追加の際に、nic名が自動で作成され、プログラム的に制御が複雑化する。

add-nic

add-nicのパラメータに-nameがあるので、これで新nic名を指定すれば名前を固定できるか?

Parameter Set: cim:CreateInstance0 Add-NetLbfoTeamNic [-Team] [-VlanID] [[-Name] ] [-AsJob] [-CimSession <CimSession[]> ] [-ThrottleLimit ] [-Confirm] [-WhatIf] [ ]

参考資料

technet https://technet.microsoft.com/ja-jp/library/jj130850(v=wps.630).aspx

sample http://blog.shibata.tech/entry/2016/04/13/211524