VMware Fusion のよくある質問に答える Bot の部品作ってみた

この記事はvExpert Advent Calendar 2016 のためのエントリとなります。本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

元々、エントリーした時には「運用管理系のはなし(WSLかASR系のこと検討中)」と言っていたのですが、諸事情あって、このネタにしました。

先日、QnA Maker というサービスが Preview 公開されました。 これは、Microsoft の Bot Framework や他のBot サービス基盤で簡単にQ&Aを返すボットの処理を組み込めるというものです。

URL やテキストファイル、PDF ファイルや Word ファイルを元に Q ( Question =質問)と  A ( Answer =回答)のセットを抽出し、インデックス付けとランク付けをしたものをナレッジベースエンドポイントとして提供し、 Microsoft Bot Framework やほかの Bot サービスとつないでいろいろなチャットを行うボットの機能の一部として利用可能なものです。

https://qnamaker.ai/Documentationよりリンク

 

利用方法は3ステップとなります。

1.Knowledge Base Q & A のセットを準備する。 (Webサイトやテキストファイル、OCR情報つきPDF、Wordファイル等がサポートされています。)

2.Test チューニングする

3.Publish 公開する

 

能書きはともかく、早速使ってつくってみます。※Microsoft Account を事前に準備しておきましょう。

1.QnA Maker サイトにアクセスし、「GET STARTED」をクリックします。

2016-12-22_18h47_47

初回はログインを促されるので、Microsoft Account でログインしましょう。

2.QnA Maker の作成

①サービスの名前をつけます。今回は VMware Fusion FAQ という名称にしました。

②通常ならFAQページのリンクをいれるだけで勝手につくってくれるのですが、サイトのつくりによっては判断できないため( VMware さんのサイトは判断できないつくりになってました。)

2016-12-22_19h50_07

困ったので、ファイルに QnA をまとめてアップロードすることにしました。
アップロードで読ませられるファイルの形式はドキュメントによると下記になります。

1.    .tsv: QnA contained in the format Question<Tab>Answer
2.    .txt, .docx, .pdf: QnA contained as regular FAQ content, i.e. sequence of questions and answers.

ですが!!!VMware Fusion のオフィシャルFAQサイトは、回答が複数行な内容も多く .tsv 形式のファイルを作成するのは結構つらいです。

タブキー区切りですが、半角スペースが入っているとファイルから読み込めないようなので、ファイルからのインポートをあきらめ、直接コピー&ペーストすることにしました。(疲れた、、、、)

2016-12-22_20h44_45

※ソースは手入力の場合はEditionalと入ってるので入力できませんのでご注意ください。

Q and A を入力し終えたら、いよいよTest のフェーズになります。

3.左側のタブのTestをクリックします。

2016-12-22_20h55_02

ひたすらこの作業でフレーズ追加をしたら、、、下記の図のように答えるようになります。 2016-12-22_21h00_15

 

 

最後に右上の「Publish」をクリックします。

2016-12-22_21h01_44

2016-12-22_21h02_54

無事Publishできました。

Chrome Extention を使用してテストすると下記のような結果が返ってきました。

2016-12-22_21h20_56

2016-12-22_21h21_05

このように、QnA Maker を使用すると簡単にFAQを返すモジュールが作成できます。

明日は、大塚さんの番になります。

 

 

広告

Workstation の歴史(1999年〜2015年)

Advent Calendar の記事ネタに困ったので、クリスマスにぴったりのみんなが大好きな歴史の話をvExpert なかまのFlorianさんがブログ書いていたので、翻訳公開の許可をいただきました。

16年ほどまえの、ESXiやvSphere より遙か昔に、VMware は最初の製品であるVMware 1.0をリリースしました。VMwareは複数OSを単一のx86マシンで起動することができる最初の製品です。
VMware の仮想基盤のテクノロジは複数のゲストOSが同時に1台のふつうのPCで実行できる薄いソフトウェアレイヤとなりました。

vmware1

最初の製品”VMware”は現在でもVMware Workstationとして利用することができます。

1999-05-15 – VMware 1.0 – 2GB までのメモリをサポート
2000-03-03 – VMware 2.0
2001-11-05 – VMware Workstation 3.0
2003-04-07 – VMware Workstation 4.0
2005-04-07 – VMware Workstation 5.0
2007-05-09 – VMware Workstation 6.0
2009-10-27 – VMware Workstation 7.0
2011-09-14 – VMware Workstation 8.0
2012-08-23 – VMware Workstation 9.0
2013-09-03 – VMware Workstation 10.0
2014-12-01 – VMware Workstation 11.0
2015-08-24 – VMware Workstation 12.0

