自助と公助
自力で生きていけない人たちを国や政府は助けるべきだとは思わないと言う人が日本では三人に一人以上もいることがアンケートでわかりました。
日本 38% アメリカ 28% イギリス 8% フランス 8% ドイツ 7% 中国 9% インド 8%
国の人件費
2017/9/25 衆議院解散という事で、関連情報
国の人件費
H26予算政府案
国の負担する人件費: 77,421億円
内訳/単位、億円
- 国家公務員の給与費: 38,415
- 議員歳費他*1 : 25,484
- 国共済負担金等: 9,011
- 退職手当: 3,594
- その他: 557
国家公務員の人件費
上記の*1を除く費用。
- 国家公務員の人件費: 51,937
内訳
- 行政機関: 30,538億円、29.7万人。
- 自衛官、特別機関*2: 21 399億円、27.9万人。
*2の人数内訳
- 自衛官24.7万人/実員数22.9万人
- 国会: 0.4万人
- 裁判所: 2.6万人
人件費推移
昭和45年: 約1.5兆円、グラフ読み取り 平成12年: 10兆3467億円 平成15年: 約7.2兆円、グラフ読み取り、2003 平成16年: 約5.3兆円,グラフ読み取り,2004 平成25年: 約4.7兆円、グラフ読み取り/2013年 平成28年: 5兆1937億円,2016
*1 議員歳費、義務教育費、国庫負担金等:
スイッチ冗長化 by 非STP/非スタック
非Stackableスイッチで冗長化
VLAN分割による非スタッカブル、非STPスイッチを使ったスイッチ冗長化。
サーバsvはwinLBFOのスイッチ非依存モードを使用する。
接続は下記の通り。
sv - sw1 - sw3 || X - sw2 -sw4
svからsw1,2へは冗長接続。このままでは、sw1-sw2-sw3-sw1等の多数のループが発生する。そこでVLAN分割する事でループを回避する。
回避方法
各sw単位にVLANを割り振り、VLAN単位ではループが発生しない構成とする。sv-sw間は全てのvlanを透過する。
例えば、sw1のvlanパケットはsw1-sw2間のみ通し、その他を遮断。sw1-sw2-X-sw3-X-sw1のループ中、X印のsw2-sw3, sw3-sw1間が遮断されループを回避する。
また、sw3のvlanはsw1,sw2-sw3の2経路のみとし、sw1-sw2間、sw2-sw4間を遮断する。これにより、sw3-sw1-X-sw2-sw3の経路中、X印のsw1-sw2間が遮断され、ループしない。
sw1-sw2間は、sv-sw1間障害時にsw2経由でsw1に到達させるために必要となる。
sw1設定
sw1のポートを4種類に分類する。
- sv接続 : 全てのvlan透過。
- sw2接続: sw1,2のvlanのみ透過。
- sw3,4接続: それぞれ接続先swのvlanのみ透過。
- デバイス接続: 本swのvlanのみ透過。
各ポートを1. svポート、2. バイパスポート、3. ダウンポート、4. デバイスポートと呼ぶ。
svポート
任意のvlanを通す。 in/out共にtagを付けたまま通す。
バイパスポート
outは接続先sw2のvlanのみ通す。inは自sw1のvlanのみ通す。但し、in/outで透過パケットを制御できない場合は、自sw1と接続先sw2の二つのvlanを通す。in/out共にtagを付けたままパケットを通す。
ダウンポート
接続先swのvlanパケットのみ通す。outパケットはtag不要、inパケットはtagを付与する。
デバイスポート
本swのvlanパケットのみ通す。 tagVlan未対応デバイスを接続するため、本ポートへのoutパケットはtagを外す。inパケットはtagを付与する。
sw2設定
sw1設定と同様。
sw3, sw4設定
自swのvlanのみ到達する為、設定不要。
補足: sw1,2二つのuplinkに接続されているが、sw3,4のvlanはsw1,2間が切れており、それぞれsvに戻るのみ。但し、宛先MacアドレスはsvのNICの一方のみのため、何方かのパケットは破棄される。また、mac学習後は何方か一方にしか返さない。
宛先macはarp応答のMac。よって、arp応答Macがsvの一つのnicに固定されていれば問題なし。WinLBFOスイッチ非依存モードのarp応答Macは何方か一方からのみ返すチームmacであり問題なし。
winLBFO スイッチ非依存モード
スイッチ非依存モードのMacアドレス
問題があるとすれば障害切替時。LBFOが障害検知し、チームmacを切替た場合の遷移は下記の通り。
- 旧macでarp応答。
- LBFOが障害検知し、切り替え。
- 旧macへのパケット破棄。
- Arp応答に新Mac
- switchのmacテーブル切り替え
新macにパケット送信。
- スイッチのmacテーブル更新迄は、パケットは旧macにのみ送信される。
切り替え前スイッチのmacテーブルのエントリが削除される迄は、パケットが旧経路で送り続けられる。但し、チームmacは別のnicに切り替わっており、LBFOが切り替え前のnicに到達したパケットを破棄し続ければ、パケットが重複することはない。但し、切り替え前のパケットは消滅する。
arp応答後からmacテーブル更新迄のパケットは新旧二つのnicに送られる。その期間、LBFOが旧nicで受け取ったパケットを破棄すれば同一パケットが重複してsvが受理する事はない。LBFO次第。
macエントリー削除は、ciscoでは最大599秒=約10分。結構長い。
同一macアドレスのパケットが別のポートに出た時に更新されるなら、arp応答で更新されるが、そこはスイッチの仕様。
その他の課題
- LBFOが障害を検知する方法は?
- LBFOが障害復旧する方法は?
- sw3,4のuplinkが切れてもsvは検知できず、nicが切り替わらない。
中間経路がLinkDownしたら、Uplinkも障害にできるか?
それもvlan単位で。
参考資料
https://blog.putise.com/チーミングで負荷分散してもスイッチ側の設定が/amp/
MacテーブルAgingTime http://saru.xyz/mac-adress-table/
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と論理NICのnicがある。
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]
参考資料
technet https://technet.microsoft.com/ja-jp/library/jj130850(v=wps.630).aspx