カテゴリ:XEN( 116 )

XEN などの仮想環境で、テキスト端末から

# xm console windows-vm (または xl, virsh で)

などとやってしまうと、本来 GUI 環境で動くべき Windows のコンソールが出ません。出来ないものは出来ないので、kill してしまうしか方法がありません。

しかし、肝心のテキスト端末にプロンプトが戻ってこないわけです。

その場合は、別なテキスト端末を開いて、プロセス番号を探して kill します。


sles11:~ # who 誰がどの端末からログインしているかを調べる
root pts/6 Nov 29 06:45 (192.168.1.45)
root pts/10 Nov 29 08:01 (192.168.1.45)
sles11:~ #

pts で二つセッションが開いています。ttyの場合もあります。
そこで ps コマンドで pts を grep してみます。

sles11:~ # ps ax | grep pts
2524 ? Ss 0:01 sshd: root@pts/6
2614 pts/6 Ss 0:00 -bash
4419 ? Ss 0:00 sshd: root@pts/10
4424 pts/10 Ss 0:00 -bash
27171 pts/6 Sl+ 0:00 /usr/lib64/xen/bin/xenconsole 5 --num 0 --type serial
<---- 犯人はこいつだ
27238 pts/10 R+ 0:00 ps ax
27239 pts/10 S+ 0:00 grep --color=auto pts
sles11:~ # kill 27171 <--- kill する
sles11:~ #


プロンプトが戻ります。

そのほかの情報は
islandcenter.jp

-Keyword-
SUSE SLES xen xm console xl console virsh console 仮想コンソール プロンプトが戻らない できない。
[PR]
by islandcenter | 2014-11-30 12:08 | XEN | Trackback | Comments(0)

高可用性、高信頼性で堅牢な SUSE Linux Eternprise Server (SLES11) を XEN ハイパーバイザーとして利用する場合の、 SLES をインストールするポイントを説明します。

SLES11 は既にインストール済み、MobaXterm を使って Windows 側から操作しました。ハイパーバイザーは、 Core i5 の低電圧版、一般的なミドルランクの8G メモリの SATA ディスクのホワイトボックスPCです。既に、二つの Windows と4つの Linux サーバーが動作している「かなり重い」サーバー(?)です。

terminal をまず、XEN サーバーに接続します。

# yast & から virt-manager を起動するか
# virt-manager & を直接起動します。

"Not Connect" > 右ボタンで "Connect"

作成します "Create New"

設定はほとんどデフォルトです。デフォルトで SLES11 が選択されています。 8Gディスク と 4vcpu, 512Mb メモリです。
a0056607_12284919.jpg


SLES11 は 512Mb メモリでも、十分 GUI でインストールできます。他のディストリビューションでは、インストールに1Gバイト程度メモリを要求する場合がありますが、SUSE は 512Mb で十分です。
a0056607_1231999.jpg

ここでは、メモリが余っていたので1Gバイト与えましたが、通常のインターネットサーバーなどではそんなに必要としないでしょう。VPN だとか、簡単な HTTP サービスであればインストール後に /etc/xen/vm ファイルを編集して 192Mb でも動作します。

インストールのソースファイルを選びます。ここでは ISO ファイルを選びます。
システムパーティションは SLES11 では 8G ですが、gnome デスクトップを外したり、英語以外の言語の選択を外せば、 4G でも十分なスペースです。

ここで注意するのは xvd ファイルが先頭、 CD/DVD の ISO が2番目にあることです。間違えてセットした場合は、 Up/Down ボタンで位置を設定し直します。(ISOが先頭にあると再起動に失敗します)

xvd ファイルは /var/lib/xen/images/MyVm/disk0.raw となります。 disk0.raw では、単体ファイル名でどの VM なのかわからないので MyVm.disk0.raw などとリネームしておくのが良いでしょう。

NICは自動的に準仮想化ドライバが選択されます。Eth0しかない機材なので br0 しか選べませんが、NIC の複数差しの場合、任意に接続できるNICへのブリッジインターフェースが選べます。例えば、 br0 の Domain-0 は幹線に、dom-U の br1 は DMZ に配置する仮想マシンに、と言った具合ですね。

Centos7 で試したのですが、RedHat 6/7系の非XEN対応のディストリビューションでは、完全仮想化しか道はありません。

それでは実際にインストールを開始します。


デフォルトでは English/English Keyborad ですから 106 キーに変えるために、キーボードを Japanese に変更します。 License Agreement の Agree をチェックして次へ進みます。
a0056607_12435128.jpg


私個人としては、別にメニューが日本語化されても嬉しくありません。却って、日本語のメニューを英語に翻訳して考えるという無駄な努力が必要なので、全ての表示は英語でいい、と割り切っています。

タイムゾーンの設定です。マウスを使って Asia/Japan を選択します。
"Hardware Clock set to UTC" のチェックは外します。
a0056607_1248210.jpg

どうせ仮想化されたマシンなので、Dom-U 側からは CMOS クロックを変更できません。また、ハードウェアクロックを強制的に UTCにした場合、ハードウェア側のログなどが UTC になります。あまり喜ばないお客様が多いので、いつもこうしています。

ただし、インターネット公開用サーバーの場合、時間帯は UTC を選ぶべき場合があります。それでも、仮想サーバーは直接ハードウェエアクロックを制御しませんので、このチェックは外します。

基本的なインストールのシナリオです。
1) 物理サーバー
2) XEN/KVM などの仮想 domain-u
3) XEN サーバー
4) KVM サーバー
a0056607_14574590.jpg

