2012年9月23日日曜日

我家webサーバーをVMware化してホスト移動可能なUSB SSDにインストールする計画


VMWareのゲストを入れておくSSDのファイルシステムを色々調べてたけど、最近はHFSがMacとLinuxで互換性がある事を知った。

(始めはマックは当然EXT3とかEXT4とか読み書きできて何の問題も無くディスクをやり取りできるのだと思ってたけど、そうではなかった。仕方ないので市販のmacでNTFSを読み書きできるドライバを入れてみたけど、Linux側でなぜかうまく動かなかったので中止)

NTFSだったディスクの中身を一旦バックアップして、HFS+でフォーマット。
120Gの仮想ディスクの移動の片道は約1時間で往復2時間。

linuxで読み書きするためパーティションのジャーナルをオフ
 mac$ diskutil disableJournal diskほげほげ

ubuntuにhfsplusをインストール
 sudo apt-get install hfsplus

ubuntuに持って行ってマウント
オートマウントを利用してUSBドライブとして刺すだけ。
↑これが目的。

パーミッションや所有者がめちゃくちゃなので変更。
 linux$ sudo chown -R shinji ./ContOS6
 linux$ sudo chgrp -R users ./ContOS6

VMWarePlayerでファイルを指定して起動。
これでUbuntuでもMacでも動くようになった。

参考

CentOS6も大丈夫っぽい
 yum install kmod-hfsplus

後これも重要だった。そもそも、仮想ディスクのファイルサイズがギリギリのSSDにスワップが書き込まれて、ディスクの状態が少しおかしくなってたのがNTFS時のIOエラーの原因だったのでは無いだろうか。

VMware で仮想メモリを使わず実メモリを使う方法
1. 仮想マシンの Advanced オプションで disable memory page timing にチェックをいれる。
2. 仮想マシンの環境設定ファイル .vmx に mainMem.useNamedFile = "FALSE" の1行を加える。