macOS Sierra のゲストマシン作成方法

Apple の macOS  は OSX の頃から、Apple 社製の H/W での VM 作成を EULA 上許可しています。

仕事で検証環境が必要になったのでご老体の Mac Book Air (新しい Mac Book Pro  あたり、そろそろ本気で購入考えなきゃいけないレベルまで来てるのですが、、、コストとの兼ね合いもあるが、欲しくなる端末が出てないという酷い状況です。)ともあれ、 mac OS Sierra のゲストマシン作成の手順を備忘録がてら残しておきます。今回は画面キャプチャ無しで細かい手順はなしです。

 

前提環境

macOS Sierra 10.12.5 (macOS Sierra にアップグレード対象の端末であれば何でも。)

VMware Fusion Professional Version 8.5.8 (5824040) (最新のほうがいいです。Professional である必要はありません。)

1. インストール媒体の準備

App Store で macOS Sierra  のダウンロードを行います。デフォルトではダウンロードパスは/Applications/Install\ macOS\ Sierra.app になります。例のごとく、.app パッケージ内にすべてのモジュールが入ってますので、インストールメディアを作成される場合はここから createinstallmedia を実施するのですが、VMware Fusion にはダウンロードメディアを指定することで直接インストールを促すということが可能な機能があります。

 

2.VMware Fusion での仮想マシンの作成

VMware Fusion の Virtual Machine Library で Add -> New -> Install from disk or image を選択し、前述のパス /Applications/Install\ macOS を指定します。

Create する時に”Unable to create the installation medium” と表示され継続出来ない場合があります。この場合は Utility -> Disk Utility で macOS Sierra のインストール媒体をアンマウントしておきます。

これで仮想マシンのイメージが作成されました。後は macOS Sierra のインストールを画面に従ってひたすら実施します。

 

Fusion は Open Source にでもなったんでしょうか? GitHub にリポができてたのですが、どうやらオフィシャルのものではなさそうです。いい製品で私もずっと愛用しているし、そもそも VMware の社内のフィードバックを元に開発された製品なので、なんとか続いて欲しいものです。

 

参考資料

https://support.apple.com/ja-jp/HT201372

https://github.com/VMwareFusion

広告

OSX で SQL Server vNext 動かしてみた

SQL Server vNext はOSXではDocker上で動作すると聞いて。
実際にインストールまでやったので簡単に手順をまとめておきます。

手順はあってる気がしますが、mssql とすると、接続エラー起こすので手順は途中です!

私の環境はこちらです。(老体にムチ…という感じの4年物のMacBook Airです)

about_this_mac

 

1.Docker をインストールします

https://docs.docker.com/docker-for-mac/からお好きな方をダウンロードします。

私はStable channelを使用しました。(もしかしたら、Sierraではこのバイナリうまく動作しないのかもしれないです。)

get_started_with_docker_for_mac_-_docker

 

ダウンロードしたdmg ファイルをダブルクリックすると、Applicationへコピーする画面が出るので、そのままドラッグ&ドロップします。

docker_and_%e6%96%b0%e8%a6%8f%e6%8a%95%e7%a8%bf%e3%82%92%e8%bf%bd%e5%8a%a0__exception_-_wordpress

初回起動時に、ダウンロードモジュールなので下記の警告が出ますがOpenします。

screenshot_2016_11_19_9_26

ウィザードに従います。

%e6%96%b0%e8%a6%8f%e6%8a%95%e7%a8%bf%e3%82%92%e8%bf%bd%e5%8a%a0__exception_-_wordpress_and_miho_-_-bash_-_120x48

%e6%96%b0%e8%a6%8f%e6%8a%95%e7%a8%bf%e3%82%92%e8%bf%bd%e5%8a%a0__exception_-_wordpress_and_miho_-_-bash_-_120x48

権限付与のウィンドウで管理権限のあるユーザーのID・パスワードを入力します。(画面取るの忘れちゃった。。。)

インストールが終わるとこのような画面が表示されます。