これで、サーバーの性格が決まってしまいます。物理ハードウェアをハイパーバイザーとする場合、 3),4) のどちらか好みを選びます。ただし XEN/KVM をインストールした場合、デバイスドライバのコンパイルに必要なカーネルソースや、アクティベーションに必要な FireFox ブラウザなどはインストールされないので、追加でインストールします。

ちなみに KVM のハイパーバイザー上に SLES をインストールすると、自動的に KVM に最適化されたドライバがインストールされました。

今回は仮想マシンなので2) です。

サマリ画面が開いたら "Expert タブ"を開きます。追加言語や RunLevel, 追加用アプリケーションソフトウェアなどはここからインストールします。

追加言語として Japaneseをチェックしておきます。少なくとも、これで、使うアプリケーション(と言ってもブラウザ位ですが)が日本語表示のためのフォントのインストールなどが行われます。
a0056607_125344.jpg

言語の追加のため、インストール量の見積もりが変わりますよ、という警告にOKします。

デフォルト RunLevel は 5 (XDM)なので 3 にします。
a0056607_1257176.jpg

どうせ仮想マシンなので、コンソールを開くことはないでしょう。余分なメモリは使いたくありません。

サマリ全体を確認してください、それではインストールを開始します。

幾つかライセンス同意の画面が出ます、 I Agree を押して、最後に Install を開始します。


このインストールにかかる時間は一般的なPC環境であれば25分程度、サーバーなど SAS-Raid のハードウェアで 12,3 分程度、 SSD なら5分ほど、ファイルコピー、rpm のインストールにかかります。

-ということでコピーを待つ  (^_^)y== - ~~

コピーが終わると、自動的に再起動します。

a0056607_14254795.jpg


一旦、仮想コンソールが閉じますが、 Virt-Manager から、作成中の仮想マシンを右ボタンから Open します。 SUSE の初期起動画面、 Geeko のスクリーンが出ます。邪魔な場合は F2 キーでクリアできます。

実際 Virt-Manager で見ると、こんなに沢山の VM があることに驚いてしまいました。

a0056607_142910100.jpg


root のパスワードスクリーンです。 Test 用のボックスがあるので、特殊キーや NUM ロックがかかっていないか確認します。
a0056607_1431492.jpg


この後、"サーバー名.ドメイン名" をセットし、ネットワークの設定をします。
a0056607_1435255.jpg


IPv6 は無効に、ファイアウォールはここでは一応 Disable にしておき、SSH のポートを開けておきます。
Network Interface のラインをクリックして、IP の設定をします。
a0056607_14382253.jpg


DNS, Default Gateway(Router) の設定を行います。
a0056607_14401917.jpg


ネットワークのテストは "No" を選びます。Yes を押して、はまり込むと、ドエライ苦労が待っています。まずはインストール作業を優先しましょう。このスクリーンは2、3度出ますが、特にスキップしなくても、自動的に次の画面に移動します。
a0056607_14431073.jpg


その後、CA管理画面、ユーザ作成方法(デフォルトは Local) ユーザ(オペレータ名)をセットします。

ハードウェアの設定が終わりました。
AutoYast は同じサーバーを沢山設定するためのテンプレートなので、設定は不要です。
チェックを外します。
a0056607_14455347.jpg


YaST インストーラが終了して、 RunLevel 3 で起動します。
a0056607_14484612.jpg



お問い合わせは
islandcenter.jp
[PR]
by islandcenter | 2014-07-18 15:44 | XEN | Trackback | Comments(0)

 iSCSI は FC より遅いので、仮想化には不向きともいわれます。そうは言っても 1Gbps のネットワークであれば、ほぼ SAS-RAID 程度までならパフォーマンスは十分です。そもそもディスクのIOが付いてこれません。ネットワークの帯域よりも iSCSI のデバイスそのものの方がパフォーマンスには影響してしまうのです。

 ついでに、iSCSI でハイパーバイザーから共有して、ライブマイグレーションに挑戦してみます。

 今回使うのは qnap の TS110, もう5年前の機種にも関わらず、ファームウェアのアップデートがありました。その都度I/Fが変わったり、機能が変わったりしています。進化を止めない qnap , 今のところお勧めです。かなり古い装置なので、速度はマッタリです。

a0056607_14285241.jpg

 Qnap に iSCSI の機能を組み込みます。今回はパスワードは設定しませんが、誤接続を防ぐためにも IP-SAN 内部にパスワードを設定しておくと良いでしょう。

 今回は仮想化ハイパーバイザーはSUSE 標準の XENです。 Domain0 が動作する SLES11sp3 上から yast でiSCSI Initialtor を作成します。
yast > NetWork Service > iSCSI initiator
a0056607_14314772.jpg


 もし、iSCSI がインストールされていない場合、SUSE では自動的にリポジトリからインストールされます。

 デフォルトは ”manual” です。そのままでも構いませんが、実運用するには "When Booting" などに変更しておくと良いでしょう。
a0056607_14344065.jpg


 iSCSI ターゲットのアドレスor DNS 名をセットします。
a0056607_1436298.jpg


 iSCSI ターゲットに接続するとターゲットの中で iSCSI デバイスとして作成済みの仮想ストレージが出てきます。まだ接続しただけなので False と表示されていますが、 Login ボタンで True になります。
a0056607_14371460.jpg


 SUSE の場合、これで iSCSI の設定が終わりです。実にあっけない。
