仮想化

2011/06/15

XenのホストOSを再起動したらゲストOSがあがらなくなった(ToT)

ひょんなことから開発機XenのDomain-0(ホストOS)を再起動したら、
Domain-U(ゲストOS)が起動してこない。。。

手動で起動しても、やっぱりダメ。

ログ(/var/log/xen/xend.log)を見ると、
以下のようなメッセージが出力されていました。

[2011-02-25 19:07:20 xend.XendDomainInfo 5449] ERROR (XendDomainInfo:1611)
XendDomainInfo.destroy: xc.domain_destroy failed.
[2011-02-25 19:28:39 xend 5449] ERROR SrvBase:88) Request create failed.
[2011-02-25 19:59:49 xend.XendDomainInfo 5449] ERROR (XendDomainInfo:212) Domain construction failed
[2011-02-25 20:45:10 xend 5449] ERROR (XendCheckpoint:133) Save failed on domain hoge (10).
[2011-02-25 20:46:11 xend.XendDomainInfo 5449] ERROR (XendDomainInfo:1665)
XendDomainInfo.resume: xc.domain_resume failed on domain 10.

んー。まったくわからん。

で、色々と調べたところ、Domain-0側でルートパーティション(/)の
空きDisk容量が0になっているのがクサイ!

不要ファイルを削除して再起動したところ、
無事Domain-Uが起動しましたとさ。

おしまい。


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 12:11|PermalinkComments(0)

2010/11/24

Logical Volume割り当てのDomain-UでDiskを拡張する手順

次回はディスクの拡張も試してメモろうと思います。

と、書いてからもう2年・・・。
ようやく機会があったのでメモりんぐ。

 ・Domain-0のLogical VolumeをDomain-UのDiskとして割り当てている
 ・Domain-0のVolume Groupに十分な空きDiskがある
 ・Domain-Uでパーティション(fdisk)を区切っていない ← ここ重要

となっていることが前提です。
というか、上記の通りDomain-Uを作成しておくと非常に便利。

例えば、Domain-0の/dev/VolGroup01/LogVol02を、
Domain-Uの/dev/xvdbに割り当てていて、
こいつを拡張する場合は以下の通り。


◆Domain-0の作業
・念のため、Dom-UのDiskをチェックする
 fsck /dev/xvdb

・Dom-Uをシャットダウンする

・Dom-0上のLVを拡張する
 lvextend -L +20G /dev/VolGroup01/LogVol02

・Dom-Uを起動する


◆Domain-Uの作業
・Dom-Uのファイルシステムを拡張する
 resize2fs /dev/xvdb 140G

なんと、たったこれだけ!


なお、うちの場合はVolume Groupの空きが足りなかった為、
以下を参考に既存ファイルシステムを縮小してから実施しました。
論理ボリュームを縮小するには − @IT

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 12:34|PermalinkComments(0)

2010/11/10

Windows Server 2008 を VMware Server 1.0.5 上で動作させる

