2013/12/21

OS X と 仮想SSD

SSD 標準搭載の MacBook Air がでた 10.8 Lion あたりから、OS X ではHFS Plusファイルシステムへの SSD に対するサポートがはいってきている。

具体的には、OS X がSSDに インストールされている場合、遅延再配置(hfs_relocate)と Hot File Adaptive Clustirng が無効になる。
二つの機能の概要については...、まあ、こちらのページを参照して欲しい。
(...まさか、未だに自分の原稿が上位でヒットするとは思わなかったよ。)

いずれの機能も HDDの特性を加味してディスク上のデータ配置を置き換えることで IO性能を上げるものであるが、しかし SSDの場合 再配置してもIO性能が上がらないし、むしろ書き込み回数を増やして不利益になるからだ。

OSXがSSDと認識しているかどうかは 「diskutil info」コマンドで確認できる。
[valkyrie:~] shiro% diskutil info disk0s2
   Device Identifier:        disk0s2
   Device Node:              /dev/disk0s2
   Part of Whole:            disk0
   Device / Media Name:      Macinosh HD

   Volume Name:              Macinosh HD
   Escaped with Unicode:     Macinosh%FF%FE%20HD

   Mounted:                  Yes
   Mount Point:              /
   Escaped with Unicode:     /

   File System Personality:  Journaled HFS+
   Type (Bundle):            hfs
   Name (User Visible):      Mac OS Extended (Journaled)
   Journal:                  Journal size 73728 KB at offset 0x1bf2000
   Owners:                   Enabled

   Partition Type:           Apple_HFS
   OS Can Be Installed:      Yes
   Recovery Disk:            disk0s3
   Media Type:               Generic
   Protocol:                 SATA
   SMART Status:             Verified
   Volume UUID:              A95E84F4-7013-38C7-BB33-BB8DB8E8ED69

   Total Size:               959.3 GB (959337365504 Bytes) (exactly 1873705792 512-Byte-Units)
   Volume Free Space:        478.1 GB (478122086400 Bytes) (exactly 933832200 512-Byte-Units)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No
   Ejectable:                No

   Whole:                    No
   Internal:                 Yes
   Solid State:              Yes
最下行の Solid State のフラグが Yes ならばSSD上であるとOS Xが判断していると言うことだ。
(余談だが、SSD だからといってルートフォルダに  .hotfiles.btree ファイルがないとは限らない。初期状態からSSDで出荷された Mac ならその通りだが、HDD搭載の Macから換装したりなどすると、以前の  .hotfiles.btree ファイルが残る。使われてはいないが、どうもアクセスはされるみたいで更新日付は適宜アップデートされてしまう。消しても問題ないとは思うのだが、さすがに失敗したときのリスクが怖いので試していない。)

さて、仮想環境上の OS X はどうであろうか?

とりあえず手元の Fusion 6 で仮想マシンを作ってみたところ、仮想ディスクはすべて SATA接続のディスクとして作成される。

SATA接続のディスクから OS Xを起動すると、SSD上の仮想マシンはちゃんと「SSD」が接続されたように振る舞う。図は、Mountain Lion を搭載した仮想マシンだが、Solid State が YES になってるのがわかる。

Fusion 6 で動作する Mountain Lion の仮想マシン

ただし、以前の Fusion で作成した仮想マシンは 仮想SATA接続ではなく仮想SCSI(lsilogic)接続になっており、こちらはSSDと認識されていない。仮想SATA接続は仮想ハードウェアバージョン10からのサポートで、Fusion 6からしか使えないからだ。

以前作った仮想マシンについては、以下の手順で仮想SATA接続に変更できる。

まず、仮想マシンをちゃんとシャットダウンして、スナップショットをすべて削除する。

次に、設定パネルの互換性タブから仮想ハードウェアバージョンを10にあげる。

仮想ハードウェアバージョンを10にする

これにより仮想SATA接続の仮想ディスクが利用可能になる。

最後に、仮想ディスクを選択してバスタイプをSATA接続に変更する。

バスタイプをSATAに変更

スナップショットを削除していないとバスタイプの変更ができないので注意だ。

不用意にバスタイプを変更すると起動しなくなるOSもあるが、OS X のブートローダは結構柔軟性があり、SCSIからSATAへの変更程度なら問題なく起動してくれる。
ゲストOSの上の動作とはいえ、無用な書き換えを防ぐことでSSDを長持ちさせることができるのでやっておいたほうがいいし、そのために Fusion 6 にアップグレードするのも悪い話ではないだろう。