a0056607_14503578.jpg


 次に接続したiSCSI デバイスをフォーマットしてします。最初に Mount Point として /iscsi ディレクトリをを作りました。
 別に /var/lib/xen 全体をマウントしても構わないのですが、それでは仮想サーバー全部が iSCSI に作られてしまいます。本格的な運用であれば、それで構いませんが、今回はテストです。

 yast > System > Partitioner を起動します。
a0056607_14572559.jpg


 「エキスパート専用ツールだよ、操作には十分注意してね」

 というダイアログはYes。パーティション全体の状態が表示されます。
a0056607_1459111.jpg


 /dev/sdf に iSCSI デバイスが認識されています。

 /dev/sdf を選び Add します。
a0056607_1513140.jpg

 実はこのパーティションは一度 ext3 で使った後なので、実際には Edit から操作しました。

 このパーティションをフォーマットするので Format にチェック、形式は ext3, マウントポイントは /iscsi とします。
a0056607_1523785.jpg


 最後に確認のダイアログ
a0056607_154508.jpg


 これでSUSE では iSCSI のフォーマットしてマウントが完了します。fstab にも自動的に書き込まれます。
試してみましょう。
a0056607_15556100.jpg


 それでは、この iSCSI のデバイスに仮想サーバーイメージを作成してみます。

 yast > Virt-Manager を使い、サーバーをインストールします。ここでは XEN ですが、 KVM でも同じ手順です。仮想イメージを置く場所は "New" で /iscsi/images/my-vm とし、myvm.disk0.raw を仮想サーバーのディスクファイル名として指定します。
a0056607_1575064.jpg


 インストール中の状態を zabbix で監視すると、ローカル ISO イメージから読み込んだインストールファイルをiSCSI-NASが一生懸命読んでいるのがわかります。60~70Mbps なので 100Mbps の通信回線でもそれほど遅いとは思わないかもしれません。勿論 Gbit HUB + SSD-NAS などならもう少し帯域を使うと思います。
a0056607_1591880.jpg


 感覚的には、ローカルHDDに導入するのと同じ程度、と言ったところです。

-仮想マシンを共有-

 同様に異なるハイパーバイザーで iscsi の設定を行います。
 
 iSCSI の設定が終わったら、iSCSI パーティションをマウントします。 yast > System > Partition Manager より、iSCSI デバイスがデバイスとして認識されていることを確認し
a0056607_16332292.jpg


 マウントします。
a0056607_16352167.jpg


 マウントされています。
a0056607_16373259.jpg



リポジトリの修正

 インストールはDVDイメージから実施したので、仮想マシン上のISOのリポジトリは削除します。

 yast > Software > Software Repositories より、 ISO ファイルのリポジトリを選んで "Delete"します。アクティベーションした後のリポジトリは残しておきましょう。また、ISO ファイルの代わりに内部ネットワークのソフトウェア配布用のサーバーを Add しておきます。

a0056607_16554188.jpg


VMファイルの書き換え

 XEN の場合、インストールに使ったイメージ ISO ファイルの記述を削除しておく必要があります。
a0056607_17103877.jpg

これが残っていると DomU を起動するときに「そんな仮想ディスクはない」と怒られます。

 iSCSI 上に作られたイメージファイルのパスは同じパスが推奨です。
a0056607_17114770.jpg


 この仮想マシンの設定ファイルを共有する相手側の Domain-0 の /etc/xen/vm に scp などでコピーします。

-まずは手動で-

 まず、今動いている仮想マシンをシャットダウンして、共有する相手の Domain-0 で dom-u を起動して正しく動作するか確認しました。
a0056607_9234848.jpg

うまく行ったようです。

-Live Migration-

Live Migration はポート 8002 を利用します。Telnet で

# telnet target 8002

を実行すると
a0056607_9353232.jpg

結果論ですが、こんな感じでポートが開いていればOKです。なお Telnet は標準パッケージには入っていませんし、最近の Windows にも付属していないようです。SUSE では Yast > Software Management から telnet を Serach してインストールしましす。

さて、デフォルトでは 8002 ポートは開いていません。Live Migration を有効にするには幾つかの設定が必要です。次のドキュメントを参考にします。

SUSE Linux Enterprise Server 11 SP3 Virtualization with Xen

に /etc/xen/xend-config.sxp を書き換える必要があるようなので

5.6.1. Configuring Xend for Migrations¶

