■ XenStore について [XenServer]
XenServer DomainUからXenの管理情報を読み取る
http://irgaly.net/2011/11/xenserver_domainu%E3%81%8B%E3%82%89xen%E3%81%AE%E7%AE%A1%E7%90%86%E6%83%85%E5%A0%B1%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B
へぇーこれは知らなかった :-)
2011-11 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
最近 5 日分 / 今月の一覧
XenServer DomainUからXenの管理情報を読み取る
http://irgaly.net/2011/11/xenserver_domainu%E3%81%8B%E3%82%89xen%E3%81%AE%E7%AE%A1%E7%90%86%E6%83%85%E5%A0%B1%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B
へぇーこれは知らなかった :-)
XenServer Domain0からDomainUのコンソールへアクセスする - infobase
https://twitter.com/#!/irgaly/status/137458334289756161
を読んで、そんな方法があるのかぁと思ったので、私も同じような記事を書いてみようかと。まったく同じ方法書いてもしかたないので、ここでは xl コマンドを使わない方法を。
まずはコンソールにつなげたい仮想マシンが動いている XenServerホスト(Dom0)へ sshでログインする
$ ssh root@xenserver
次に、対象のVMの dom_idを調べる
# xe vm-list params=dom-id name-label=rhel5
dom-id ( RO) : 80
ここまでわかれば、あと一歩
# /usr/lib/xen/bin/xenconsole <dom-id>
で接続可能なので、上記の例だと
# /usr/lib/xen/bin/xenconsole 80
で接続できる。表示が変わらない場合は、リターンキーを押してみると良い。ちなみに抜けるときは、Ctrl+] で抜けることが出来る。
ともあれ、方法としてはこっちの方法が古く、xl の方が主流になるのかなぁ。
See Also:
http://wiki.xensource.com/xenwiki/Xen_Cloud_Platform%3A_Access_to_VM_console
XenServer上で Vyatta を動かしていると
INIT: Id "T0" respawning too fast: disabled for 5 miutes
なんてメッセージが頻繁に仮想マシンのコンソールに吐き出されます。これは、XenServerで動かしている Vyatta にttyS0 が存在しないのにも関わらず、標準で ttyS0 のコンソールに関する設定が入っているためです。
なので
http://www.vyatta.org/forum/viewtopic.php?p=2559#2559
を参考に、Vyatta の設定モードから該当の設定を消してやります。
$ configure
# delete system console device ttyS0
# commit
# save
これで OK :-)
どうやら Trac の Plugin を使えば、Trac でも Subversion じゃなくて、git との連携ができるらしい。
ベースとする Trac はインタアクトさんが配布されている
Trac-0.11.7.ja1
http://www.i-act.co.jp/project/products/products.html
で、git と連携するには
GitPlugin for Trac
http://trac-hacks.org/wiki/GitPlugin
をインストールします。肝心の git 自体は、EPELリポジトリからインストールしてあります。
CentOS5 の python は 2.4 なので、多分これだろうと
sudo easy_install http://github.com/hvr/trac-git-plugin/tarball/trac-0.11-py24
とする。うまくインストール出来た見たいなので
[trac]
# simple single-repository configuration
repository_dir = /var/git/test.git
repository_type = git
[git]
cached_repository = true
persistent_cache = true
shortrev_len = 6
git_bin = /usr/bin/git
[components]
tracext.git.* = enabled
tracopt.ticket.commit_updater.committicketreferencemacro = enabled
tracopt.ticket.commit_updater.committicketupdater = enabled
としてみたら、うまく動いたみたいだ。なお、対象となる git リポジトリは
# mkdir /var/git/
# git init --bare /var/git/test.git
# git --git-dir=/var/git/test.git update-server-info
# chown apache.apache -R /var/git/test.git
として作成済。このリポジトリに https 経由でアクセスさせたいと思って、よくある WebDAV経由での方法をやってみたら push するときに、下記のようにエラー。
$ git push origin master
Username:
Password:
error: Cannot access URL https://git.example.jp/git/test.git/, return code 22
fatal: git-http-push failed
正確なソースがよくわからないけど、どうやら WebDAV だと、push がサポートされないっぽい。最近は、git-http-backend を使うらしい。なので、こいつを使うことに。apache の設定に
SetEnv GIT_PROJECT_ROOT /var/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git /usr/bin/git-http-backend/
<Location /git/test.git>
AuthType Basic
AuthName "for developers"
AuthUserFile /var/www/htpasswd.git
Require valid-user
</Location>
みたいな設定を入れておく。
XenServer Tips 完全仮想化のLinux VMを準仮想化対応に変更する
http://techtarget.itmedia.co.jp/tt/news/1109/06/news01.html
という記事が出るよ!という予告があってからわくわくしてたら、CentOSの例がなかったので、しょんぼり。
きっと誰かやってるよね!と Google 先生に聞きながらやってみたら出来たので、以下に備忘録として書いとく。
ちなみに参考URLにも記載しましたが
PV enabling an HVM from VMware on XenServer (CentOS RedHat)
http://itproctology.blogspot.com/2009/06/pv-enable-hvm-on-xenserver.html
がすごく参考になりました
■ HVMなサーバでの作業
1. なにはともあれ、Xen対応kernelをインストールする
# yum install kernel-xen
2. PVドライバ付きの initrd を作成する。
# cd /boot
mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --preload=xenblk initrd-$(uname -r)xen-no-scsi.img $(uname -r)xen
ただ、uname -r の結果と、インストールした kernel-xen のバージョンが違うこともあるので、違っていたら頑張って打ち込む。
# cd /boot
# mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --preload=xenblk \
initrd-2.6.18-274.3.1.el5xen-no-scsi.img 2.6.18-274.3.1.el5xen
次に、/boot/grub/menu.lst にある kernel-xen のあたりを下記のように書き換える。
title CentOS (2.6.18-274.3.1.el5xen-no-scsi)
root (hd0,0)
kernel /vmlinuz-2.6.18-274.3.1.el5xen ro root=/dev/VolGroup00/LogVol00 console=xvc0
initrd /initrd-2.6.18-274.3.1.el5xen-no-scsi.img
CentOS5.6 だと、/etc/inittab に
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
がもともと記載されているので、コンソール周りでのこれ以上の対応は不要だと思います。
もちろん、このセクションの kernel で boot するように
default=0
あたりを適当に書き換える必要があります。
で、ここでのありがちなミスが "modules" を "initrd" に書き換え忘れ。忘れてると、あとで
VFS: Cannot open root device "VolGroup00/LogVol00" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
とか言って、起動してくれません。
■ XenServerで、PV化を実施する。
次に、VMのパラメータを変更していきます。このあたりは、先日の vyatta のインストール [2011-10-19-1]とほとんど一緒です。
以下は、すべて XenServer上で実施します(対象VM名を HVM2PV にしてあります)
# xe vm-list name-label=HVM2PV params=uuid
ここで得られるのが、vm の uuid です。でこれをもとに作業していきます。
a) boot policyのクリアおよび bootloaderの指定
# xe vm-param-set uuid=<uuid> HVM-boot-policy=
# xe vm-param-set uuid=<uuid> PV-bootloader=pygrub
b) 利用している HDDの vbd uuid を調べる
# xe vm-disk-list uuid=<vm uuid>
で調べた vbd の uuid を指定して bootable にします。
# xe vbd-param-set uuid=<vbd uuid> bootable=true
これで、準仮想化(PV)の VM として起動してくれます。例によって、ログインプロンプトが出たけどコンソールから入力が受け付けられないよ!ってなった場合には、XenCenterを再起動してください。
まぁミスったら、この逆で
# xe vbd-param-set uuid=<vbd uuid> bootable=false
# xe vm-param-set uuid=<uuid> HVM-boot-policy="BIOS order"
# xe vm-param-set uuid=<uuid> PV-bootloader=
にして、起動させ、xen kernel じゃない kernel を grub menu から選択してもらえれば、復旧できるかと思います。
あとは、xen-tools を入れれば、XenMotionも可能になります。ただ、最初に紹介した記事にもあるように、仮想マシンにCDを入れっぱなしの状態にすると、
too many bootable disks
云々と言われて起動しなくなるので、注意が必要です。
参考URL
- http://itproctology.blogspot.com/2009/06/pv-enable-hvm-on-xenserver.html
- http://forums.citrix.com/thread.jspa?threadID=266975
Vyatta は、ソフトウェアルータとして最近数年注目されています。仮想化の流行によって、その注目度も、さらに加速している気もしますが、XenServerで使ってるぜ!ってあんまり聞かない気がするので、インストール方法を書いときます。利用者が少なくてサポートが後手に...とかなっても悲しいので ;-p
http://www.vyatta.org あたりから
vyatta-livecd-virt_VC6.3-2011.07.21_i386.iso
を入手します。Vyatta 6.3 から、XenServer専用のテンプレート(xvaファイル)は提供されなくなって、すべてのこのISOイメージがベースとなってます
"CIFS ISO Library" あたりに入れておくといいでしょう。もしISO Libraryを 作ってないなら、XenCenterをインストールしている Windowsの1ディレクトリを CIFS ISO Library として登録してしまうと、お手軽で楽。
ともあれ、まず LiveCD で Vyatta を立ち上げます。XenCenterから
1. "New VM" で、VM Template として "Other install media" を指定する。
2. "Install from ISO library or DVD drive" で上記 isoイメージを指定(*1)
3. 1vCPU & Memory 512MB & HDD 4GB あたりで VMを作成(VM名は VC63あたりで)
で、しばらく待つとVMが立ち上がってくるので、Console からログインします。初期ID/Passは、ともに "vyatta"になってます。
で、このままだと普通に LiveCD で Vyatta が立ち上がっただけなので、インストールを開始します。そのまま "install-system"と type してください。
vyatta@vyatta:~$ install-system
でここからちょっと表示と改行タイミングがあってないので、リターンキー3回押したあとに、"Yes"と入力してリターンを押してください。で、再度リターンキーを押すと、インストールが開始されるのが、見えるはずです。
なにをやったかというと
Would you like to continues? (Yes/No) [Yes]: <- リターン1回目
Partition (Auto/Union/Parted/Skip) [Auto]: <- リターン2回目
Install the image on? [sda]: <- リターン3回目
Continue? (Yes/No) [No]: Yes <- "Yes"の入力とリターン4回目
How big of a root partition should I create? (1000MB - 4295MB) [4295]MB: <- リターン5回目
を入力したことになります。
で、
Which one should I copy to sda? [/opt/vyatta/etc/config/config.boot]:
と聞かれるので、そのままリターンを押します。すると vyatta ユーザの初期パスワードを聞いてくるので、適当に付けてやります
Enter vyatta password: <- 類推しづらいパスワードを入力
Retype vyatta password: <- 確認のため、再度パスワードを入力
さらに
Which drive should GRUB modify the boot partition on? [sda]:
で、そのままリターンを押します。すると、paravirtual で動作させるかどうか聞いてきますので、Yes と答えます。
conversion to PV domU? [No]: Yes <- "Yes"の入力とリターン
これでインストールは完了です。次に XenTools を導入します。一旦、VMをshutdownしましょう
vyatta@vyatta:~$ shutdown
Proceed with shutdown? [confirm] <- リターンを入力
shutdown が確認できたら、LiveCD を Eject して VMをスタートさせます。
VMが起動してきたら、ID : vyatta で、先ほど設定したパスワードと共にログインします。また、VM の DVD Drive 1 には xs-tools.iso を指定しておきます。
あとは、下記を実行(debパッケージのバージョンは、導入している XenServerのバージョンによって異なります)
$ sudo su -
# mount /dev/cdrom /mnt
# dpkg -i /mnt/Linux/xe-guest-utilities_5.6.100-651_i386.deb
# umount /mnt
# shutdown
これで、Xen Tools の導入が完了です。が、まだ終わりません。この状態だと、完全仮想化で動くので、パフォーマンスもよくないですし、XenMotion もできません。このため、このVMを準仮想化として動作させるように XenServer 側で設定していきます。
まず、XenServer(ホスト側)にログインし、対象のVMの uuid を調べます。
# xe vm-list name-label=VC63
次に、PV で起動するようにブート関連のパラメータ設定を変更していきます。<uuid> には、上記コマンドで調べたVM の uuid を指定します。長いですが、数文字打ち込んで "Tab" キーを押せば補完入力も可能です。
# xe vm-param-set uuid=<uuid> HVM-boot-policy=
# xe vm-param-set uuid=<uuid> PV-bootloader=pygrub
次に、boot させるHDDの属性を変更します。まず最初に
# xe vbd-list vm-name-label=VC63
で、VMにつながっている HDD をチェックします。今回の例だと、device が hda と表示されているはずです。これを bootable=true にします。
# xe vbd-param-set uuid=<uuid> bootable=true
ここで指定する uuid は、vdi-uuid *ではない* ことに注意してください。vbd の uuidです。
ここまでくればあと1歩。これで reboot すれば、準仮想化として動作するはずです。が、ログインプロンプトまで順調に表示されるものの、入力ができない状態に陥るかと思います。
理由はよくわかりませんが、慌てずに一旦 XenCenter を終了させ、再度 XenCenter を起動させてみてください。今度は普通につながるはずです。
あとはよく使う Firewall のルールを入れ、/config/config.boot から "interface ethernet"を削除してからこのVMをテンプレート化してしまえば、仮想ルータを作り放題です :-)
参考: http://www.vyatta.org/getting-started/how-to-install
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2011-11-19 09:29
| 過去ログ |
|
2011 : 01 02 03 04 05 06 07 08 09 10 11 12 2010 : 01 02 03 04 05 06 07 08 09 10 11 12 2009 : 01 02 03 04 05 06 07 08 09 10 11 12 2008 : 01 02 03 04 05 06 07 08 09 10 11 12 2007 : 01 02 03 04 05 06 07 08 09 10 11 12 2006 : 01 02 03 04 05 06 07 08 09 10 11 12 2005 : 01 02 03 04 05 06 07 08 09 10 11 12 |
| IPv4/IPv6 meter |
| 最近? 読んだお奨めの本とか |
|
- Life Hack PRESS - おおきく振りかぶって - 進化しすぎた脳 - フェルマーの最終定理 - C言語ポインタ完全制覇 - Code Reading - Debian辞書 - 英辞郎 - ハッカーと画家 |
| 思ったより安い……時もある、Amazon |
| カテゴリ |
| - Ajax (14) - Amazon (1) - Apache (28) - Backup (4) - Benchmark (4) - Blog (3) - Book (22) - C (10) - CGI (2) - CPAN (8) - CSS (2) - Catalyst (8) - CentOS (2) - Chalow (10) - CheatSheet (3) - Computer (2) - DB (8) - DBIC (10) - DNS (6) - Debian (31) - Design (5) - Django (9) - Emacs (21) - English (13) - Excel (3) - FileSystem (3) - Firefox (19) - Flash (2) - Food (24) - Framework (3) - GTD (4) - Gadget (6) - Gmail (1) - Google (19) - HTML (2) - Hacker (1) - Health (22) - Howto (5) - IBM (3) - IETF (2) - IPv6 (44) - JANOG (9) - Java (8) - Javascript (27) - LDAP (4) - Language (4) - Life (4) - Lifehack (3) - Linix (1) - Linux (123) - Lisp (2) - Mac (5) - Mail (3) - Manuscript (1) - MySQL (23) - Network (18) - PHP (13) - Perl (69) - PostgreSQL (8) - Programing (5) - Python (42) - RPM (1) - RSS (4) - RedHat (2) - Regexp (3) - Ruby (9) - Samba (1) - Scheme (3) - Security (52) - Server (4) - Shell (6) - Storage (6) - Subversion (9) - TAG (2) - TIPS (26) - Test (6) - ThinkPad (9) - Tomcat (3) - Tools (18) - Trac (9) - Troubleshooting (2) - Tuning (6) - VMware (11) - VPN (2) - Vim (3) - Vmware (5) - VoIP (1) - Vyatta (2) - Web (26) - WiFi (2) - Wiki (3) - Windows (9) - XML (2) - XSLT (1) - Xen (2) - XenServer (6) - ssh (4) - あとで読む (5) - その他 (67) - よもやま (25) - アサマシ (24) - イベント (4) - ゲーム (1) - ストリーム (2) - セマンティック (1) - ダイエット (1) - ネタ (98) - 仮想化 (11) - 開発 (73) - 環境 (3) - 管理 (7) - 休暇 (5) - 携帯 (8) - 検索 (3) - 酒 (3) - 小物 (10) - 投資 (1) - 文字コード (6) |
| IPv6で聞けるラジオ |
iTunes や Windows Media Player 10でどうぞ。iTunes の ogg フォーマットへの対応はこちら |