前の月 / 次の月 / 最新

戯れ言


この日記のはてなブックマーク数 Bloglinesで閲読登録 ADD TO Hatena::RSS Subscribe with livedoor Reader Add to Google

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 31

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-10-25 Tue

Vyatta君の Id "T0" respawning too fast なるメッセージを止める [XenServer][Vyatta]

Clip to Evernote

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 :-)



2011-10-24 Mon

CentOS5で、Trac と git の連携 [CentOS]

Clip to Evernote

どうやら 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>


みたいな設定を入れておく。



2011-10-20 Thu

完全仮想化なCentOS5.6を準仮想化にする [XenServer]

Clip to Evernote

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



2011-10-19 Wed

XenServer5.x系に Vyattaをインストールする [XenServer][Vyatta]

Clip to Evernote

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

Referrer (Inside): [2011-10-20-1]


2011-10-17 Mon

XenServer Configuration Limits [XenServer]

Clip to Evernote

XenServer Configuration Limits
https://support.citrix.com/servlet/KbServlet/download/28909-102-661481/XenServer-6.0-Configuration-Limits.pdf

XenServer 6.0 系ですが、制限事項などがまとまってます。



Twitter って便利ですねぇ [よもやま]

Clip to Evernote

Twitter で書きたいことがさくっと書けちゃうので、そっちでガス抜きされちゃって、Blogの更新しなくなって、もう2年も経つんですね。びっくり。
ただ、あとで振り返る時の閲覧性が、Evernote と組み合わせても、イマイチなので、ぼちぼち気がついた時にでも、こっちにも書く予定...



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:06

RSS feed meter for http://www.kunitake.org/chalow/