To prepare a VM Host Server system for migrating, edit the configuration file /etc/xen/xend-config.sxp. Search for the following lines:
#(xend-relocation-server no)
#(xend-relocation-port 8002)
(xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')


Change the lines to match the following strings:
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$ \
^')


These changes must be done on all VM Host Server systems that should participate in migrating guests.

という記述がありましたが、これではうまく行かず、フォーラムを探したところ

Unable to migrate a domain

(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address ")
(xend-relocation-hosts-allow ")

 と変更するのが正解なようです。この状態で xend をリスタートさせます。ちなみに xend をリスタートさせても、稼働中の dom-u には影響はありませんでした。

 さていよいよ Live Migration をやってみます。
 
 # xm migrate --live MyVM MoveToHV-IPaddress

a0056607_9304312.jpg


 無事 Live Migration に成功しました。

 メモリのサイズにもよりますが、稼働中の仮想マシンメモリの一部を相手に送るため、一瞬ネットワークに負荷がかかります。2~3秒後にはライブマイグレーションが完了します。

-終わりに-

 iSCSI でハイパーバイザー自体を SAN ブート、あるいはUSBブートできれば、CPU自体はディスクレスとなるので、熱処理、排熱、電源負荷などでのメリットは大きいでしょう。その上で仮想CPU自体のディスクイメージも iSCSI-SAN の上に置くことになります。ネットワークのトラフィックは十分検討する必要があります。
 しかし、中小規模のネットワークであれば「これでもいいのかな」という程度ですので、それほど負荷には気を遣わなくても構わないでしょう。大手SI事業者ではちょっとした仮想化でも FC-SAN が必要だ、とやたら高額な見積もりを出してくる場合があるので注意が必要です。

 ただし、構内ネットワークとSAN環境は別に構築するのが無難です。

しかし、ディスクドライブを単一の iSCSI-NAS に集約すると、ディザスタリカバリも併せて検討する必要があります。例えば、仮想イメージを別なNASに定期的にバックアップするとかです。

 また、アクセスの大きなファイルサーバーのようなシステムイメージを iSCSI 上に構築する場合、システムイメージと、データボリュームのデバイスは分けた方が良さそうです。

 そうなると、いよいよ問題となるのは HUB の選択ですね。HUBは ip-SAN 側にポート多め、あるいは NetGear で出している 10Gbit HUB などが選択できます。ただ、あまり 10GbT のHUBが中々普及していないので困ります。

 Live Migration は本来、オペレータが状況を認識した上で実施するもので、自動的に切り替わるなどの器用な機能はありません。もっとも中小規模向けのシステムでも、仮想マシンを好きに他のハイパーバイザーCPU装置に移行できるのは大きなメリットがあります。

 ただ、それだけの事のために Live Migration って必要か、という疑問もあるし、実際、シンプルな構成であれば、あまり障害も起こりにくくなるので、あまり提案したいと思える機能ではありません。

 個人的な意見になりますが、iSCSI は仮想システムにつなげる外部ディスクとして考えるのが一番シンプルだと思います。何しろ SCSI HBA がいらないわけですから、手軽です。

お問い合わせは
islandcenter.jp

-Key Word-
SUSE XEN iSCSI Live Migration
[PR]
by islandcenter | 2014-06-30 07:09 | XEN | Trackback | Comments(0)

先日 opneSUSE 13.1 を入れたのですが。

# xm create myvm

あれれ!、xm コマンドなんて知らんぞ。とのお答え。

XEN 4.3 からは xm コマンドは xl コマンドになったのですね。

XL の man ページ

islandcenter.jp
[PR]
by islandcenter | 2014-04-22 08:30 | XEN | Trackback | Comments(0)

仮想環境のシンクライアントでWindows のVMにディスクを増設する手順です。

※ ここでは仮想VM の「新規作成」を使った方法で説明しています。実際には virt-manager > vm list > Deteail から追加することもできますが、まれに /etc/xen/vm ファイルを書き換えないことがあるため、新規作成メニューから実施しています。

ディスクの追加は

a) 一つの仮想ディスクイメージを複数のパーティションに分ける
b) ドライブレター毎に仮想ディスクイメージを作成する

の二つの方法がありますが、運用上 b) のドライブレターごとに仮想イメージを作る方法をお勧めします。

理由はさまざまですが、
- 仮想ディスクイメージの拡張ができる。
- ドライブレターごとにバックアップや他の仮想マシンへの付け替えができる

などの理由です。例えば読み出しが多いD:の内容な高速なSSDやSASドライブに作り、ログのような書き込み量が大きなドライブはNASに配置する、などの応用が利きます。

手順です。

ここでは myvpc001 という仮想インスタンスを増設するものとして説明します。

0) まず仮想マシンをシャットダウンしてください。

> コマンドプロンプトから shutdown /s /t 0

あるいは
ホストから # xm shutdown myvpc001
を実行して、仮想マシンをシャットダウンします。

xm list でシャットダウンしていることを確認します。


1) 現仮想マシンのイメージのコピー(バックアップ)

一応、変更を加える前にバックアップコピーをとります。

テキストコンソールから

# cd /etc/xen/vm
# cp myvpc001 myvpc001.YYMMDD (起動ファイルのバックアップ)

# grep vif myvpc001

vif の mac アドレスがあるのでメモしておきます。

あるいは cat myvpc001 で全体を表示して確認します。

# cd /var/lib/xen/images/myvpc001
# cp myvpc001.dosk0.raw myvpc001.disk0.raw.yymmdd -i &

この作業は丸ごとコピーなので時間がかかります。 '-i &' を付けてバックグラ
ウンドタスクにすると良いでしょう。

# ls -l コピー中のファイルサイズを確認

コピーが終わると [done] と表示されます。

ls -l でサイズを確認してください。



2) 仮想マシンの削除

xming を起動し yast2 & を起動します。 > Virtual Machine Manager > not connected 行 > 右ボタン > Connect

変更したい仮想マシンの行を選んで右ボタン> Delete > Yes

(イメージは削除されません、削除するオプションチェックボックスは「※必ず空欄※」でチェックされていないことを確認してください)

3) 仮想マシンの仮想HDDの増設

Virt-Manager より 'New' 仮想マシンの作成 > Forword

二行目

"I have a disk image with an installed operating system" を選択]
a0056607_12302517.jpg

> forword

Operating System > Windows Vista/7 を選択

サマリ(Summary)の画面から

