ブログトップ 記事一覧 ログイン 無料ブログ開設

仮想化でプリセールスしてるSEの一日 このページをアンテナに追加 RSSフィード Twitter

2017年01月16日

Windows Server 2016 - Switch Embedded Teaming の構築手順 (2)

f:id:ogawad:20121001003258p:image:right


間が空いてしまいましたが、
Windows Server 2016 の新機能「Switch Embedded Teaming」(SET)が本番環境に適用していくための考察のつづきです。

前回は こちら


ダウンリンクポートのアサイン

SET 対応の仮想スイッチを作成し、アップリンクポート、つまり物理 NIC のアサインまでを行いました。次はダウンリンクポート、つまりホストやゲスト向けのポートをアサインしていきます。


現在は次のような状態ですので、、、

f:id:ogawad:20170116044342p:image:w300


このようにダウンリンクポートを増やしていく感じです。

f:id:ogawad:20170116044341p:image:w300



ダウンリンクポートの追加:
Add-VMNetworkAdapter     -ManagementOS -Name "<識別名>" -SwitchName "<仮想スイッチ名>"

ダウンリンクポートの切断:
Remove-VMNetworkAdapter  -ManagementOS -Name "<識別名>"

ダウンリンクポートにタグを付ける:
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "<識別名>" -Access -VlanId <VLAN ID>

ダウンリンクポートのタグを外す:
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "<識別名>" -Untagged

ダウンリンクポートのタグ付け状況の確認:
Get-VMNetworkAdapterVlan -ManagementOS

※ それぞれ -ManagementOS を付けることでホストに接続します。代わりに -VMName "<仮想マシン名>" とすると仮想マシンに接続しますが、仮想マシンへのアサインはオペミスを防ぐために PowerShell より Hyper-V Manager がお勧めです。


f:id:ogawad:20170116052625p:image

f:id:ogawad:20170116052624p:image


GUI(Hyper-V Manager)ではホストに対して複数のポートをアサインできないので PowerShell が必要です。設定すると GUI はグレーアウトします。

f:id:ogawad:20170116052906p:image

f:id:ogawad:20170116053108p:image


ゲスト(仮想マシン)への VLAN 設定は仮想スイッチではなく、ゲスト側の設定で行います。ここは VMware ユーザーがいつも「?」になるところです。

f:id:ogawad:20170116053535p:image



チーミングモードと分散アルゴリズムの設定

さて、チーミングモード分散アルゴリズム はどうすれば良いでしょう?


LBFO では次のようなパラメータがありました。

f:id:ogawad:20161224212248p:image


現状の設定は Get-VMSwitchTeam で確認できます。

f:id:ogawad:20161224194228p:image



チーミングモード

TeamingMode は「SwitchIndependent(スイッチに依存しない)」の一択です。文字どおりスイッチに非依存ですので、Link Aggregation(LAG)は組めません。もちろん LACP もダメです。

ここが従来までの LBFO を併用した方法との、唯一のデメリットかと思います。


分散アルゴリズム

LoadBalancingAlgorithm は、基本的にデフォルトの「Dynamic(動的)」で問題ありません。しかし、SET と同じく Windows Server 2016 の SDN の新機能である Packet Direct(PD)を使う場合は「Hyper-V Port」にする必要があります。


Packet Direct

Packet Direct は、次のような対応 NIC を搭載している場合のみ利用できる、Hyper-V ネットワークの新機能です。*1

仮想スイッチを作成(New-VMSwitch)する際に -EnablePacketDirect $true を指定し、その後「Windows Azure VFP Switch Extension」を有効にすることで利用できます。機会があれば今回のように手順や性能結果を共有したいと思います。

f:id:ogawad:20170116062721p:image



NIC パラメーターの調整

上記スクリーンショットのとおり、昨今の Windows ネットワークは Software-Defined と言えどハードウェアの力をどんどん借りるようになっています。

しかしながら、一部にはアクロバティックな機能もありますので、SET 環境では利用できないものがあります。そのような機能はネットワークの安定通信のためにも明示的に無効にしましょう。


