xeコマンドが失敗する場合
Unhandled exception File "stunnel.ml", line 138, characters 20-25: Pattern matching failed
こんなエラーが出る場合は
$ yum install stunnel
インストールしてあげてください。
XenServer6.2で俺的にはほぼ完璧になった
ついに Xenserver 6.2 がリリースです。
http://www.xenserver.org/
http://sourceforge.jp/magazine/13/06/28/151500
OSS化されたXenServer 6.2は従来のXenServer Free Editionより高機能になっていて、従来は有償版のみで使えたHA, Dynamic Memory Control,Storage XenMotion等もフリーで使えます。
— Satoshi SHIMAZAKI (@smzksts) 2013, 6月 26
XenServer6.2がOSSになったことが理由なのか知りませんが、有償の機能だったHA(High Availability)やDMC(Dynamic Memory Control) も普通に使えるっぽいです。VMwareやHyper-Vではメモリバルーニングやダイナミックメモリは無償版でも普通に使えいたけどXenServerの無償版ライセンスでは使えなかったので、非常に嬉しいです。
私がXenServerを押している理由は、vCenterやSystemCenterのようなものを導入しなくても、ホストのどれか1つが統合管理(Control Domain)してくれるので、別途サーバを用意する必要がないというところです。無償で統合管理の機能があるので、VMテンプレートやライブマイグレーションも普通に使えます。だいたいはXenServerで事足りるのですが、メモリ管理だけは他の仮想化製品(無償版)と比べて若干の機能不足を感じていましたが、XenServer6.2でやっと無償でDMCが使えるので、これでほぼ完璧になりましたよ!!
無償版だと使えなかったDMCのタブの内容。
DMCはメモリの下限と上限を設定するだけ。
やったね!
Windows8/Windows2012のRDP8
仕事柄、新しいWindowsやLinuxディストリビューションがリリースしたときは、リリースノートぐらいはみているのですが、Windows8/Windows2012に関してはあまり見ていなかったので、休み中に斜め読みしていたら、これはこれは...楽しい機能が結構増えていたんですね。
RemoteFXは、USBのリダイレクトもサポートしている。この機能は、クライアント デバイスのUSBをダイレクトにVDI上で動作しているOSにマッピングする(1つのUSBデバイスを複数のOSを同時に利用できるわけではない)。この機能を利用すれば、シンクライアントのUSB端子に接続したUSBメモリ、プリンタ、Webカメラ/ビデオ、USB電話機などが、VDI上で利用できる。
http://cloud.watch.impress.co.jp/docs/column/2012lab/20121026_568604.html
クライアントのUSBと仮想マシンのUSBをマッピングできるってのは素晴らしい。
XenServerの仮想ディスク拡張
XenServerの仮想ディスク拡張はNFS VHDだとGUIで簡単にできるけど、LVHDの場合はCLIで変更が必要なもよう。
CITRIXのナレッジに説明あるけど、微妙に古くてコマンドオプションも違ってたりするので備忘録として書いておく。
https://support.citrix.com/article/CTX125970
拡張するVMを探してUUIDを覚えておく。
$ xe vm-list
VMのVDI(Virtual Disk Image)のUUIDを調べる。
$ xe vm-disk-list uuid=<vmのuuid>
sr-name-labelと書いてあるのがVDI(Virtual Disk Image)。UUIDを指定してのサイズを変更する。
$ xe vdi-resize uuid=<vdiのuuid> disk-size=64GiB
あとはOSからディスク拡張する処理を行なって終了。WindowsもLinuxも便利になりましたね。
XenServerのrootパーティションを大きく取る方法
XenServerはインストールすると、rootパーティションが4GBしかなくて結構いやんな感じです。
稼働するVM数が多いとログの溜まり方が結構な量になってディスクフル、というお決まりのパターンで泣いている人も多いと思います。
http://rackerhacker.com/2012/01/13/xenserver-6-disable-gpt-and-get-a-larger-root-partition/
とりあえず、インストール時に
- [F2-Advanced]
- shell と入力してEnter
- シェルモードで/opt/xensource/installer/constants.pyを修正
- root_sizeを検索して 4096 を任意のサイズに変更
- exit後にインストール画面に戻るので、そのままインストール
悩みは一気に解消ですね。
私はroot_sizeだけじゃなくてDOM0_MEMのサイズも少し多めに変更しています。
VirtualBoxのAPIで楽しく仮想化ライフ (1)
周りがマックばかり購入するので、カッとなって Thinkpad X1 を購入しました。まずはUbuntu12.04にVirtualboxを入れて遊んでいます。ほんとSandyBridgeとSSDの速さは恐ろしいものがありますね。AMD信者としてはどうしていいのかわからない気持ちになります。
とはいえ、怒ったり泣いたりしても仕方がないのでVirtualBoxのAPIで色々遊んでみることにしました。
rubyのgemによさげなものがあったので。まずはインストール。
$ ruby -v ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] $ sudo gem install virtualbox Fetching: ffi-1.0.11.gem (100%) Building native extensions. This could take a while... Fetching: virtualbox-0.9.2.gem (100%) Successfully installed ffi-1.0.11 Successfully installed virtualbox-0.9.2 2 gems installed Installing ri documentation for ffi-1.0.11... Building YARD (yri) index for ffi-1.0.11... Installing ri documentation for virtualbox-0.9.2... Building YARD (yri) index for virtualbox-0.9.2... Installing RDoc documentation for ffi-1.0.11... Installing RDoc documentation for virtualbox-0.9.2...
VMの一覧を取得。あら簡単。
require 'virtualbox' require 'pp' vm = VirtualBox::VM.all vm.each {|v| pp :name => v.name, :uuid => v.uuid, :state => v.state } #=> # {:name=>"windowsxpps3", # :uuid=>"0f264a29-2e96-4fd5-8870-6df96fe334fe", # :state=>:running} # {:name=>"debian6", # :uuid=>"18f307e9-173e-42d4-b3bd-39665af9b176", # :state=>:running} # {:name=>"ubuntu1204", # :uuid=>"edba9b7a-c28b-4469-9256-566c6e27641a", # :state=>:running}
起動していないVMを起動してみる。あらこれも簡単。
vm.each {|v| v.start unless v.running? }
かなり便利な感じなので、もう少し使い込んでみたいと思います。