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

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

2015年02月28日

Hyper-V エンタープライズ設計の現実解(セミナー資料)

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

昨日、マイクロソフト品川オフィスで開催されたセミナーで登壇させていただきました。

Microsoft TechNet
第 1 回 Tech Fielders × Cloud Samurai Roadshow

https://technet.microsoft.com/ja-jp/windowsserver/dn891434


このイベントは2年ぶりに登壇させていただいたのですが、
前回は参加者を置いてけぼりにしてしまったようでしたので、今回はライトな内容を心掛けました。

資料や録画したビデオは Microsoft のサイトからもダウンロードできるようになると思いますが、いち早く SlideShare でも公開いたします。


Hyper-V エンタープライズ設計の現実解:2015 年版 from Daichi Ogawa


あわせて、同イベントで登壇させていただいた過去の資料も載せておきます。

続きを読む

2015年01月29日

ノンテクニカルな連載はじめました

f:id:ogawad:20150223173901p:image:right日常業務に追われているなか、
ITmedia さんの「企業IT」カテゴリで連載を持たせていただくことになりました。

ITmedia エンタープライズ
テクノロジーエバンジェリスト 小川大地の「ここが変だよ!? 日本のITインフラ」
http://www.itmedia.co.jp/enterprise/articles/1501/29/news011.html

(なかなか恥ずかしくなるタイトル。。。)


エビデンスを明確にできる技術記事とは違い、今回は答えが無いものに触れていくため、会社や立場によっては私と正反対の意見もあると思います。

一括りにできるほど綺麗な業界で無いことも日々感じていますし、今回の連載は私の住まう「インフラ」の分野にフォーカスを当てていますので、業務系エンジニアやアプリ開発をされている方などは全く異なる環境・状況にあるかもしれません。

温かい目で見守っていただけたら幸いです。

2014年12月29日

Software-Defind xx と対応ハードウェア - ネットワーク編 (1)

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

  • ネットワーク編 (1)

最近、「software-defined something.. (SDx)」というお題で、講演の機会をよくいただくのですが、SDx の正確な定義って何でしょう。。。

もう 9 年くらい経つ「サーバー仮想化」も software-defined Compute のような気がしますし、ストレージについてはユニファイド系の多くが Xeon プロセッサを積んだ x86 サーバーで動いているわけで、言ってしまえばそれも software-defined Storage なのではないかな、と思ったり。。。


さすがに最近は「software-defined になるとハードウェアは何でも良い」と言う人は減っていますが、ネタに困っていることもあり、SDx を意識したハードウェアや設計ネタについて数回紹介していきたいと思います(なるべくニュートラルに)。



物理スイッチと仮想スイッチ

最近のネットワークスイッチは、Broadcom Trident などのスイッチプロセッサと Linux/BSD ベースの OS(ファームウェア)で作られています。

しかも、x86 プロセッサにおける Intel Xeon のように、スイッチ用プロセッサは Broadcom Trident が寡占的です。このため、下図のようなスイッチのハードウェア部分は基本的に共通であり、各社は OS で独自性を出しています*1


f:id:ogawad:20141230003602p:image


つまり、Hyper-V や VMware といったハイパーバイザーに含まれる「仮想スイッチ」はもちろん、「物理スイッチ」も一種の "software-defined" なわけですが、同じ SDx である物理スイッチと仮想スイッチだと、効率が良いのは前者です。

理由は単純。スイッチ専用プロセッサには、スイッチング処理の命令セットがたくさん用意されており、多くのスイッチングをハードウェア処理できるためです。

ソフトウェアプログラムの場合であれば数十〜数百コードになるスイッチ処理が、特殊な命令セットを持つ専用プロセッサによって一瞬で処理できてしまうのです
(できるだけソフトウェア処理させないよう、ASIC を更に搭載するケースもあります)



仮想スイッチの処理で CPU が振り切る!?

これに対し、仮想スイッチはスイッチ処理のほぼすべてを CPU で処理します。
CPU には仮想スイッチの処理を高速化する命令セットはありませんし、特別な ASIC も搭載されていません。

ここで、昨今流行りの 10Gbps NIC*2 を考えてみましょう。10G や 20G のトラフィックを仮想スイッチに流した場合、その処理で CPU がどれくらい奪われてしまうか想像できますでしょうか?


次のスライドは若干古いですが、ネットから入手できる資料の抜粋です。


f:id:ogawad:20141230012127p:image

f:id:ogawad:20141230012125p:image