- Name of Virtual Machine を windowsvista -> myvpc001 に設定
- Hardware > 仮想CPUとメモリの値を設定

(バックアップした vm ファイルで確認してください)

- Disk - none から

 > H_ard Disk ボタン > Browse > /var/lib/xen/images/myvpc001.disk0.raw
を選択
a0056607_12362857.jpg

> 追加ディスクは H_ard Disk ボタン

 一番上の Name フィールドに任意で仮想HDDイメージ名をセット

ex) myvpc001.drive-d.raw などの判りやすい名前をお勧めします。

※ ディスク増設の場合はわかりやすい命名規則を作ったほうが良いでしょう。 vpc001.driveD.raw とか vpc0xx.DataBase.raw とかです。

a0056607_120813.jpg


> Open ボタン

 サイズを確認します。デフォルトは4Gバイトなので、必要に応じて 12G な
どに変更します。
a0056607_1245510.jpg


> OK  > Apply ボタン

※ヒント 仮想ディスクイメージを2台以上増設する場合、サイズをわずかばかり変えておくと、サイズでどのイメージファイルが使われているかが判りやすいのでお勧めします。

これを増やしたいディスク数の回数分繰り返します。

3) Mac アドレスを設定

1) でメモした Mac アドレスを Network Adapter のところで設定します。

重要: Mac アドレスと NIC の種類を前回起動したマシンと同じものに設定してください。変更すると Windows が NIC を交換したものと判断し、新しいデバイスドライバをインストールしてしまいます。

既に Windows 用仮想マシンドライバー(Novell VMDP) が導入されている場合は"準仮想化(Paravirtual)" ドライバを選択し、同じ MAC アドレスを与えます。
a0056607_12412230.jpg


その場合は ネットワークのプロパティからネットワークのチューニングをやり直す必要があります。
Windows7 デフォルトでは使ってはいけない機能


4) 以上を確認して OK ボタンで仮想マシンを起動します。

仮想マシンに接続してログインします。エクスプローラの「コンピューター」
右ボタン>「管理」>「記憶域」>ディスクの管理
a0056607_12143696.jpg

でウィザードが起動します。


未割り当ての"Disk1" を右ボタンから"シンプルボリューム"ウィザードに従ってドライブレターをD:や E:などに割り当て、「フォーマット」します。
a0056607_12173265.jpg


5) 仮想ディスクが増設されていることを確認

cat か grep コマンドを使って /etc/xen/vm/myvpc001 の disk 行にディスクイメージファイルが追加されていることを確認します。次の例では myvpc001 という仮想マシンに drive-d というイメージが
/ssd/myvpc001 に作成された状態です。

sles11: /etc/xen/vm # grep disk myvpc001
disk=[ 'file:/ssd/myvpc001/myvpc001.disk0.raw,hda,w',
'file:/ssd/myvpc001/myvpc001.drive-d.disk1.raw,hdb,w', ]
sles11:/etc/xen/vm #

6) /etc/xen/auto を確認
/etc/xen/auto を ls -l で確認し
シンボリックリンクが -> ../vm/myvpc001 にリンクされていることを確認します。
ない場合は

sles11:/etc/xen/auto # ln -s svpc001 ../vm/myvpc001

で追加します。


sles11:/etc/xen/auto # ls -l
total 0
lrwxrwxrwx 1 root root 10 Jun 23 2012 s01nds2 -> ../vm/dns2
lrwxrwxrwx 1 root root 13 May 10 16:52 s04oes11x3 -> ../vm/oes11x3
lrwxrwxrwx 1 root root 13 Jul 6 2012 s05oes11x1 -> ../vm/oes11x1
lrwxrwxrwx 1 root root 12 Aug 5 2012 s07myvpc001 -> ../vm/myvpc001
lrwxrwxrwx 1 root root 11 Jul 18 22:19 s08vpc002 -> ../vm/vpc002
sles11:/etc/xen/auto #


なお、単純にC:ドライブの容量を増やしたい、などの場合は次の例を参考にしてください。
XEN 仮想マシンのディスクを増やす方法 Windows 7 編


islandcenter.jp

-Key Word-

SUSE Linux XEN VMDP How to add Diskdrive Virtual Machine VM
仮想マシンのハードディスクの増設
[PR]
by islandcenter | 2013-08-22 12:57 | XEN | Trackback | Comments(0)

この例は SUSE Linux Enterprise Server 11 sp2 での事例です。他のディストリビューションでは参考程度にとどめて置いてください。

Translate English excite

--
しばらく使っていなかった XEN の仮想 domU に root ログインできなくなりました。私はパスワード変えた記憶はありません。私には結局この方法が一番簡単でした。

-ヒントとなったフォーラムの書き込み-
https://forums.suse.com/archive/index.php/t-761.html
そうか kernel に  ' init=/bin/bash ' を渡せばいいんだ。ということで

まず Original の vm ファイルを確認