これくらいしか書くことが無かった(^^;

・VM作成時はWindows Vista (experimental)を選択

・ネットワークに繋がらない
  「ネットワークのハードウェアが検出されませんでした」と表示されるので、
  デバイスマネージャを確認すると以下のエラーが発生していた。

  このデバイスを開始できません。(コード10)

  ドライバが必要なのかとあれこれやっていたのですが、
  どこかで見かけたので、VMware Toolsをインストールしてみたらあっさり解決。

今後、VMware上で動作がおかしい時は、まずVMware Toolsを入れてみようw


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 12:00|PermalinkComments(0)

2009/11/07

Hyper-V上でWindows 2003 Serverのインストールが失敗する件

インストール中にブルースクリーンですよ!お客さん!!

------------------------------------------------------
A problem has been detected and windows has been shut down
to prevent damage to your computer

PAGE_FAULT_IN_NONPAGE_AREA

(中略)

STOP: 0x00000050 (0xF000EEF3,0x00000000,0x8088C7DA,0x00000000)
------------------------------------------------------

続きを読む

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 21:18|PermalinkComments(0)

2009/11/01

Virtual Server 2005の仮想マシンをHyper-Vに移行する

Virtual Server 2005 R2 → Hyper-Vの情報を元に実施してみた。

「移行には、Virtual Server 2005 → Virtual Server 2005 R2のアップデートが不可欠では?」
という噂があったものの、まずはそのまま試してみることに。
なお、ゲストOSは古いので、Hyper-V上の仮想マシン作成時は全てレガシーネットワークアダプタを使用しました。


続きを読む

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 00:08|PermalinkComments(0)

2009/04/19

CentOS 5.3をWindows Server 2008 Hyper-V上で動作させる

あまりハマる点は無かったけど、
最近作ったのでポイントだけメモ。

1.ネットワークにつながらない
  Hyper-V標準のNICエミュレーションを使う場合、
  ゲストOSに「統合サービス」をインストールしなければいけない。
  「統合サービス」は正式対応OS用しか用意されていない為、CentOS用が無い。
  (SUSE用は検証してません)

  Hyper-VのサポートしているゲストOSは以下を参照。
  http://www.microsoft.com/japan/windowsserver2008/technologies/hyperv-guest-os.mspx

  そんな時は、レガシー・ネットワーク・アダプタを使えばOK。
  詳細な手順は以下参照。

  http://www.atmarkit.co.jp/fwin2k/win2ktips/1068hvlegnet/hvlegnet.html
  

2.Hyper-Vのコンソールから、マウス操作ができない
  これもやっぱり「統合サービス」が必要みたい。
  とりあえず、コンソールをキーボードで操作してVNCを設定。
  VNCでは普通にマウスが使えたので放置w


ゲストOS側にソフトを入れなければならないのはイマイチな気もします。
(NIC部分はオーバーヘッドが減るらしいですが、、、)
まぁ、Xenもカーネルをいじらないといけないか。。。
そう考えると、VMwareには一日の長がある気がするなぁ。

…まてよ?
VirtualServer2005R2では、ゲストOSの設定でマウスが使えたんだから、
そのままで良かったのでは??
ちなみに、Hyper-V上では同じ設定をしてもダメでした。(…たしか(^^;))

まぁ、きっと仕組みが違うんでしょうねぇ。

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 07:47|PermalinkComments(4)

2008/12/16

CentOS 5.1をMicrosoft Virtual Server 2005 R2で動作させる

とある事情により、Microsoft Virtual Server 2005 R2上で、
CentOS5を動作させることになりました。

GUI画面の表示がおかしいのは直せたのですが、
どーにもマウスが動かない。。。

しばらく経ってから、調べてみると以下の記事を発見。

▼解像度がヘン
/etc/X11/xorg.conf のDefaultDepthを24→16に変更(2箇所)

▼マウスを認識しない
/boot/grub/grub.confのkernel部分にi8042.noloopを追加
kernel /boot/vmlinuz-2.6.18-53.1.13.el5 ro root=LABEL=/ rhgb quiet i8042.noloop

記述通りに設定変更したところ、見事にマウスが動くようになった。

ちなみにMicrosoft Virtual Server 2005では全く動作せず。
CentOS4もダメで、CentOS3は動いたので、2.6系KernelはNGなんでしょう。
R2以降で対応したってことかな。

んで、もうちょっと調べたところ、以下の記事も発見しました。

"i8042.noloop"
マウスの動作についてインテルI8042ポートドライバ互換を有効にします。ディストリビューションのマウス自動認識機能が働かず(誤認識)、Virtual PC上でマウスカーソルが動作しないときに状況を改善できることがあります。

上記以外にも有用な情報が多数ありそうです。
時間もずれてた気がするな〜。今度確認してみよう。

勉強させて頂きましたm(_ _)m

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 23:30|PermalinkComments(0)

2008/09/09

XenのDomain-UをコピーしたらHibernateがエラーを吐いた

以前の記事で書いた、
LV割り当てのDomain-Uをバックアップする手順
を利用して、WEBアプリケーションの開発環境を複製してみた。

追加で必要になった作業は、
 ・LVMを使用して、新Dom-Uに割り当てるLogicalVolumeを作成する
 ・事前にuuidとmacを生成して設定ファイルを作成する
ことくらい。

なお、uuidはuuidgenというコマンドで作り、
macは面倒なので他のDomain-Uの下2桁を変えただけですw

予定通りOSは問題無く起動し、NW設定を変更して再起動。
その後、アプリケーションにアクセスしてみたところ、
なぜか正常に画面が表示されない。

ログを調べてみたところ、以下のように
HibernateがMySQLのコネクションを取得できないとのエラーが。。。

---------------------------------------------------------------------

2008-09-08 22:18:43,212 ERROR (JDBCExceptionReporter.java:78) - Connections could not be acquired from the underlying database!
Exception in thread "Timer-1" org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)


