ちゃんと入ってましたが、仮想ハードディスクの新形式 VHDX と Linux のファイルシステム EXT3 の組み合わせで問題というか、なんというか...
まずは、CentOS 5.9 にビルトインされている Microsoft Hyper-V Drivers について。
こんな感じでちゃんと入ってました。KVM デーモンも入ってますし、機能しています。
問題はここから。SCSI コントローラーに 100GB の容量可変タイプの VHDX を追加して、fdisk でパーティションを作成し、mkfs でファイルシステム(ext3)を作成したところ、しばらく仮想マシンの反応がなくなり、その後、ファイルシステムの作成が完了したらしく反応するようになると、VHDX を見てびっくり。フォーマットしたばかりなのに 25GB にも膨れ上がっていました。論理ボリューム管理(yum install system-config-lvmでインストール)で論理ボリュームとして作成しても同じ。よく見ると、OS を含む IDE 接続の VHDX もインストール直後の状態で既に 14GB に膨れ上がってます。
再インストールする際に、SCSI ディスクも含めてパーティションを構成してみたところ、フォーマットが完了してファイルのコピーが始まる時点で、容量可変 VHDX の割り当てサイズ(OS 40GB、SCSI 100GB)のちょうど 25%に膨れ上がることがわかりました。
VMware で容量可変タイプの vmdx (40GB) を作成し、同じようにインストールを開始したところ、フォーマット完了直後は 160 MB くらいにしかなりません。
もしやと思い、Hyper-V の環境で容量可変 VHD (40GB) を作成し、インストールを開始すると、フォーマット完了直後は 1GB 以下でした。
ここでようやく犯人は VHDX らしいことがわかってきます。そういえば、VHDX と Linux の組み合わせで何か問題があったような。Linux Integration Services v3.4 for Hyper-V (CentOS 5.8 以前に必要)の Read Me に書いてあったような...
ありました。どうやら VHDX と ext3 の組み合わせがまずいようです。Hyper-V上で Linux をプロダクション環境で動かす場合は、ext4 を使いことが推奨されています。
というわけで、ext4 にしてみることに。CenOS のインストーラーのパーティション編集ツールは、標準で ext4 に対応していませんが、boot: で linux ext4 と入力してインストーラーを開始すると、ext4 を選択できるようになります。
ただし、/ は ext4 に変更できるのですが、/boot を ext4 にさせてくれませんでした。
しょうがないので、Read Me に書かれてあるもう 1 つの方法を試してみます。VHDX をブロック サイズ 1MB で作成するのです。
「Hyper-V マネージャー」や「ディスクの管理」から作成する VHDX は、ブロック サイズ 32M。 ブロック サイズ 1MB の VHDX を作成するには、Windows PowerShell の New-VHD コマンドレットを使用します。40GB の容量可変 VHDX を作成する場合は、こんな感じ。
New-VHD -Path ファイル名.vhdx -Dynamic -SizeBytes 40GB -BlockSizeBytes 1MB
これを仮想マシンの IDE に割り当てて、CentOS 5.9 をインストールしたところ、フォーマット直後で数百 MB、インストール完了直後で 4GB で済みました。10 GB 縮小できたことになります。
続いて、SCSI コントローラーに 127GB の容量可変 VHDX を割り当てて、ファイルシステムを構成してみました。こちらは、「Hyper-V マネージャー」で作成した VHDX (ブロックサイズ 32MB) を使用し、ファイルシステムとして Hyper-V 推奨の ext4 を使用してみました。すると、フォーマット直後は2.5 GB 程度になりました。まだ大きいような気がしますが、1/10 くらいになったので大きな改善です(VHDX のブロック サイズを 1MB にすればもっと小さくなるはず)。なお、論理ボリューム管理(yum install system-config-lvm)で ext4 を扱えるようにするには、e4fsprogs (yum install e4fsprogs)が必要です。
いろいろ試行錯誤しましたが、実は、VHDX ではなく、VHD を使えばトラブルに遭遇することもなかったような。なお、これは容量可変 VHDX の話。
2013/03/14 追記)
SLES 11 SP2のリリースノートに書いてあることと同じ現象のようです。SLES 11 SP2の場合、50GB以上の容量可変タイプのVHDXだとインストールに失敗するそう。容量固定にするか、容量可変VHDにするか、あるいは1MBブロックサイズの容量可変VHDXにしろと書いてありますです。
Release Notes for SUSE Linux Enterprise Server 11 Service Pack 2
11.4.3. Formatting Large Disk Partitions on Windows 8 Server
https://www.suse.com/releasenotes/x86_64/SUSE-SLES/11-SP2/#id326544
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。