item-0_and_item-0_and_item-0_and_item-0_and_item-0_and_item-0

docker のインストール完了です。

miho_-_-bash_-_120x48

 

2.SQL Server vNext をインストールします

※基本はマニュアル通り写経するだけですが、ローカルのディレクトリとのマップをする場合はディレクトリをあらかじめ作成しておきましょう。(私の場合/Users/Miho/Library/DockerImagesってのを作りました。)

Mihos-MacBook-Air:~ Miho$ sudo docker pull microsoft/mssql-server-linux

Password:

Using default tag: latest

latest: Pulling from microsoft/mssql-server-linux

7dcf5a444392: Pull complete 

759aa75f3cee: Pull complete 

3fa871dc8a2b: Pull complete 

224c42ae46e7: Pull complete 

76c0e9bd5603: Pull complete 

f6f1f8309800: Pull complete 

2f187a07b883: Pull complete 

Digest: sha256:238006156e6bcc098105759fc0e16130cc053673cdec6b567f17b4c7e79ed75a

Status: Downloaded newer image for microsoft/mssql-server-linux:latest

Mihos-MacBook-Air:~ Miho$  docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Sql4ever!' -p 1433:1433 -d microsoft/mssql-server-linux

9dbb368c2261115ece6b3934c102a60b7a931cf8f91ab12c32ae1d0dfae6930b

 

3.sql-cli のインストール

OSXの場合、sqlcmd がサポートされていないためsql-cli を使用します。

私の環境では、npm も node もバージョンが古かったので下記のエラーに遭遇してしまいました。

Mihos-MacBook-Air:~ Miho$ npm install -g sql-cli

npm http GET https://registry.npmjs.org/sql-cli

npm http GET https://registry.npmjs.org/sql-cli

npm http GET https://registry.npmjs.org/sql-cli

npm ERR! Error: SSL Error: CERT_UNTRUSTED

npm ERR!     at ClientRequest.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/main.js:440:26)

npm ERR!     at ClientRequest.g (events.js:185:14)

npm ERR!     at ClientRequest.EventEmitter.emit (events.js:88:17)

npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1455:7)

npm ERR!     at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23)

npm ERR!     at CleartextStream.socketOnData [as ondata] (http.js:1366:20)

npm ERR!     at CleartextStream.CryptoStream._push (tls.js:492:27)

npm ERR!     at SecurePair.cycle (tls.js:846:20)

npm ERR!     at EncryptedStream.CryptoStream.write (tls.js:227:13)

npm ERR!     at Socket.ondata (stream.js:38:26)

npm ERR! If you need help, you may report this log at:

npm ERR!     <http://github.com/isaacs/npm/issues>

npm ERR! or email it to:

npm ERR!     <npm-@googlegroups.com>

npm ERR! System Darwin 16.1.0

npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "sql-cli"

npm ERR! cwd /Users/Miho

npm ERR! node -v v0.8.7

npm ERR! npm -v 1.1.49

npm ERR!

npm ERR! Additional logging details can be found in:

npm ERR!     /Users/Miho/npm-debug.log

npm ERR! not ok code 0

いい機会だったので brew で nodebrew を入れ直し、node 及び npm を入れ直しました。入れ直す方法はかなり試行錯誤で汚かったので割愛させていただきます。

インストールがきちんと出来た場合は下記のようなログが出力されます。

Mihos-MacBook-Air:~ Miho$ npm install -g sql-cli

/Users/Miho/.nodebrew/node/v7.1.0/bin/mssql -> /Users/Miho/.nodebrew/node/v7.1.0/lib/node_modules/sql-cli/bin/mssql

/Users/Miho/.nodebrew/node/v7.1.0/lib