2008-09-08 22:20:51,547 FATAL - doPost#Exception occurred!
org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
at org.hibernate.loader.Loader.doQuery(Loader.java:673)

---------------------------------------------------------------------

色々試してみたところ、
hibernate.propertiesのhibernate.connection.urlで
 jdbc:mysql://localhost:3306/xxxx
となっていた所を
 jdbc:mysql://127.0.0.1:3306/xxxx
と変更することで正常に稼動するようになった。

localhostにping打っても通るし、
mysqlクライアントで接続もできるのに何故??

んー。いまいち原因が良くわからない。
気持ち悪いなぁ。。。(>_<)


【2008/11/28追記】
同じ事象に遭遇した先輩の話では、設定を書き換えなくとも、
Domain-Uを再起動したら復旧したとのこと。
Xenの不具合なのかしら???

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 23:16|PermalinkComments(0)

2008/09/03

XenのDomUにOSインストールする際Dom0のメディアを指定する方法

こんな感じで指定できました。
それだけ。

DomUメディア指定

  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 20:46|PermalinkComments(0)

2008/08/29

XenでLogicalVolume割り当てのDomain-Uをバックアップする手順

XenのDomain-UはLogicalVolumeに割り当てると便利らしい。

 ・XenのDomain-Uのディスクとしてロジカルボリュームを使う
 ・検閲Tech: XenとLVM・その1・インストール時

その際のバックアップとリストア手順はこんな感じになりました。
というか、単なるメモ書き。

■バックアップ手順
・ゲストOSにログインしてシャットダウン
shutdown -h now

・ホストOSで対象のDomain-Uが停止する事を確認
xm top

・ボリューム名を確認
cat /etc/xen/[Domain-U設定ファイル名]
lvdisplay

・イメージをバックアップ
dd bs=4096 if=/dev/[ボリューム名] of=[出力先ファイル名]


■リストア手順
・ゲストOSにログインしてシャットダウン
shutdown -h now

・ホストOSで対象のDomain-Uが停止する事を確認
xm top

・イメージをリストア
dd bs=4096 if=[出力先ファイル名] of=/dev/[ボリューム名]

・ゲストOSを起動
xm create /etc/xen/[Domain-U設定ファイル名]

#######################################################################
通常はここまででOK。
別のDomain-Uにリストアする(=環境をコピーする)場合は以下も実施。
#######################################################################

・macアドレスを確認
vi /etc/xen/[Domain-U設定ファイル名]

・ゲストOSのコンソールにログイン
xm console [ドメイン名]
もしくはDom0の仮想マシンマネージャからGUIコンソール表示

・ゲストOSでmacアドレス、IPアドレスの修正
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth1

・ゲストOSでホスト名の修正
vi /etc/sysconfig/network
vi /etc/hosts

・ゲストOSをリブート
shutdown -r now

・コンソールを抜ける
Ctrl + ]


基本はLogicalVolumeの内容をファイルに吸い出したり戻すだけでOKでした。
次回はディスクの拡張も試してメモろうと思います。


  このエントリーをはてなブックマークに追加

 にほんブログ村 IT技術ブログ システムエンジニアへ  ← その他のSEブログはこちら・応援クリック歓迎
tsutaken at 23:47|PermalinkComments(0)