しかし、OS X の場合はこの方法を使っても、OS側がSSDを検出しない、SCSI/IDE接続のディスクをSSDかHDDか検出していない模様のため、あまり意味がない。


2013/12/11

[余談] WiFiルータ

vExpert な知人の間でアドベントカレンダーが回っているようだ。

話は聞いていたのだが11月末から12月冒頭、主に出張でばたばたしてたのですっかり出遅れてしまった。用意したネタはなきにしもあらずだが慌てて出す必要もないし、またじっくり確認してからにしようと思う。

で、その出張で公私ともに役に立ってるWiFiルータの話をちょっと載せておきたい。

その愛用品は Planex の MZK-RP150N という名の WiFiルータだ。個人的に使っているものは確か1年ほど前、博多駅近くのヨドバシで購入した。

出張用の旅行鞄には長らく初代の AirMacExpress が入っており、旅行先の宿で無線LANを利用するのに使っていた。が、この博多出張の折たまたま家に忘れてしまい、これが吸収を転々とするわりと長期にわたる出張だったためなきゃないで困るので、目の前にヨドバシがあるうちにと買いに行ったのだった。

AirMacExpress も購入当初はなんて小さな WiFi ルータだと思っていたが、MZK-RP150N のマッチ箱を二つ重ねた程度の小さな筐体は輪をかけて小さく、買ったときには技術革新にひどく驚いたものだ。

さて、小型の WiFiルータなら他にもたんとあるのに、わざわざこれを選んだ理由は「Ethernet が2ポートある」という点に他ならない。WiFiを抜きにしても、簡易的なNATルータとして利用可能なのだ。これは思いの外便利で、1IPアドレスしかとれないような会議室で結構役に立つ。ほかの多くは1ポート、上位ネットワークにつながるポートしかないのでこうしたことができない。

怪我の功名ではあるが、なかなかいいものを買ったと思っている。
後日 職場の機材で持ち運びの容易なWiFi ルータが必要になったときにこの MZK-150Nを提案し、何台と導入して便利に使っている。小さく、そこそこの性能があり、なにより安い(市価で2000円強)。


ただ、良いことがある一方、あまりよろしくない点もある。

一つは、デフォルトの設定がイケてないということだ。デフォルトではオートモードという設定になっており、外部(Internet)側ポートの接続状況に応じてNATルータ(ルータモード)かブリッジ(APモード)かを自動的に切り替えるようになっている。

確かに、NATルータとして振る舞ってほしい場合もあれば、有線と無線をつなぐ単なるブリッジでいい場合もある。そのために都度設定をするのは面倒といえばそうだ。
しかし、このモードの切り替えはどうも外部側ポートに割り当てられたIPアドレスで判断しているらしく、プライベートIPがついた場合はたいていブリッジになるようだ。

「らしく」というとおり切り替えの基準がいまいちはっきりしないのと、最近のビジネスホテルの部屋のポートは 10.x.x.x のプライベートアドレスが割り当てられることが多い、というかまっとうなグローバルアドレスがそんなぽんぽん割り当てられるはずもなく、従って意図せずにブリッジとして動作していることがある、ここがかえって厄介になっている。

またモードによって管理ページのIPアドレスが異なる(最終オクテットが .1, .249, .248 の3パターン)ため、設定をしたくても管理ページにたどり着くのが一苦労だったりもする。
このため、私物および職場で私の管轄下の機器についてはルータモードに固定しており、必ずNATルータとして振る舞うようにしている。

製品自体には今時の機器らしく、マニュアルは付属せず簡単な説明用紙がついているだけだ。この説明用紙が、初心者向けに優しく書いているのだが、詳しいことを知ろうとするとかえってわかりにくい。オートモードと相まって飼い慣らすまでが一苦労だ。
(オンラインで詳細マニュアルは存在する)

また、後継機種らしい機器が出てきているためか、若干ながら入手が難しくなってきている。
こちらはEthernetが1ポートしかないため、私にとっての利点が失われてしまっている。

今後の入手可能性が不安なため、職場での機材増加に伴う追加購入の際、無理を言って予備機を用意してもらった。( 予備機もしまわれているわけではなく社内での検証などにも流用されている )

少々問題はあるが、とはいえ設定さえルータモードに固定してしまえば、あとは「差すだけ」というのはとても便利だ。

そろそろ私物のほうも予備を買っておこうか、と思うぐらいには気に入っている。