SET 環境で利用できる Windows のネットワーク機能
  • DCB
  • VxLAN, NVGRE
  • SDN QoS
  • RDMA (SMB Direct)
  • Transmit-side Checksum offloads (IPv4, IPv6, TCP)
  • Receive-side Checksum offloads (IPv4, IPv6, TCP)
  • VMQ
  • RSS

SET 環境で利用できない Windows のネットワーク機能
  • 802.1X authentication
  • IPsec Task Offload (IPsecTO)
  • TCP Chimney Offload
  • Host QoS, Virtual Machine QoS (VM-QoS)
  • SR-IOV
  • Receive side coalescing (RSC)
  • Receive side scaling (RSS)

少し情報が古いですが こちら も参照ください。

2016年12月25日

Azure Backup で VMware 仮想マシンのクラウドバックアップ構築手順 (2)

f:id:ogawad:20121001003301p:image:right

昨日のつづき です。

VMware 仮想マシンを VADP 経由でちゃんとクラウドバックアップしてくれる Microsoft Azure Backup Server(MABS)について、VMware 環境への接続設定と、実際のバックアップ、価格感や注意点をまとめます。


MABS を VMware 対応バージョンに更新 (KB3175529)

2016年12月現在、公開されている MABS のインストーラーは、
VMware バックアップ未対応の古いバージョンとなっています。

管理 UI 内にある「更新プログラムの確認」をクリックするか、

f:id:ogawad:20161225100953p:image:rightダウンロードサイト に直接アクセスして、アップデータ*1 をインストールしてください。

アップデートが無事完了すると、「管理」画面の「運用サーバー」をクリックした際に「VMware の管理」といった項目が登場します*2



MABS バックアップサーバーと vCenter Server を接続

VMware バックアップ対応バージョンに更新したら、既存の vCenter Server と接続しましょう。MSFT 側で動画が用意されているので、そちらをご覧になるのが一番です。

Four simple steps to Backup VMware VMs using Azure Backup Server
https://azure.microsoft.com/ja-jp/blog/four-simple-steps-to-backup-vmware-vms-using-azure-backup-server/