13:00 更新)ハイパーバイザーやデバイスドライバの出来によって負荷は異なります。
また、後者の富士通さんのグラフは元々 VMQ の効果測定の結果です。VMQ を有効にして処理コアを増やした途端、そのコアの使用率が 0 → 80% に跳ね上がったところに着目いただければと思います。

こちらのベンチマークもおすすめです: http://it.anandtech.com/show/2956/10gbit-ethernet-killing-another-bottleneck-


帯域やスピードばかり気にしがちになりますが、同じ 1 秒間において、
10Gbps は 1Gbps の 10 倍の量をこなしている ことを思い出してください。



どうやって設計する?

NFV などは特にですが、この問題を回避したいのであれば
「仮想スイッチにはできる限りスイッチング処理させない」ことです。
CPU が振り切っているので、基本的にはハードウェアによる対応になります。


  • 仮想スイッチへ流れるトラフィックを減らす技術を用いる
    • NIC Partitioning
    • SR-IOV、VEB、VEPA
  • 仮想スイッチの処理を肩代わりする技術を用いる
    • Virtual RSS、VMQ(これは個人的にお勧めしません)
  • 設計でカバー
    • 仮想スイッチに tagged VLAN は流さない
    • 仮想スイッチで QoS は行わない
  • 力技
    • 18コア Xeon などのハイパワープロセッサで押し切る

この辺りはまだ「software-defined に対する現実問題」なのかなと思います。

もちろん、仮想スイッチの方が柔軟でプログラマブルです。
各社の仮想スイッチの仕様がある程度統一化されて、x86 プロセッサに仮想スイッチ関連の命令セットが搭載される日を心待ちにしています。。。


次回は、最近話題の VXLAN の CPU 負荷 について触れてみようと思います。

*1:Trident チップを複数載せたり、処理を高速化するために ASIC を追加するものもあります

*2:LAG を用いる場合は 20Gbps

2014年11月25日

すべてわかる仮想化大全2015 と VMware Horizon 導入実践ガイド

f:id:ogawad:20100717202036g:image:right

最近は連載記事や単著といった大物の執筆依頼はごめんなさいをしたり、代わりに優秀な方をご紹介させていただいております。

軽めなご依頼についてはできるだけ頑張りたく、
最近では、先日ご紹介させていただいた Mastering vSphere 5.5 の監修や、ここ7年くらい担当させていただいている「すべてわかる仮想化大全」などです。


すべてわかる仮想化大全 2015

編集の方より、仮想化大全は今年で9年目になると聞きました。
私は 2008 年から「VMware によるサーバー仮想化」のセクションを担当させていただいています。

今年は新バージョンがリリースされないため、昨年の記事をそのまま流用するという話もありましたが「それはさすがにどうだろう」ということで、いくつか書き下ろさせていただきました。


  • 次期 vSphere 6.0 の概要
  • VMware VSAN (Virtual SAN) のアーキテクチャ
  • VMware VVOL (Virtual Volumes) のアーキテクチャ

f:id:ogawad:20141123001813j:image


その中でも、次期 vSphere 6.0 のタイミングで正式リリースされるらしい VVOL については、ストレージ情報の見える化やアレイベース QoS が着目されていますが、私は バックアップが容易になること が一番のメリットに感じています。

皆さんは VVOL のどこに期待されますでしょうか??



仮想化大全は例年、巻末に著者一覧があります。

これまでの執筆者は会社を移られてしまった方も多いのですが、皆さん新天地で更に飛躍しています。現役の優秀な執筆陣で共著できることを思うと「良い文章を書かないと」と身が引き締まるところです。



VMware Horizon 導入実践ガイド

自分の著書ではありませんが、最近入手した VMware 系の書籍について。

VMware View 関連の和書はバージョン 5.x のものしかありませんでしたが、
11月に刊行されたこちらの本は最新バージョンの 6.0 がベースとなっています。

タイトルから分かるとおり「VMware Horizon」の書籍であるため、Horizon View 以外のコンポーネントについても触れられているところが特徴的です。*1

  • ThinApp
  • RDS Hosted Desktop & Apps
  • Workspace Portal
  • NVIDIA vGPU, App Volumes, Mirage, vRealize, ...

下記は View のセクションからの抜粋です。
表やスクリーンショットを多く使われていて読み易いと思いました。

f:id:ogawad:20141123013340j:image


機能概要が中心であるため、運用フェーズというよりは PoC や製品検討・エディションの選択など、検討や導入フェーズで役立つと思います。

タイトルに「View」の文字が無いので見落としがちですが、
6.0 の新機能はもちろん、View 以外のバンドルコンポーネントはどのようなものか、どのエディションが自社に最適か、などを判断するのにとてもお勧めです。