xen-dom0:/etc/xen/vm # cat my-domu
name="my-domu"
description="None"
uuid="d780c050-b4f8-323c-04a8-fe8f9a7438d6"
memory=512
maxmem=512
vcpus=2
on_poweroff="destroy"
on_reboot="restart"
on_crash="destroy"
localtime=0
keymap="ja"
builder="linux"
bootloader="/usr/bin/pygrub"
bootargs=""
extra=" "
disk=[ 'file:/var/lib/xen/images/my-domu/my-domu.disk0.raw,xvda,w'', ]
vif=[ 'mac=00:16:3e:22:01:99,bridge=br0', ]
vfb=['type=vnc,vncunused=1']



extra=" " の部分が空欄(space)になっています。

vmファイルをコピーして

xen-dom0:/etc/xen/vm # cp my-domu my-domu-rescue

vi で編集しました。extra=" " の部分を extra=" init=/bin/bash" とします。init の前space が入っています。

# xm create my-domu extra=1 あるいは =single

と実行してもシングルユーザモード(runlevel:1)で起動できるのですが、それでも root のパスワードが求められます。これは他のディストリビューションではあまりないことのようです。

- orz begin -
xen-host:/etc/xen/vm # xm create myvm extra=" single" <-- " sinhle" の前にスペース
Using config file "./myvm". <-- xm create -c /etc/xen/vm/myvm extra=" single"もOK
Started domain myvm (id=26)
xen-host:/etc/xen/vm # xm console myvm

[ 0.000000] Initializing cgroup subsys cpuset

: 中略

[ 3.757901] kjournald starting. Commit interval 15 seconds
[ 3.757971] EXT3-fs (xvda2): using internal journal
[ 3.758025] EXT3-fs (xvda2): mounted filesystem with ordered data mode Give root password for maintenance
(or type Control-D to continue):
Login incorrect.
Give root password for maintenance
(or type Control-D to continue): sulogin: read(/dev/xvc0): Operation not permitted


Give root password for maintenance
(or type Control-D to continue):
-- endof ooops! orz---

そこで extra" /bin/bash" オプションで起動します。

xen-dom0:/etc/xen/vm # cat my-domu-rescue
name="my-domu"
description="None"
uuid="d780c050-b4f8-323c-04a8-fe8f9a7438d6"
memory=512
maxmem=512
vcpus=2
on_poweroff="destroy"
on_reboot="restart"
on_crash="destroy"
localtime=0
keymap="ja"
builder="linux"
bootloader="/usr/bin/pygrub"
bootargs=""
extra=" init=/bin/bash" <--- ※init の前にスペースが入っています。
disk=[ 'file:/var/lib/xen/images/my-domu/my-domu.disk0.raw,xvda,w'', ]
vif=[ 'mac=00:16:3e:22:01:99,bridge=br0', ]
vfb=['type=vnc,vncunused=1']
xen-dom0:/etc/xen/vm #



編集した vm ファイルを -c オプションで起動します。

xen-dom0:/etc/xen/vm # xm create -c my-domu-rescue
Using config file "./my-domu-rescue".

: 中略

xen-dom0:/etc/xen/vm #



なんとか起動できたので passwd コマンドで root password を変更(reset)します。
※ /etc/shadow の root のハッシュを消してもだめでした。

a0056607_1936363.jpg

xm console ではここまで画面が出ないので YaST2 > Virt-Manager のスクリーンから操作します。

ここから halt 出来ればよいのですが halt できない(なぜ?)ので xm destroy my-domu しました。

元の vm ファイルで起動します。

xen-dom0:/etc/xen/vm # xm create my-domu
Using config file "./my-domu".
Started domain my-domu (id=23)



xm console で接続します。

xen-dom0:/etc/xen/vm # xm console my-domu

: 中略

Welcome to SUSE Linux Enterprise Server 11 SP2 (x86_64) - Kernel 3.0.13-0.27-xen (xvc0).


my-domu login: root
Password: reset-password
Last login: Fri May 10 19:03:06 JST 2013 on xvc0
You have new mail.
Directory: /root
Fri May 10 19:09:34 JST 2013
my-domu:~ #



ログインできました。

こちらでは SUSE 10 でのレスキューモードでの起動方法が書かれていますが、 x64 版ではうまく動きませんでした。 i586 版は手元にないので、ただいまダウンロード中です。
XEN: How to boot SLES para-virtual DomU's into the Rescue System for disaster recovery

待てないので色々いじくっていると直りました。

islandcenter.jp

-keyword-
SUSE SLES 11 sp2 How to reset xen gest root password 仮想化 パスワードリセット()
[PR]
by islandcenter | 2013-05-10 19:42 | XEN | Trackback | Comments(0)

-現象-

XEN 上の Windows 2008 をクリーンインストールし、 Windows Update やアクティベーションなどを行った後、スタートボタンから正常にシャットダウン(再起動)できない。

「シャットダウン中.....」で止まる。

YaST > Virt-Manager のメニューより Shutdown を選択すると問題なくシャットダウンできる。 xm shutdown コマンドでもシャットダウンできない。

通常運用中の xm shutdown では問題なし

-原因-

どうもそういう仕様なのかバグなのか。大幅にハードウェアの構成を変えたりすると発生するようです。

Windows 2008 does not shutdown properly under XEN and needs activation afterwards

Not familiar with Xen so I will defer to someone else regarding it's configuration. However, you are like using retail media and if the OS detects significant hardware changes, in your case this is all emulated from the Hypervisor, it will prompt for activation in the same way as if you replaced/changed the CPU's or motherboard in a physical machine. I would focus on Xen and its configuration as it doesn't sound like a Windows issue.

Windows のせいじゃないということらしいのですが、Hyper Visor 側で CPU やメモリの値を変えて再起動するとどうもそういう現象が発生するという事のようです。

The only one I can think of are the following below which may show Windows detecting new devices etc. From my point of view, that's a symptom not the problem. I would ask why does Windows get abruptly shutdown and why does it think hardware is changing. Both of those answers likely have to do with virtualization solution.

おそらく、大幅な更新がかかった後など、アクティベーションキーのチェックで「違うハードウェアにもインストールしたな?」という判断で、怪しい動作をするようです。

--
あまり、ハイパーバイザー上で動作しているシステムをいじくっちゃダメですよ、ということのようです。 Hyper-V でも同じ現象出るのかしら。というか「現在も進行中」の現象のようです。おそらく他のハイパーバイザーでもあり得そうな話です。

Windows Update を行った後おかしくなった。
After Windows Update - Cannot Boot in Windows 8 Pro

NICのドライバ変えたら動かなくなった。
Windows no-longer reconises Hyper-V switch after boot from shutdown

-対策-

Windows Update は自動インストール(unattend)しない。ダウンロードのみ行い、インストールは手動(attend)で行います。運用中はライブマイグレーションなどを行わない。


islandcenter.jp


- Keyword -
SUSE SLES Linux XEN 仮想環境 Windows 2008 R2 update Shutdown Freeze Reboot xm shutdown Virtualization
[PR]
by islandcenter | 2013-04-12 16:54 | XEN | Trackback | Comments(0)

シンクライアントを sysprep などで仮想サーバ上に配置すると、それぞれ仮想マシンにはキーボードがつながっていないため、自動的に 101 キーボードをデフォルトとしてインストールしてしまいます。リモートデスクトップでつないでいる場合は特に問題なくクライアントの106日本語キーボードが使えますが、管理者が Virt-Manager から使う場合は非常に面倒なことになります。

そこで、Windows の基本に立ち返り、キーボードの変更方法をメモしておきましょう。

デバイスマネージャを確認すると「とりあえず 101 キーボード」が入っています。
a0056607_10151668.jpg


プロパティからドライバの更新を選びます。ここからは「推奨」の真逆の操作を行います。
a0056607_10183898.jpg


「手動で検索して」
a0056607_10204445.jpg


「コンピュータ上のデバイスドライバの一覧から」
a0056607_1025115.jpg


「互換性のあるハードウェア」のチェックをはずし「」日本語 106 キーを選びます。
a0056607_10281074.jpg


再起動が要求されるので、再起動します。


-Key-
SUSE SLES XEN 英語キーボード 日本語キーボード 101 106 変更

お問い合わせ
slandcenter.jp






[PR]
by islandcenter | 2012-07-01 10:29 | XEN | Trackback | Comments(0)

Novell VMDP 2.0 Released

SUSE Linux Enterprise Virtual Machine Driver Pack 2.0

このバージョンから iso タイプのファイルもダウンロードできるようになっていますが、残念ながら、VMDP-WIN-2.0.exe が未解凍で入っているだけでした。ちょっと残念。

まぁ、VMDP-WIN-2.0.exe をネットワークやUSBからコピーしてインストールという手順を省いて最初からCDとしてマウントできるので、それはそれで....

そこで、Windows 系の場合、VMDP-WIN-2.0.exe を自己解凍して ISO 形式にして、 Windows を仮想化してみます。

- まずVMDP-WIN-2.0.exe を Windows 内で実行して解凍します。
- これを、SUSE Linux 内に samba などの機能でコピーします。
- mkisofs で iso 化します。

 # mkisofs -o FileNameOfIso.iso Melted-VMDP-WIN-2.0

具体的にはこうなります。

sles11:/home/knakaj/ISO/vmdp2.0 # mkisofs -o vmdp20.iso VMDP-WIN-2.0
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using VIRTI000.CAT;1 for VMDP-WIN-2.0/win2008/x86/virtio/virtio_balloon.cat (virtio_blk.cat)
Using VIRTI000.INF;1 for VMDP-WIN-2.0/win2008/x86/virtio/virtio_blk.inf (virtio_balloon.inf)

|....
|.... 中略
|....

Using VMDPE000.TXT;1 for VMDP-WIN-2.0/eula/40c/vmdpeula.txt (vmdpeula_fmt.txt)
Using VMDPE000.TXT;1 for VMDP-WIN-2.0/eula/411/vmdpeula.txt (vmdpeula_fmt.txt)
Using VMDPE000.TXT;1 for VMDP-WIN-2.0/eula/40b/vmdpeula.txt (vmdpeula_fmt.txt)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 124928
Path table size(bytes): 778
Max brk space used 58000
4531 extents written (8 MB)
sles11:/home/knakaj/ISO/vmdp2.0 #


今回は Windows 2008 R2 にインストールしました。

- 最初から蟹マークの R8xxxx を選ばず Para Virtual Driver を選びます。
a0056607_12355813.jpg


- summary です
a0056607_12362671.jpg


-悪い例 (Do not This Way... sad ...)-

インストールを開始するとドライバーが選べます。いい気になってこれを選ぶと、リブートしたときにブルースクリーンになりました。
a0056607_1238756.jpg

missary .... This way go to Blue Screen.

-ちなみに-
インストールで Blue Screen が出た場合は、いったん仮想イメージを削除しないと、インストールできない場合があります。 virt-manager からイメージを Delete します。
a0056607_12483170.jpg


- ということでセットアップが終わったら
a0056607_12455842.jpg

おとなしく、仮想マウントした VMDP ドライバを選び run setup.exe を実行します。

デバイスマネージャで確認して、?マークが出ていないこと、余計なネットワークドライバが見えていないことを確認します。

- 動作が遅い場合 ( If you meet slow performance VMDP )

SUSE Network Driver > Property > "*** checksum Offload" を Disable にする必要がある場合があります。
Windows 2008 R2 の Remote Desktop が異常に遅い

-VM ファイルから ISO を取り除く-
disk=[ 'file:/var/lib/xen/images/vampire/vampire.disk0.raw,hda,w', 'file:/home/knakaj/ISO/W28R2/MSDN-7600.16385.090713-1255_x64fre_server_eval_ja-jp-GRMSXEVAL_JA_DVD.iso,hdc:cdrom,r', 'file:/home/knakaj/ISO/vmdp2.0/vmdp20win.iso,hdd:cdrom,r', ]  <---- delete this iso descriptions.


-Keyword-

Novell VMDP2 Virtual Machine Driver Pack SUSE SLES11 XEN Windows 2008 R2 Virtual Machine Driver Pack

islandcenter.jp
[PR]
by islandcenter | 2012-04-11 12:43 | XEN | Trackback | Comments(0)

以外と xm コマンド関連のリファレンスを探している方が多いようなので、 知っておけば便利な xm コマンドをまとめてみました。ほとんどこれらのコマンドで仮想マシンの操作が行うことが出来ます


-XM 仮想マシンの起動とシャットダウン、強制終了(xm list, shutdown, destroy, create)

xenhost:~ # xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 679 2 r----- 94309.0
W2K3S 1 512 1 r----- 690769.3
vm1 7 512 2 -b---- 45.4 <---- 稼働中
oes2ltest 1250 2 90053.3

xenhost:~ # xm shutdown vm1(or,7) (ID:7 vm1 を遮断)
xenhost:~ #
xenhost:~ # xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 679 2 r----- 94313.9
W2K3S 1 512 1 r----- 690810.6
vm1 512 2 53.6  <--- 停止しました
oes2ltest 1250 2 90053.3

xenhost:~ # (ID:7 がないことを確認)
xenhost:~ # xm create vm1  (vm1 を create-スタート)
Using config file "/etc/xen/vm/vm1".
Started domain vm1  <---- 無事起動開始
xenhost:~ #
xenhost:~ # xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 679 2 r----- 94321.5
W2K3S 1 512 1 r----- 690848.4
vm1 8 512 2 -b---- 20.2 <-- 起動中 ID:8 になります。
oes2ltest 1250 2 90053.3

xenhost:~ # (ID:8 で起動したことを確認)
xenhost:~ # xm destroy vm1(or,8) (Destroy-強制終了)
xenhost:~ #
xenhost:~ # xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 679 2 r----- 94327.9
W2K3S 1 512 1 r----- 691271.9
vm1 512 2 20.2 <---強制終了されています
oes2ltest 1250 2 90053.3

xenhost:~ # (ID:8 がないことを確認)

-仮想コンソールの操作( xm list, xm console)

xenhost:~ # 親サーバのプロンプト
xenhost:~ # xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 679 2 r----- 94300.8
W2K3S 1 512 1 r----- 689835.7
vm1 7 512 2 -b---- 41.7
oes2ltest 1250 2 90053.3

xenhost:~ # 子サーバ vm1 (ID:7)にコンソールを切り替えます
xenhost:~ # xm console vm1(or,7)
[enterキー]

Welcome to SUSE Linux Enterprise Server 10 SP2 (x86_64) - Kernel 2.6.16.60-0.21-xen (xvc0).


vm1 login: root (子サーバのプロンプト、ログインします)
Password:******
Last login: Thu Oct 23 16:03:44 JST 2008 on xvc0
vm1:~ #
vm1:~ #
vm1:~ #
vm1:~ # xenhost:~
# (Ctrl+] を押す)
xenhost:~ #
xenhost:~ # プロンプトが親に戻ります

-Windows による xm console

Windows は CUI がないため、コンソールから xm console を実行するととんでもないことになります。必ず、 x 端末から vm-machine-manager から操作します。

vmhost:~ #
vmhost:~ # xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 754 4 r----- 926526.9
dns2 1 386 1 -b---- 15463.4
vmwindows 2500 2 86.3
vmhost:~ # xm create vmwindows <--- 仮想マシンを起動
Using config file "/etc/xen/vm/vmwindows".
Started domain vmwindows (id=41) <--- 起動に成功しました
vmhost:~ #
vmhost:~ # xm console vmwindows <--- Windows に xm console を行う

---当たり前ですがコンソールが帰ってこない----
---コンソールが使えないのでコンソールでは実行しないことですね----

他のセッションで xm shutdown をしなければなりません。

a0056607_1372994.gif


ただし Windows で xm shutdown を受け付けるためには Novell SUSE Virtual Driver Machine Pack (VMDP) が必要です。
download.novell.com から簡単な登録を行えばダウンロードできます。

- xm-block-attach, xm-block-detach コマンドで外部ストレージを認識させる

最近はほとんど使う機会もありませんが、覚えておくと便利でしょう。別な記事としてまとめています。

準仮想化SUSE on SUSE+XEN でUSBメディアを認識させる。

iso インストールが当たり前になってきたため CD を切り替えながらインストールをすることも少ないと思います。一応ご参考まで。

XEN で仮想マシンをインストール中に CD/DVD の ISO を切り替える方法

-Keyword-

Novell SUSE SLES SLED openSUSE xm create xm console VMDP 仮想化ドライバ Virtual machine driver pack ダウンロード

islandcenter.jp
[PR]
by islandcenter | 2011-10-12 13:25 | XEN | Trackback | Comments(0)