各動画の内容は次のようになっています。

  1. vCenter CA 証明書チェーンのインポート
  2. MABS バックアップサーバー用の制限アカウントの作成(任意*3
  3. vCenter Server を登録
  4. バックアップジョブの作成


バックアップジョブ設定項目

バックアップソフトは「バックアップジョブが命」ですので、スクリーンショットをいくつか載せておきます。 ※ それぞれクリックすると拡大します。


バックアップターゲット選択画面(vCenter の仮想マシンフォルダ表示と一緒です)
VADP を叩くので仮想マシン単位。私の環境は仮想マシンが 200 台弱あるのですが、この手にありがちなフリーズなどは起きず、問題ありませんでした

f:id:ogawad:20161225132325p:image

f:id:ogawad:20161225111438p:image


D2D2T 的なバックアップですが、実は Azure へバックアップせずに
無償の D2D バックアップツールとして使うこともできます

f:id:ogawad:20161225111256p:image

f:id:ogawad:20161225112052p:image


こちらは Azure へ送る D2T 側のスケジュール設定

f:id:ogawad:20161225111254p:image


日次や週次データを全部保管し続けると使用量が増え続けるため、
古くなったデータは間引くことも可能です

f:id:ogawad:20161225111252p:image


ジョブ一覧画面
「指定どおりに動作しているか?」を重視した UX に見えます

f:id:ogawad:20161225113225p:image


レポート作成機能 もあります。
移植元のまま「DPM レポート」になってますね (笑)

f:id:ogawad:20161225113805p:image



他社のクラウドバックアップツールとの違い

3rd Party を見回せば、クラウドバックアップツールは正直言って結構あります。
しかし、Azure Backup はそれらと根本的に違うアドバンテージを持っています。


Azure Backup一般的な
クラウドバックアップツール
クラウドストレージ契約プランAzure BackupAzure Storage
バックアップ先ストレージAzure Storage の専用バージョンAzure Storage の通常バージョン
クラウドストレージ利用料○ 格安△ 高め
送信データ転送利用料○ 無償△ 課金対象
バックアップソフトウェア○ 無償△ 有償
差分・圧縮バックアップ○ あり△ ツールによる


気づきましたでしょうか? 携帯電話のデータカード専用プランと同様に、
Azure Backup は「バックアップ専用」の契約プランとなっています。

AWS のバックアップ専用ストレージサービスである Glacier は 3rd Party にも開放されていますが、Azure Backup は開放されていません。ですので、一般的なクラウドバックアップツールの場合は Azure Backup を使用できず、汎用クラウドストレージ(Azure Storage)を使わざるを得ないのです。

これらは仮想マシンを格納して動かしたりする Tier1 のストレージサービスですので、バックアップ保管領域に使うにはかなり高くつくのです。


Azure Backup の場合、50 GB の仮想マシンの丸ごとバックアップで 1,000 円。
年間で 12,000 円、5 年間利用してもたった 6 万円*4。しかもリストア時にダウンロード転送の追加課金は発生しない。契約プランから違いますので根本的に有利となっています。



転送速度やセキュリティは大丈夫?

Azure Backup は LRS/GRS といった三重化構成を取りつつもとても安価ですので、速度についてはそんなに期待できないのですが、これは運用上デメリットにはなりづらいでしょう。なぜなら、D2D2T 型*5 だからです。

一時領域の D2D までは同じデータセンター内でありますので、高速にバックアップできます。リストアについても、物理障害でフルリストアしたいのであれば、MABS サーバーに残っている D2D 一時領域から戻せば時間も掛かりません。

セキュリティについても、MABS バックアップサーバーだけがプロキシなどを通じてインターネットに出れれば十分です。



ハイブリッドクラウドは保守体制が重要

クラウドバックアップはかなりライトですが「ハイブリッドクラウド」の一種。

ですので、保守体制は特に気にしましょう。オンプレ側とクラウド側、そして穴になりやすい「繋ぎこみ」に至るまで、トラブル時にたらい回しされず、まるっと ワンストップで窓口対応 してくれるかどうか、窓口選びは重要だと思います。

どこの業者と保守契約するかは注意を払いましょう。

*1:MicrosoftAzureBackup-KB3175529.exe

*2:ベースが SCDPM2012 UR11 相当になります

*3:Adminstrator@vsphere.local を利用しても技術的な問題はありません

*4:実際にはデータ圧縮が行われるため容量課金は少なくなります。また世代保管をする場合、追加保管する差分データは別途課金されます

*5:本来 T は Tape を意味しますので、Cloud の意味で「D2D2C」と言うこともあるそうです

2016年12月24日

Azure Backup で VMware 仮想マシンのクラウドバックアップ構築手順 (1)

f:id:ogawad:20121001003301p:image:right

今回の記事は「vExperts Advent Calendar 2016」と連動しています。

せっかくクリスマスイブを陣取りましたので、私の得意とする二分野「Microsoft × VMware」の最新技術について書きたいと思います。

この2社、以前は真正面からのライバルでしたが、最近は少しベクトルがズレてきているのはご承知のとおり。Microsoft は自社の Azure クラウドサービスを重視していますし、VMware はオンプレ重視、クラウドについてはマルチクラウド戦略です。ここで、両社がコンフリクトしない 1 つのソリューションがあります。

「クラウドバックアップ」 です。


f:id:ogawad:20161224215248p:image



2016 年 11 月より Azure Backup Server に対応

正確というと、この VMware to Azure Backup は 今夏から実現できていました。

ではなぜ先月からかというと、System Center DPM が無くとも、ライセンス無償の Azure Backup Server (MABS) に対応し、懐の面でもスキルの面でもお手軽になった のです。

Microsoft TechNet - Azure Backup Server で VMware のバックアップが可能に
https://blogs.technet.microsoft.com/jpitpro/2016/12/07/announcing-vmware-backup-with-azure-backup-server/


しかも、このバックアップソフト(MABS)が結構優秀。

VMware のバックアップには NetBackup や Veeam などと同じく vSphere Storage API - Data Protection、つまり「VADP API」がしっかり使われており、機能・静止点保護・エージェントレスなどいくつもの点で VMware ユーザーが納得のいく出来になっています。



MABS バックアップサーバーの準備

バックアップサーバーとなる Windows Server マシンを 1 台用意します*1

仮想マシンでも構いません。スペックはさほど要求しませんが、Azure へ送る際の一時領域を持ちますので、ストレージ容量はそれなりには必要です*2

また、このマシンは Azure に送るための インターネット接続 (HTTPS) と .Net Framework 3.5 を事前セットアップしておく必要があります。



MABS バックアップサーバーのセットアップ

では、セットアップを始めてみましょう。簡単なのでコツだけ明記します。

Azure ポータルにアクセスし、Recovery Service コンテナを作成します。

f:id:ogawad:20161224222543p:image:w320


バックアップのはじめてウィザードを立ち上げ、
上記のとおり「オンプレミス」「VMware 仮想マシン」を選択

下記の画面で、MABS のインストーラー(約 3 GB)と Azure 側のコンテナ情報ファイルをダウンロードしてください

f:id:ogawad:20161224224230p:image


準備が完了したら MABS のインストーラーを実行します。
最初は解凍ウィザードが、その後セットアップウィザードが起動するはずです。

途中、資格情報コンテナファイルをインストールする画面があり、これを実施することで Azure 側との接続が完了します。


下図はインストールが完了画面です。

f:id:ogawad:20161225053530p:image


デスクトップに置かれたアイコンを実行すると、
MABS バックアップツールの管理画面が表示されます。

f:id:ogawad:20161225053528p:image



ディスクのフォーマット

未割当の空 LUN を MABS に追加して一時領域として利用できるようにします。

「管理」画面の右メニューより「ディスク」をクリックし、
メニューバーの一番左にある「追加」アイコンをクリックしてください。

f:id:ogawad:20161225070601p:image


f:id:ogawad:20161225070600p:image:right

正常に追加すると、ディスクの部分に空き容量を示す円グラフが表示されます。





アイコンも画面もなんだか SCDPM っぽい??

そう。MABS は SCDPM2012 のエンジンをそのまま移植しているため、いわゆる「日次」「週次」といったスケジュールバックアップはもちろん、差分といったバックアップソフト的な機能はそのまま実装されています。

長くなったので、このあたりはまた明日

*1:現時点では Windows Server 2016 は SIS が削除されているために非対応です

*2:バックアップ対象容量の 1.5 倍が目安。OS 領域とデータ領域で LUN を分けてください

2016年11月30日

Windows Server 2016 - Switch Embedded Teaming の構築手順 (1)

f:id:ogawad:20121001003258p:image:right


前回 話題に挙げた、WS16 の新機能「Switch Embedded Teaming」(略して SET)について、本番環境に適用できるか実機調査する機会があったので、詳しく触れてみたいと思います。


環境準備

最新モデルの x86 サーバーに 20Gbps NIC を2ポート用意。
但し、対向のスイッチがまだ 10G なのでどちらも 10Gbps でリンクしています。

f:id:ogawad:20161224164646p:image


なお、重要なポイントとして、
こちらの図と同じく LBFO でチームを組んではいけません。またスイッチ側についても LAG (Link Aggregation) は設定しないでおく 必要があります。


Hyper-V の有効化

この状態で Hyper-V をセットアップします。

f:id:ogawad:20161224194001p:image


仮想スイッチは SR-IOV や SET の有無で内部動作が大きく異なり、後からモード変更することはできません。このため、ウィザードで問われる仮想スイッチの自動構成は行わないでください。

f:id:ogawad:20161224193644p:image



SET 仮想スイッチの構築

Hyper-V インストール後、手動で仮想スイッチを作成します。

SET 対応の仮想スイッチを作るには PowerShell か SCVMM 2016 が必要です。
ここでは SCVMM が無くても行える PowerShell で行いたいと思います。


SET 仮想スイッチの作成:
New-VMSwitch -Name "<仮想スイッチ名>" -NetAdapterName "<NICアダプタ名>" -EnableEmbeddedTeaming $true

※ -EnableEmbeddedTeaming が SET モード有効を意味します


SET 仮想スイッチのアップリンクポート追加・削除:
Set-VMSwitchTeam -Name "<仮想スイッチ名>" -NetAdapterName "<NICアダプタ名>","<NICアダプタ名>"

※ 再構成を指示しますので、既に追加済みのアダプタも再記述する必要があります


SET 対応の仮想スイッチの設定内容確認:
Get-VMSwitchTeam -Name "<仮想スイッチ名>"

※ -verbose は付けても付けなくても変わりません


実行例

LBFO の時もそうですが、リモートデスクトップで作業している場合は、
一旦ログオフして iLO といった Out-of-Band ポートから行うことを忘れずに。

f:id:ogawad:20161224173950p:image
※ クリックすると拡大します


この後、ダウンリンクポートのアサインに入っていくのですが、
Get-VMSwitchTeam の結果にも着目してみましょう。

f:id:ogawad:20161224194228p:image


  • TeamingMode = SwitchIndependent(スイッチに依存しない)
  • LoadBalancingAlgorithm = Dynamic(動的)

これは LBFO Teaming の時も登場した パラメータです。

f:id:ogawad:20161224212248p:image


LBFO では専用の GUI で設定できましたが、
SET で LAG や LACP を構成したい場合にはどうすれば良いでしょう?
分散アルゴリズムは「Port ID」「Dynamic」とどちらにすべきでしょうか?


長くなったので、この辺りはまた 次回

2016年10月31日

Windows Server LBFO チーミングと Hyper-V VLAN 問題 - その後

「その後」シリーズです。

Windows Server 2012 より、OS 標準でチーミング機能「LBFO」(Load Balancing and Failover) ができたことはご存じのとおり。

それまでは Intel PROSet や Broadcom BACS, HP NCU といった 3rd Party の NIC Team ユーティリティが必要でした。

@IT - Windows Server insider -
Windows Server 2012 R2 の NIC チーミング機能(LBFO)をマスターする
http://www.atmarkit.co.jp/ait/articles/1402/06/news129.html


チーミング機能が Windows OS に内蔵されたことで、保守サポートの観点ではシンプルになりましたが、技術アーキテクチャーの面ではまだといったところ。

特に、仮想化機能 (Hyper-V) を使う場合に支障を及ぼします――――。



Hyper-V に最適化されていない LBFO

Windows OS は仮想化 "専用" に設計された OS ではありません。

ここが VMware vSphere (ESXi) と大きく異なるところ。そして、LBFO も Hyper-V ではなく OS の機能であるために仮想化専用設計ではありません。


例えば VLAN

次の図を見てください。LBFO 環境では VLAN は使えません。

f:id:ogawad:20161113012708p:image

f:id:ogawad:20161113012706p:image
引用元: @IT「第3回 Hyper-Vネットワーク設計のベストプラクティス


2番目の図のように、「LBFO で冗長化」「仮想スイッチで VLAN」とレイヤを分ければ要件は満たせるのですが、かなりの CPU 負荷(オーバーヘッド)が掛かるほか、SMB Direct が使えないなど、制約や問題もありました。



WS2016 では Hyper-V 仮想スイッチにチーミング機能が搭載

先月リリースされた WS2016 の Hyper-V では仮想スイッチ内にチーミング機能が搭載されました。「Switch Embedded Teaming」(SET)と呼ばれています。


実装は LBFO のコア(サブセット)を仮想スイッチに組み込んだ感じ。

アーキテクチャもようやくシンプルになり、RDMA などのいくつかの機能と互換が取れるようになりました。

f:id:ogawad:20161113015609p:image
 

f:id:ogawad:20161113015608p:image


Microsoft TechNet - Remote Direct Memory Access (RDMA) and Switch Embedded Teaming (SET)
https://technet.microsoft.com/en-us/library/mt403349.aspx


そういえば、Microsoft は RDMA の利用にあたって、これまで InfiniBand (IPoIB) 推しでしたが、WS2016 では Converged Ethernet (RoCE)RDMA over TCP (iWARP) 推しに変わりましたね。InfiniBand は 前に挙げた問題 がありますので、現実目線になってくれて良かったです。


現実目線といえば、この SET も Link Aggregation や SR-IOV が使えないなど、設計や構築にあたって気をつけなければならないことがあります。

このあたりは、また近いうちにまとめたいと思います。