VMware 1.0
動作環境の要件:Pentium II 266MHz、64MBメモリ以上
仮想マシンは2GBまでのメモリをサポート。VMware 1.0 はMS-DOS 6、Windows 95/98, Windows NT, Red Hat 5.0, SuSE Linux 5.3 and FreeBSD 2.2.8, 3.0, and 3.1をゲストOSとしてサポート。

VMware 2.0
”サスペンドとインスタントリストア”、つまり仮想マシンをディスクに保存してリブートすること無くリストアする機能をサポート。仮想ディスクの圧縮機能及びブリッジ、ホストオンリーネットワークで仮想マシンをネットワーク接続する機能をサポート。

VMware Workstation 3.0
“Repeatable Resume Feature (繰り返し可能なリジューム機能)” サスペンドした特定のポイントで仮想マシンをリジュームすることができるようになりました。ホストマシンにRemote Desktopで接続してゲストマシンを管理することも可能となりました。ゲストOSのサポートはWindows XP/2000, Netware 6.0と最近のLinuxバージョンに拡張されました。

VMware Workstation 4.0
ホスト毎のPAE、USB2.0、DirectDraw(これ、何か正直わからないです。)及びスナップショットをサポート。スナップショットはいつでも、ゲストがパワーオンでもオフでもサスペンド状態でもつくることができ、いつでもスナップショットにリバーとすることができます。Version 4.0はドラッグアンドドロップやホストマシンとの共有フォルダでファイル転送することができるようになりました。

VMware Workstation 5.0
スナップショットの機能拡張により、動作中のVMのスナップショットを無限数の時間毎のポイントでディスクに保存することができるようになりました。(スナップショットの個数って本当に制限なかったっけ?っていう突っ込みあります。)フルクローンとリンククローンをサポートしました。

VMware Workstation 6.0
マルチモニタのサポートと仮想マシンをバックグラウンドで動作させる機能によってデスクトップとサーバーの性能を向上させました。このリリースでは物理マシンから仮想マシンに変換するVMware Converter のConverter Import wizardが含まれました。Virtual Machine Communication Interface (VMCI) でゲストマシンとホストマシンと通信することができるようになりました。

VMware Workstation 7.0
Windows AeroやOpenGL1.4、Shader Model 3.0を表示することができる、新しいWindowsディスプレイドライバモデル(WDDM)をサポートしました。vSphere 4.0 及びESXでのサポートと同じくNestedでのESXホストの稼働をサポートしています。4vCPU 32GBのRAMを最大構成とする仮想マシンまでサポートしました。

VMware Workstation 8.0
64ビットCPUが動作要件となった最初のリリースです。ゲストの仮想マシンで仮想Intel VT-X/EPTもしくはAMD-V/RVIを有効にすることで64-bitのvSphere を含むゲストマシンをWorkstation上で稼働させることができるようになりました。USB3.0やバックグラウンドで自動的にゲストマシンを稼働させる機能もサポートしています。新しいリモート接続の機能によって他のマシンで稼働中のWorkstationやESX4と接続することができるようになりました。

