高解像 (KVM 16)

その後も,KVMはいじっていまして,ほぼ実用的に使える領域に達した感じがします.

最後の問題が,Xorgの起動でした.サーバーとして使うには必要ありませんが,既存のWSを,いつでも動かせるような形で保存しておくためには必要です.

その既存の実マシンから移行した仮想マシン(VM)では,Xが起動してくれない,起動してもシステムがクラッシュしてしまう,解像度が1280×720より上げられない,等の問題がありました.

Slackwareのxとxapを全部削除して,全部最新版をインストールし直すという手荒なupgradeを実行して,あとは,xorg.conf, xorg.conf.dの中身を見直すことで,どのVMも起動するようになりました

起動したVMのxorgでは,最大の解像度が1280×768ですが,実際には,1280×720の中で仮想的に縦の解像度が768となるという,使いにくい状況で,実質的に1280×720が最高の解像度でした.

解像度をもっと上げる方法をネット検索してみましたが,QXLを使用せよというのが一番多い情報でした.しかし,どれも2010から2011年くらいの情報です.virt-managerでは,デフォルトでQXLが選択されていて,その結果最大1280×720なので,話になりません.

あとは,自分で試すしかないので,ビデオをVMVGAにしたところ,最大2368×1770までの多彩な解像度が選べるようになりました.

ネット検索は万能な様な気がしますが,こういう旬な技術には,賞味期限切れ情報のほうが多くヒットしてしまって困ります^^;

ホストの解像度との兼ね合いもあるので,1440×900にしてみました.20150114-hirez

この解像度については,新規作成のVMでも同じ限界がありました.
結果的には,/etc/X11/xorg.conf.d/90-keyboard-layout.confで,keyboard layoutをjp106にoverrideするのみです.
1台だけ,glibcも古すぎて,新しいxorgが起動しなかったので,gccとglibcをSlackBuildしてupgradeしました.

GUI復活 (KVM 15)

いくつかの実マシンを仮想化する作業をしています.いずれも,確立した手順で^^; CUIとして起動するところまで行きますが,X (Xorg)が起動してくれません.startxをすると,nVidiaや,AMDのfglrxのドライバーが何だかんだとログに残して,致命的なエラーでおしまいです^^;

nVidiaのドライバーについては,ドライバーのインストーラーを使って,

./NVIDIA_Linux-x86-xxx.xx.run --uninstall

とすれば,削除できるとあり,試してみました.上記はちゃんと動きますが,依然として,Xは起動してくれません.

結局,Slackwareのxシリーズを全部removepkgして,/usr/lib/xorgと/etc/X11の残骸をどこぞに移して,もういちどSlackwareのxシリーズをinstallpkgする,という手順で,動くようになりました

作業の要所では,snapshotを残すようにしています.

後の注釈: 残念ながら,その後1台では失敗して,1勝1敗です.snapshotを取ってからやっているので,トラブってぐしゃぐしゃになっても安心です.

システムダウンの原因は仮想マシンか (KVM 14)

一昨日の昼間に,当サーバーが,ディスク関係のエラーを大量に出して,システムダウンしました.

電源リセットした後は正常に動いています.どうも,前夜にいろいろ仮想マシンをいじっていて,仮想マシンのリストから外付けディスクを削除しないまま,物理的に削除したのが原因だったのではないかと推測しています.

問題のドライブはUSB接続だったので,ホスト的にはマウントしてないことを確認しておけば,unplugしていいのですが,動いている仮想マシンでは,マウントしていなくても,IDEかSCSIドライブとして認識していて,hot-(un)plugには対応してなかったようです.このため,IO関係の何かがたまって^^; ホストのIO関係を何してしまったようです.

とはいえ,新しいMain boardなので,ハード関係のエラーの可能性はないとは言いきれないので,しばらくは監視を強めようと思います.

実HDDを仮想マシン化 (KVM 13)

前の話のまとめです.

まえがき

これまで,実マシンとして動いていたLinux Work Station (以下WS1)を,実体として残しておく訳にはいかないけど,まったく捨ててしまうのももったいない.きっと,何か,二度と再現できないノウハウ的なものがあるかもしれない^^;

ディスクをイメージ化して保存し,しかも仮想マシンとして稼働できるようにしておけば,すばらしいです.

で,いろいろ試したところ,次の手順が一番よいと思います.

仮想マシン内でコピー

まず,どこのご家庭にもある,KVM内の既に稼働している仮想マシンを用意します.この仮想マシンに新たなディスクイメージを追加します.容量は,WS1のディスクサイズでもいいですし,実際に動作させるのに必要十分で最小容量でもいいです.形式は何でもいいですが,保存することを第一に考えれば,qcow2のsparse形式でしょうね.

次に,仮想マシンの第3ディスクとして,ホストマシンに接続した,WS1のHDDの実態を追加します.

そして,仮想マシンを起動して,/dev/sdbとなったディスクイメージをパーティショニングして,formatします.

さらに,formatしたイメージのメインの部分をどこかにマウントし,/dev/sdcとなった実ディスクのメインの部分もどこかにread onlyでマウントして,内容をまるまるコピーします.

コピーの方法はいろいろあるけど,最近はrsyncのみ使用してます.

一旦保存

コピーが終了したら,仮想マシンを停止して,その仮想マシンから,先ほど追加した,新しいディスクイメージと,実HDDを削除します.この際,間違っても,せっかく作成したディスクイメージを削除しないことです.”ディバイスリストから削除”するだけで,ディスクイメージは残します.

この新しく作成して実HDDからコピーしたディスクイメージで新たな仮想WSを作って起動させるわけですが,Kernelその他いろいろいじることもあるので,原型を止めたいということであれば,このイメージをどこか別に保存しておいたほうがいいでしょうね.

起動可能とする

これは,いろいろやり方があると思います.私は100%,SlackwareのインストールDVDを使っています.

コピーの時点で,boot loaderを適切にインストールしていないので,多少の工夫が必要ですが,そのくらいのことは,Linuxをいじっている人には朝飯前でしょう.

Good luck & good-by!

これで,滅多に動かすことのなくなったWSの実体を心置きなく捨てることができます.

あとで,いろいろやって分かって来ましたが,2番目に追加したドライブが必ずしもBIOS的に2番目になるとは限りません.これは困ったことです.どうすればBIOS的に順番を変えられるか.調査中です.

既存ディスクを仮想マシンに (KVM 12)

まとめじゃなくて走り書きです.

既存のマシンを仮想マシン化するために,これまでやったことや,今やっていること

  1. ホストマシンで,qcow2のsparseイメージをnbdでマウントして既存のディスクの内容をコピー
  2. ゲストマシンで,virtio_scsiで外付けディスクをマウントする
  3. rawディスクイメージをloopでマウントして、既存ディスクをコピー

1. は,時間はかかるけれども,それほどベラボーではない.しかし,マシンが不安定になることがある.

2.は,うまくいく場合もあるが,ホストで認識できるパーティションが,ゲストでは認識できない場合がある.また,仮想マシンを止めて,virt-managerによって,外付けディスクを削除しないと,ホストが不安定になることがある.

3.は,コピーにものすごく宇宙的な時間がかかる.安定性は不明.

virtio_scsiでなく,IDEをエミュレートしたほうが無難なようです.