*1:これらの Horizon ファミリーについて触れた和書はこれまで無かったかと。。

2014年10月31日

シンクライアントのネットワーク帯域について考えてみる

f:id:ogawad:20100721215621g:image:right

以前の記事「帯域遅延装置を簡単に作る」のとおり、
VDI といったシンクライアントソリューションはネットワークの回線帯域・品質について左右されるソリューション。

サーバーの設置場所としてデータセンターを借りている場合には回線の契約グレードが気になりますし、拠点オフィスの場合は専用線にした方が良いか悩ましいところです。モバイル用途では、昨今流行の "データ通信専用の格安SIM" の帯域・遅延で大丈夫かどうか気になるでしょう。

この疑問はオンプレミスだけではなく、
Amazon WorkSpaces といった DaaS サービスを検討する場合も変わりません。

有名な指標 "ストレージは 20 IOPS" と同様に、
ネットワーク要件として 1ユーザー 150 Kbps という指標がありますが、
2015 年を迎える今日となっては後者は少し古いかもしれません。


動画再生やリダイレクション

f:id:ogawad:20141102012845p:image:right

150Kbps という値は基本的に画面描画のみ。
しかし、流れるデータはこれだけではありません。

一番分かり易いのは音声。動画はもちろん、Windows のちょっとした効果音でもネットワークを通じて音声データが送られてきます。例えば 64Kbps の音声品質だった場合、ほぼ同じ帯域量にオーバーヘッドが上乗せされてネットワークを流れます。


なお、ここで注意したいのは、多くのプロトコルで アクセス端末のボリュームをミュートにしても音声データはネットワークを流れている ことです。

音声データをネットワークに流したくない場合は、リモート側をミュートにしましょう。可能なら「Windows Audio」サービスも止めておきたいところ。*1

同様に、下記のリダイレクションも帯域圧迫を招きます。

  • クリップボード
  • USB デバイス
  • ドライブマップ / プリンタ / スマートカード(要求時のみ)

モニタサイズ

意外と盲点なのはモニタサイズ。

昨今ではフルHDのモニタが1万円を切る形で販売されていますし、むしろ20インチ未満の新品モニタを探す方が大変になってきました。モバイルに至っては、iPad Retina(2048×1536)や MacBook Pro(2880×1800)など、フルHDすら超えるものが普及しています。

モニタサイズと連動して解像度も増えるわけですが、画面の広さ、
つまり「画素数」はどのくらい増えるか考えたことはありますでしょうか?

f:id:ogawad:20141102020751j:image
画像引用元: http://www.elsa-jp.co.jp/products/graphicsboard/quadro_k6000/index.html

 

呼称解像度画素数XGA との比率
VGA640×480307,20039 %
SVGA800×600480,00061 %
XGA1024×768786,432100 %
FWXGA1366×7681,049,088133 %
SXGA1280×10241,310,720167 %
WXGA++1600×9001,440,000183 %
UXGA1600×12001,920,000244 %
Full-HD1920×10802,073,600264 %
WUXGA1920×12002,304,000293 %
WQHD2560×14403,686,400469 %
WQXGA2560×16004,096,000521 %
iPhone51136×640727,04092 %
iPhone61334×7501,000,500127 %
iPad3 (Retina)2048×15363,145,728400 %
MacBook Pro (Retina)2880×18005,184,000659 %
iMac (Retina 5K)5120×288014,745,6001,875 %


つまり、OS やアプリといった PC 環境を一切変えなくても、シンクライアントの場合は モニタを新調するだけでネットワーク消費量が増える のです。

考えてみれば当たり前のことですが、多くのお客様がこのことを忘れており、トラブルを招いています。


差分転送だから解像度は関係ないのでは?

Citrix ICA や PCoIP、最近の RDP といったモダンな画面転送プロトコルは、画面全体の転送するわけではありません。変更の入った差分領域だけを送ることで、転送量を抑えるインテリジェントな技術が備わっています。

「差分領域だけなのであれば、さっきの解像度(画素数)は関係ないのでは?」と思ったかもしれません。

ただ、考えてみてください。
いま開いているこのブラウザはウィンドウを最大化してないでしょうか...?


そうなんです。

下の広告写真のように、アプリウィンドウを複数並べて作業している、という方はほとんどいないんです。Windows ユーザーはモニタが大きくなっても最大化して、全画面スクロールをしてしまうものなのです。。。*2


f:id:ogawad:20141102032227j:image

*1:プロトコルレベルで音声転送をオフにできるのであれば、設定することをお勧めします。

*2:小さなウィンドウは putty のようなターミナルソフトや Visuial Studio のような MDI くらい?