VMware Workstation 9.0
Webブラウザー経由で仮想マシンコンソールが使えるWSXの機能サポート。 64ビットOSやネステッドESXをより少ないシステムリソースで稼働させる機能をサポートしました。Hyper-VのExperimental Support(試験的なサポート)が追加されました。
WSXを有効にする方法についてはこちらのKB(http://kb.vmware.com/kb/2097842)に詳細があります。

VMware Workstation 10.0
仮想アクセラレータ、 ジャイロスコープ、コンパス、光センサーモジュールなどタブレットのセンサー対応。16vCPU 8TBのディスクをもつ仮想マシンのサポート。SSDパススルー機能によりゲストOSの仮想ディスクファイルをSSDに保存でき、物理マシンでSSDを直接使用しているときと同様に最適化された状態で使用することができるようになりました。

VMware Workstation 11.0
ラップトップやx86 タブレットで使用されている QHD+ (3200×1800)の高解像度サポート。vCloud Air に直接ゲストマシンをクラウドに持って行く機能をサポート。EFIで仮想マシンの起動をサポート

VMware Workstation 12.0
Windows 10のサポートに加えてDirectX 10 とOpenGL 3.3のグラフィックサポート。IPv6 NAT ネットワークと4Kモニタのサポート。

一見するとリリースノートを並べただけかもしれない内容ですが、この製品が私にとっても”はじめてのかそうか”だったりしますし、この技術があったからこそいろいろなことを修得することができ、いろいろな人と知り合って切磋琢磨することができました。そう考えるとかなり感慨深い内容だと思います。抄訳していて途中で何この機能?とか歴史を感じることができてとても楽しかったです。余談ですが、仮想HWバージョンはWorkstationの各バージョンとイコールのようですよ。途中から表記が仮想HWバージョンxx と書かなくなってしまい少し残念です…(´・ω・`)
明日はVMwareの髙田さんのNSXに関するブログエントリとなります。お楽しみに!
http://www.adventar.org/calendars/980

Special Thanks
出典:http://www.virten.net/2015/12/vmware-workstation-from-1999-to-2015/ Written by Florian

紫色の診断画面(PSOD)を出す方法

Advent Calendarの1つめの記事は、普段役に立たないけど必要なときがきっと来るようなTipsをご紹介します。
紫色の診断画面(PSOD)とはESXi がパニックした状態で動作を停止している状態です。H/Wの強制的な割り込みを入れると発生させることができます。(http://kb.vmware.com/kb/1014767)
ですが、H/Wに強制割り込みってどう発生させるんだ…と途方に暮れると思います。

安心してください。PSODは簡単に出せますから。

なお、お約束になりますが、明示的に出したいときというのは通常の運用ではまずありませんので、試すときには本番環境は絶対に避けてください。
ダンプコレクタの動作確認だけであれば、Tech Support Mode(http://kb.vmware.com/kb/1017910)でのコンソールログインもしくはvMAから下記コマンドを実行することでダンプを強制的に吐かせることができます。

esxcfg-dumppart -t

このダンプファイルを任意のフォルダにコピーすることでダンプを取得できます。

esxcfg-dumppart –copy –devname “/vmfs/devices/disks/” –zdumpname /vmfs/volumes/datastore1/.1

PSODを簡単に出すには下記のコマンドを実行します。

vsish -e set /reliability/crashMe/Panic 1

このシリーズ、実はPanic以外にもいくつかあるので探してみてください。
このネタは元々外のブログ(http://www.ntpro.nl/blog/archives/1388-Lets-create-some-Kernel-Panic-using-vsish.html)にあったものなので、日本語でリメイクして出してもいいかなーと思っていたので公開しました。
明日は、vExpert界の重鎮であるしろたんさんの番です。
今から読むの楽しみ♪

今年もvExpert Advent Calendar やりますよ

毎年この時期になると忙しくなったりしてうっかり忘れたりする年もあったりするのですが、今年はいち早く気づけたのでFacebookで呼びかけてみなさまのご協力を得ることができました。
今年のAdvent Calendarのリンク集はこちら
http://www.adventar.org/calendars/980

2014年は企画することすら忘れちゃいました….(´・ω・`)

2013年のAdvent Calendar(みんな助けてくれた)
http://www.adventar.org/calendars/216

2012年ひとりでAdvent Calendar(泣けてきた)
⇒このブログの過去をご覧ください。

ということなので、今年もこのシーズンの風物詩をお楽しみくださいませ。

vSphere Client ってどっちを使えばいいの?

今回のエントリもvExperts Blog Advent Calendarのエントリとなります。

ネタ切れで苦しんでいますが、皆様頑張って書いてくださっているのでコラムっぽい内容ですがこの内容で。

vSphere 5.1 から新機能はvSphere Web Client でのみサポートとなりました。ですが、旧バージョンではSite Recovery Manager をはじめとした一部の連携機能やサードパーティのプラグインの機能を使用するためにはWindows にインストールタイプのvSphere Client (以下、C#版クライアントと記載します。)を利用する必要があります。

vSphere Web Client を選ぶ場合のメリットは下記になります。

  • SSOでの一元管理(最新の5.5では、SSOのアーキテクチャが大幅に改善されています。)
  • インベントリタグを使用して管理効率の向上
  • 停止機能(Work In Progress)
  • 検索の保存
  • インベントリサービスのパフォーマンスの読み取り機能がC#版よりも優れている
  • vR(SRMではない)を使用する場合
  • クロスホストvMotion (5.1から実装された共有ディスク無しでのvMotion)
  • vCOワークフローと統合した拡張メニューを使用する場合
  • vDSの新機能(ヘルスチェック、設定のエクスポート/リストア、ダイアグラムのフィルタ)
  • ログブラウザプラグイン
  • vDP(vDPA)を使用する場合
  • マルチOSサポート(最新の5.5では、Flashが動作するOSXやLinuxもサポート対象となっています。)
  • インストール不要(C#版では各バージョン、Update毎にインストールが必要でした。)

 

逆に、C#版を使用する場合は下記になります。

  • デスクトッププラグイン(Update Manager、SRMなど)
  • サードパーティーデスクトッププラグイン(NetApp、EMC、HP、IBMなどなどなどなど)
  • VXLAN
  • 旧い仮想マシンの設定変更
  • マップ機能(正直、何に使うのかずーっと謎でした。)
  • カスタム属性の作成・編集
  • ESXiホスト単体への直接接続
  • データストアブラウザでのシンプロビジョニングの機能拡張

 

VCSAなどでvCenterを仮想マシンとして建てるためには、まだC#版でホストに直接接続してからということになりますが、きっと今は過渡期なんでしょうねぇ。

徐々にこの機能差の乖離はなくなると信じています。

 

参考リンク:vSphere Blog の”Which vSphere client should I use and when?”

仮想デスクトップのプリンタの設定をコマンドラインで実行する

このエントリはvExperts Advent Calendarに参加してのエントリとなります。vExpertsなみなさまのご協力のおかげで、1週間穴があくことなく順調に進んでいていくことができました!

今日は、仮想デスクトップの導入においてよく課題としてあがる、プリンタに関するTipsです。

運用効率を向上するためには、アプリケーションの最大公約数を入れた形での共通のイメージを使うことが一般的です。けれども、同じイメージを利用するユーザにとっては勤務場所が離れていたりするので、必ずしも同じプリンタを利用しないこともあると思います。

プリンタを利用するためには、大きく分けて下記2つの方法があります。

1.仮想デスクトップ側にプリンタドライバをインストール・設定する方法

これまでのPCと同じ方式です。印刷時に一時的にRAWデータがネットワークを流れることになります。

2.ThinPrint等のローカルデバイス接続(一部のシンクライアントやゼロクライアント、Macクライアントを利用時は利用できません。)のプリンタをリダイレクトする方法

ThinPrint等の機能でネットワーク帯域を通るデータは圧縮されますが、汎用ドライバを使用することになってしまう等の諸制限があります。

 

私が使っている仮想デスクトップは主に上記1の実装方式になっています。タイムゾーン時と同様に他の国や部署オフィスに勤務している同僚達と同じイメージを共有しているため必ずしも私の使いたいプリンタが設定されているとは限らなくて、毎回設定するのは大変だなーと思っていました。

そこで、アイデアなのですが。Windowsのコマンド(http://technet.microsoft.com/ja-jp/library/ee624057(v=ws.10).aspx)を利用して下記のように、簡単に設定するというのはいかがでしょうか?

 

1.ネットワークプリンタの追加

>rundll32 printui.dll,PrintUIEntry /in /n \\プリンタサーバー名\プリンタ名

プリンタドライバ追加時に下記の警告が出ることがあります。初回のみなので、ドライバが追加されていれば気にならないと思います。

 

2.ネットワークプリンタのデフォルト設定

>rundll32 printui.dll,PrintUIEntry /y /n \\プリンタサーバー名\プリンタ名

たとえば、マスターイメージにプリンタドライバがすべて追加されていれば上記1の手順は不要となりますので、2の手順だけと言う形になります。

明日は@twtkoさんのサイトになります。今からwktkしてくださいね♪(この流れ、dejavuですが…)

Fusion 6 で OSX Marvericks ゲストを立ててみた

さて、今日からAdvent Calendar開始です。

第1弾としてブログエントリを書かせていただくことになったので、ワクワクするような内容をば。

 

いろいろなサイトさんの技術エントリを読ませていただいて、今回もインストールメディアのisoファイル準備しなきゃいけないのかなーとかその方法とか悩んでいたんですが、その必要は全くありませんでした。

VMware Fusion 6 (6.0.2)で OSX Mavericksがゲストマシンとしてサポートされているのはご存知だと思います。(Fusion 5 以前のバージョンではサポートされていません)ちなみに、AppleさんのSLA上では2台の仮想マシンとしてApple純正のハードウェアの上で動作させることができます。(リンク先P42に記載があります。)

WorkstationやPlayerでApple以外のハードウェアで動作させることはライセンス違反となりますのでご注意ください。

vSphereで動作させる場合は、vSphereのサポートしているAppleハードウェア(Mac Proなど)であればライセンス違反とはなりません。

 

さて、本題。OSX Marvericksのインストールの準備を行います。

1. App storeでOSX Marvericksをダウンロードします。ダウンロード直後にインストーラが起動しますが、何もせずに終了させます。

2.Fusion を起動し、ファイル → 新規 を起動します。

3.インストール方法の選択画面で「ディスクまたはイメージからインストール」を選択して「続ける」をクリックします。

FusionMarvericks001

4.「別のディスクまたはディスク イメージを使用…」をクリックします。

FusionMarvericks002

5. Finderの画面が開くので「アプリケーション」の中にある「OS X Marvericks インストール」を選択します。

FusionMarvericks003

6. 選択すると下記の画面キャプチャのようになりますので「続ける」をクリックします。

 

 

FusionMarvericks004

7.「完了」画面でデフォルトのゲストマシンスペックを変更するようであれば「設定のカスタマイズ」をクリックし、ゲストマシンの設定ファイル(.vmxファイル)を保存してからカスタマイズを実施します。

今回は実施しないので、そのまま「完了」をクリックしてゲストマシンの設定ファイルを保存します。

FusionMarvericks005

FusionMarvericks006

8. 「ディスクイメージを作成…」というダイアログが表示され、しばらくするとゲストマシンのコンソールウィンドウが開きますので後は画面に従ってインストールします。

FusionMarvericks007

Mac_OS_X_10.9_と_投稿の編集_‹_Exception_—_WordPress

 

Fusionを使うと便利だった点はやはり「Marvericks のインストールメディアを作成しなくてもよい」ことに尽きます。

たとえば、下記手順でMarvericksのインストールメディアを作成できるのですが、App Storeの認証をインストール時に何度も確認されるので、この手順がまるごと省けるのはとてもいいと思います。

 

参考:Marvericksのインストールメディア作成方法 OSX 10.8の環境においてTerminalにて実施すると下記のようになります。

Mihos-MacBook-Air:~ Miho$ hdiutil attach /Applications/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
/dev/disk1 Apple_partition_scheme 
/dev/disk1s1 Apple_partition_map 
/dev/disk1s2 Apple_HFS /Volumes/install_app
Mihos-MacBook-Air:~ Miho$ hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Mavericks
Reading Driver Descriptor Map (DDM : 0)…
Reading (Apple_Free : 1)…
Reading Apple (Apple_partition_map : 2)…
Reading disk image (Apple_HFS : 3)…
.......................................................................................................................
Reading (Apple_Free : 4)…
Elapsed Time: 12.513s
Speed: 91.7Mbytes/sec
Savings: 4.0%
created: /tmp/Mavericks.sparseimage
Mihos-MacBook-Air:~ Miho$ hdiutil resize -size 8g /tmp/Mavericks.sparseimage 
Mihos-MacBook-Air:~ Miho$ hdiutil attach /tmp/Mavericks.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build
/dev/disk3 Apple_partition_scheme 
/dev/disk3s1 Apple_partition_map 
/dev/disk3s2 Apple_HFS /Volumes/install_build
Mihos-MacBook-Air:~ Miho$ rm /Volumes/install_build/System/Installation/Packages 
Mihos-MacBook-Air:~ Miho$ cp -rp /Volumes/install_app/Packages/ /Volumes/install_build/System/
Installation/ Library/ 
Mihos-MacBook-Air:~ Miho$ cp -rp /Volumes/install_app/Packages/ /Volumes/install_build/System/Installation/
Mihos-MacBook-Air:~ Miho$ hdiutil detach /Volumes/install_app/
"disk1" unmounted.
"disk1" ejected.
Mihos-MacBook-Air:~ Miho$ hdiutil detach /Volumes/install_build/
"disk3" unmounted.
"disk3" ejected.
Mihos-MacBook-Air:~ Miho$ hdiutil resize -size `hdiutil resize -limits /tmp/Mavericks.sparseimage | tail -n 1 | awk '{ print $1 }'`b /tmp/Mavericks.sparseimage
Mihos-MacBook-Air:~ Miho$ hdiutil convert /tmp/Mavericks.sparseimage -format UDTO -o /tmp/Mavericks
Reading Driver Descriptor Map (DDM : 0)…
Reading (Apple_Free : 1)…
Reading Apple (Apple_partition_map : 2)…
Reading disk image (Apple_HFS : 3)…
......................................................................................................................
Elapsed Time: 52.911s
Speed: 108.9Mbytes/sec
Savings: 0.0%
created: /tmp/Mavericks.cdr
Mihos-MacBook-Air:~ Miho$ rm /tmp/Mavericks.sparseimage
Mihos-MacBook-Air:~ Miho$ mv /tmp/Mavericks.cdr ~/Desktop/Mavericks.iso

こちらのリンク(http://forums.appleinsider.com/t/159955/howto-create-bootable-mavericks-iso)を参考に実施しました。

 

明日は@twtkoさんのサイトになります。今からワクワクしていてくださいね♪