VMware ESX Server 3i Ver3.5でLinuxでParavirtualization(準仮想化)を有効に [Linux(CentOS/VineLinux)]
「VMware ESX Server 3iでParavirtualization codeを有効にした状態でLinuxを稼働すると、かなりパフォーマンスアップするらしいぞう!?」 という話を聞きつけたので、さっそく調査に乗り出してみた。ところが、ネットで検索できる情報ときたら…
カーネルは2.6.25以降で…
Ubuntu 8.1なら…
Xenだと…
みたいな具合ばっかり!
おれさまはCentOSでやりたいんだYO!
ということであれこれ調べてトライ&エラーしてみたところ、一応成功にこぎ着けた!! と言うわけなので、その方法を以下に残しておくZE!!
なお、この辺に詳しいその筋な方のコメントを絶賛募集中。
まず、VMware ESX Serverの設定変更を行う。仮想化サーバが動作している場合は、これを一旦停止させなければならない。
VMware Infrastructure Client でCentOSのインストールされている仮想化マシンを選択し、「Summary」タブから「Edit Settings」をクリック。
「Virtual Machine Properties」というウィンドウが開くので、そのウィンドウ内の「Options」タブをクリックする。
ウィンドウ左側の枠内、「Advanced」の中に「Paravirtualization」をクリックすると、ウィンドウの右半分が変化するので、「Support VMI Paravirtualization」チェックボックスをチェック状態にする。
OKボタンをクリックしてプロパティウィンドウを閉じる。
続いて、CentOS側のカーネル設定を変更する。CentOSでyum updateしただけでは、現状「2.6.18.ナントカ」で、VMwareのParavirtualizationがサポートされないので、結局は新しいカーネルを入手してコンパイルする必要が生じる。(カーネルをコンパイルした時点でCentOSでは無くなる…という指摘もあるが。)
が、ここではやむを得ないのであきらめてカーネルをコンパイルすることにする。過去に作成した記事、カーネルをリビルドする(その2:バージョンアップ編)を参照して、新しいカーネルを入手し、一旦make silentoldconfigまで実行する。
このままmakeせず、Paravirtualizationの設定変更を行うため、「make menuconfig」を実行する。
メニューが表示されたら、「Processor type and features --->」を選択してEnterキーを押す。
続いて、「[ ] Paravirtualized guest support --->」を選択し、スペースキーを押して先頭の四角括弧内にアスタリスクを表示させてからEnterキーを押す。
「[ ] VMI Guest support」を選択し、スペースキーを押して先頭の四角括弧内にアスタリスクを表示させる。このとき、「[ ] Enable paravirtualization code」の先頭部分が「-*-」に変化するはず。(しなかったらチェックしておく)
カーソルキーの「→」を押してメニュー内「Exit」を選択しメニューを終了させる。(何度か操作する).configを変更したら、make して make modules_install して make installしてリブートする。
新しいカーネルでブートしたら、実際にVMIが有効になっていることを確認する。dmesg | grep VMIとかやると判る。
で、これでどの程度パフォーマンスアップするのか…であるが、現状では負荷をかけて計測する環境を用意出来ていないので、ひとまずVMI Paravirtualizationが有効になりましたーということで。(笑)
カーネルは2.6.25以降で…
Ubuntu 8.1なら…
Xenだと…
みたいな具合ばっかり!
おれさまはCentOSでやりたいんだYO!
ということであれこれ調べてトライ&エラーしてみたところ、一応成功にこぎ着けた!! と言うわけなので、その方法を以下に残しておくZE!!
なお、この辺に詳しいその筋な方のコメントを絶賛募集中。
まず、VMware ESX Serverの設定変更を行う。仮想化サーバが動作している場合は、これを一旦停止させなければならない。
VMware Infrastructure Client でCentOSのインストールされている仮想化マシンを選択し、「Summary」タブから「Edit Settings」をクリック。
「Virtual Machine Properties」というウィンドウが開くので、そのウィンドウ内の「Options」タブをクリックする。
ウィンドウ左側の枠内、「Advanced」の中に「Paravirtualization」をクリックすると、ウィンドウの右半分が変化するので、「Support VMI Paravirtualization」チェックボックスをチェック状態にする。
OKボタンをクリックしてプロパティウィンドウを閉じる。
続いて、CentOS側のカーネル設定を変更する。CentOSでyum updateしただけでは、現状「2.6.18.ナントカ」で、VMwareのParavirtualizationがサポートされないので、結局は新しいカーネルを入手してコンパイルする必要が生じる。(カーネルをコンパイルした時点でCentOSでは無くなる…という指摘もあるが。)
が、ここではやむを得ないのであきらめてカーネルをコンパイルすることにする。過去に作成した記事、カーネルをリビルドする(その2:バージョンアップ編)を参照して、新しいカーネルを入手し、一旦make silentoldconfigまで実行する。
このままmakeせず、Paravirtualizationの設定変更を行うため、「make menuconfig」を実行する。
メニューが表示されたら、「Processor type and features --->」を選択してEnterキーを押す。
続いて、「[ ] Paravirtualized guest support --->」を選択し、スペースキーを押して先頭の四角括弧内にアスタリスクを表示させてからEnterキーを押す。
「[ ] VMI Guest support」を選択し、スペースキーを押して先頭の四角括弧内にアスタリスクを表示させる。このとき、「[ ] Enable paravirtualization code」の先頭部分が「-*-」に変化するはず。(しなかったらチェックしておく)
カーソルキーの「→」を押してメニュー内「Exit」を選択しメニューを終了させる。(何度か操作する).configを変更したら、make して make modules_install して make installしてリブートする。
新しいカーネルでブートしたら、実際にVMIが有効になっていることを確認する。dmesg | grep VMIとかやると判る。
で、これでどの程度パフォーマンスアップするのか…であるが、現状では負荷をかけて計測する環境を用意出来ていないので、ひとまずVMI Paravirtualizationが有効になりましたーということで。(笑)
2009-03-18 12:25
nice!(0)
コメント(0)
トラックバック(0)
コメント 0