└─┬ sql-cli@0.4.9

  ├── chardet@0.1.0

  ├─┬ commander@2.9.0

  │ └── graceful-readlink@1.0.1

  ├── easy-table@1.0.0

  ├── iconv-lite@0.4.13

  ├─┬ mssql@3.3.0

  │ ├── generic-pool@2.5.0

  │ ├── promise@7.1.1

  │ └─┬ tedious@1.14.0

    ├─┬ babel-runtime@5.8.38

    │ └── core-js@1.2.7

    ├── big-number@0.3.1

    ├─┬ bl@1.1.2

    │ └── readable-stream@2.0.6

    ├─┬ readable-stream@2.2.2

    │ ├── buffer-shims@1.0.0

    │ ├── core-util-is@1.0.2

    │ ├── inherits@2.0.3

    │ ├── isarray@1.0.0

    │ ├── process-nextick-args@1.0.7

    │ └── string_decoder@0.10.31

    ├── semver@5.3.0

    └── sprintf@0.1.5

  ├── mstring@0.1.2

  ├─┬ q@2.0.3

  │ ├── asap@2.0.5

  │ ├── pop-iterate@1.0.1

  │ └── weak-map@1.0.5

  ├── sprintf-js@1.0.3

  ├── underscore@1.8.3

  ├─┬ underscore.string@3.3.4

  │ └── util-deprecate@1.0.2

  └── ya-csv@0.9.4

 

どうも、OSXのDockerの扱いがうまくいっていない私なので、どこまで動いてるか怪しい状態です。

もう少し試行錯誤してアップデートしていきたいと思います。

 

参考リンク

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-docker

https://www.npmjs.com/package/sql-cli

 

VMware 徹底入門第4版の電子書籍がでました。

昨年の夏から秋にかけて携わった、VMware 徹底入門第4版の電子書籍版が出ました。

私が担当したのはHA/DRS/vMotionっていう基本機能について紹介しているところですが、自分自身も執筆しつつ章リーダーという謎ロールで他のメンバーとの調整やらレビューやらを泣きながら(っていうのは、タスクマネジメントが。。。ねってことで。)やっていたといところです。

vSphere 6 で大幅にアーキテクチャが変更となったFTのところは、検証してたチームメイトが執筆してたのですが、元ネタが優れててグローバルから英訳してくれっていう依頼が来たほどの内容です。

それだけ、詳しく書いてた資料がなかったってことだったりしますが。

大御所の先輩に「足し算間違ってるよ」っていう指摘からいただいたり。…ごめんなさい。Duncan/Frankの本で私が指摘したのに、自分が執筆するとなるとついまちがってしましました。

いろいろ苦労した本ですが、これは紙の方が使いやすいと思います。

辞書的にくったり付箋貼ったりして職場においておくのが一番かな。

 

この本について書いてはいますが、Amazonのアフィリエイトプログラム以外の収入は私にはありません。

なので、純粋にこの本をおすすめします。

今後Azure Stack等の配下にvSphere もおけるようになってきますので、OMS (Operations Management Suite) の配下に vSphere ではなく ESXi ホスト単体は置けるようになっているようですね。

 

vSphere も徹底入門しておいて損は無いと思いますよ。(ちょびっと上目線)

 

 

ちなみに、私も最終出社日に海外のエンジニアから「おまえのつくった資料の英語版ないの?」って問合せもらってちょっと嬉しかったです。

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(泣けてきた)
⇒このブログの過去をご覧ください。

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

VMware Fusion のサポートしているホストOSについて

Compatibility Listの扱いがどうやら変わったようで、VMware Fusion のSupported ホストOSはKBに記されています。

Supported host operating systems for VMware Fusion and VMware Fusion Pro
http://kb.vmware.com/kb/2088571

Fusion8以降はこちら
Supported host operating systems for VMware Fusion 8.x and VMware Fusion Pro 8.x (2129865)
http://kb.vmware.com/kb/2129865

Black Friday&Cyber Mondayのセールで今年も安くなっているのですが、FBで知人がちょーっと気になること言ってたので調べてみたら、Fusionがリリースされたときの最新のOSXのバージョン+2つ前までの合計3バージョン対応のようです。
いつか使うかもって衝動買いしてOSX自体を最新にしている人は、欲しいときまで待った方がいいよということです。