2009年11月16日

Nokia E52でGoogleカレンダーとオンライン同期

突然ですが、Nokia E52を買ってしまいました。(てへ)
N95(X02NK)以来2台目のNokia端末です。わくわく。

iPhoneも持ってるのにどうすんだろこれ…と思ったりもしていたのですが、小さくて軽い本体と快適に動くマルチタスクのおかげで使用感は至極快適。最近はSIMがE52に刺さりっぱなしの状態です。

N95の経験もあり、カスタマイズは比較的順調にいった(Nokiaマスターな方々に助言をいただけた事が一番大きいのですが)のですが、1つ困ったのはGoogleカレンダーとの同期。N95の頃はMail for Exchangeを使ってオンライン同期をすることが可能だったのですが、E52用にはMail for Exchangeが用意されていません。

さてと困った…と頭を抱えていたんですが、実は最近のS60機ではEmailの機能にMail for Exchangeの機能が統合されているとのこと。その設定方法にちょっとクセがあって分かりにくいので、覚え書き代わりにここに書いておきます。

ちなみに、ExchangeサーバにはNuevasyncというサービスを使用しています。本家GoogleのGoogle Syncでも同期可能なのですが、残念ながら複数カレンダーの同期に対応していないので私は使っていません。

まずはEmailを起動します。そしてNewを選択して新しいアカウント登録をします。

まずはE-mail addressの入力を求められるので、ここにはGmailではないメールアドレスを入力してください。メールの同期設定はしないので入力するのは架空のアドレスでも構いません。(ただし@の右側がアカウント名になるのであまり妙ちくりんなアドレスにしない方がいいと思います)

メールの設定を探しに行ったあと、Passwordの入力が求められるので、ここにはNuevasyncで設定したパスワードを入力します。

続いてサーバの種類(なのかな?)の選択画面になります。今回はExchangeサーバへのアクセスにしたいのでMail for Exch.を選択します。

次にUser nameの入力が求められます。ここにはNuevasyncで作成したアカウント名を入力しましょう。

次はDomainです。ドメインは使用しないので何も入力せずにOKを押してください。

その次がMail for Exchange server name。ここにはNuevasyncのサーバである www.nuevasync.com を入力します。

これで設定ウィザードは終了です。
しばらく待つと画面がメールの画面に遷移し、Mail for Excangeのメールボックスが開いた状態になります。とりあえずBackを押して元の画面に戻りましょう。

戻ったEmailのメインメニューからSettingsを選択し、設定画面に入ります。そうするとさっきはなかったMail for ExchangePersonal Inform. Manag.という2つの項目が増えていると思います。

まずはPersonal Inform. Manag.を選択します。

PIMsettingsのメニューが表示されるので、Applicationsを選択してください。(と言ってもこれ1つしか選択出来る項目はありませんが)

するとCalendarContactsTo-doの3つの項目について、同期の有無が設定出来ます。とりあえずカレンダーを同期する場合はCalendarを選択し、Calendar syncYesに変更してください。Remove entr.older thanはお好みで。Initial syncは私はDelete items on phoneを選んでいます。(端末側にスケジュールを入れていなかったので) Keep items on phoneを選んでもうまく行くのかは試していません。

ContactsもNuevasyncで同期出来るはずなのですが、私は試していません。同期してみたい方はお好みで設定をYesにしてみてください。To-doはGoogle側でサポートしてないので多分使えないと思います。

設定メニューに戻り、続いてMail for Exchangeを選択します。

Emailを自分のGoogleカレンダーで使っているメールアドレスに変更しておきましょう。(これはやらなくても問題ないと思いますが、念のため)

続いてAdv. mailbox settingsを選択します。サブメニューの中でAccess pointを設定する必要があるので、自分の使うアクセスポイントを選択しておきましょう。ここで選択するのはアクセスポイントそのものではなくDestination単位での選択になります。通常はデフォルトのInternetでいいと思いますが、例えば無線LANでのみ同期したいような場合は新しいDestinationを作成して対応してください。(私は試してないので分からないのですが、多分使えると思います)

2回Backを押してメニューに戻り、次にWhat to syncを選択します。メールの同期はNuevasyncでは出来ない(有料アカウントなら可能)のでSync emailNoに変更します。

またメニューに戻り、今度はWhen to syncを選択します。ここで同期間隔等の設定が出来るので、適宜設定を変更してください。項目見たら内容は分かると思いますので詳細は省略します。

これで設定が完了しました。
続いて同期を行います。

まずはEmailのメインメニューからMail for Excangeを選択します。表示されるのはいかにもメールの画面なのですが、気にせずOptionsからSend and recieve nowを実行します。これでGoogleカレンダーとの同期が始まり、しばらくするとスケジュールデータが端末側に登録され、無事に同期完了となります。

今回の設定のミソは、

・最初のメールアドレスにGmailを入れてはいけない。
 (設定が自動的にロードされてIMAPになってしまうため)

・カレンダーの同期はMail for Exchangeから行う。
 (メールの画面に見えて実はExchange全体の操作画面だった)

この2つでしょうか。

twitterでたくさんの助言を下さった某氏と某氏と某氏と某氏に感謝いたします。
ありがとうございました!!
posted by 月水和尚 (とも) at 16:15 | Comment(0) | TrackBack(0) | Nokia/Symbian

2009年09月24日

ubuntuでChromium

utunbuChromiumを使う方法。

ちなみにubuntuのバージョンは9.04
ただ一部読み替えればその他のバージョンでも問題なくいけると思います。

まずは/etc/apt/source.listにPPAのChromiumリポジトリを追加します。
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

続いてChromiumリポジトリのGPGキーを取得して追加します。
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4E5E17B5

ものすごくちなみの話なんですが、GPGキーの取得にはTCPの11371ポートを利用します。(hkpというプロトコルを使っているそうです) 外向きのファイアウォールを厳しめにしている方は注意してください。(私はここでハマりました)

リポジトリの内容を更新し、Chromiumをインストールします。
sudo apt-get update
sudo apt-get install chromium-browser

基本的にはここまででOKですが、このままだとFlashコンテンツが再生できません。以下のコマンドを実行してFlashプラグインをChromium用にコピーします。
cp -p /usr/lib/adobe-flashplugin/libflashplayer.so /usr/lib/chromium-browser/plugins/

これでインストール終了。

実行はアプリケーションメニューからも出来ますが、そのままだとせっかくコピーしたFlashプラグインが有効になりません。以下のとおりオプションを付けて実行します。
chromium-browser --enable-plugins

ざっと使ってみた感想ですが、驚くほど普通に使えます。βっぽい挙動の不安定さは感じられず。Firefox(3.5.2)と比較してさくさく感はかなり上という感じ。

このままメインブラウザにしちゃおうかな…と思ったのですが、思わぬ問題に直面。テキストボックスへの日本語入力の際に、未確定文字の文節の区切り位置が確認できないことが判明。(Adobe AIRで作られたアプリと同じような感じですね) メールやらtwitterクライアントやらをみんなブラウザ頼りにしている私にはちょっと致命的な不具合。と言うわけで、残念ながらメインのブラウザにはなり得ませんでした。惜しかったなぁ。

以下のサイトを参考にさせていただきました。(ありがとうございます!)

Ubuntu日本語フォーラム / chromeできます?
https://forums.ubuntulinux.jp/viewtopic.php?id=5130

reconstructed RobotechBlog » Blog Archive » Ubuntu 9.04にChromiumをインストールしてみた
http://www.robotech.jp/2009/08/27/ubuntu-9-04%E3%81%ABchromium%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/

ぴえるの活動日記 : 200706 - ぴえるの活動日記
http://pierre.vg/x/modules/wordpress/index.php?m=200706
posted by 月水和尚 (とも) at 17:20 | Comment(0) | TrackBack(0) | ubuntu

2009年09月03日

ubuntu9.04にVMware tools

ubuntu9.04にはVMware ESXi 4のVMware toolsがうまい事入りません。
代わりに公式リポジトリからオープンソース版を導入します。
sudo apt-get install open-vm-source open-vm-toolbox open-vm-tools open-vm-tools-dbg

参考サイトはこちら。(ありがとうございます!)

VMware/LinuxにVMware Toolsをインストールする(Ubuntu 9.04編) - 俺の基地
http://yakinikunotare.boo.jp/orebase/index.php?VMware%2FLinux%A4%CBVMware%20Tools%A4%F2%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A4%B9%A4%EB%A1%CAUbuntu%209.04%CA%D4%A1%CB
posted by 月水和尚 (とも) at 17:50 | Comment(0) | TrackBack(0) | Xen/仮想化全般

DomainUで時刻設定

Xenでは通常、DomainUの時刻はDomain0と同期されています。
…と言うと聞こえはいいんですが、裏を返すとDomainUでは独自に時刻設定が出来ません。
私はDomainUにシステム全体のNTPサーバをやらせたかったので、これは非常に都合が悪い。

この同期を解除するためには、DomainU側で以下のコマンドを実行します。
echo 1 > /proc/sys/xen/independent_wallclock

恒常的に解除するためには、/etc/sysctl.confに以下の1行を追加します。
xen.independent_wallclock = 1

以下のサイトを参考にさせていただきました。
(参考と言うか、そのまんまですね…すいません)

BitWalker Xen の時刻同期
http://bitwalker.dtiblog.com/blog-entry-16.html
posted by 月水和尚 (とも) at 17:38 | Comment(0) | TrackBack(0) | Xen/仮想化全般

2009年08月18日

OpenVPN用のPKI環境構築

OpenVPNで公開鍵認証方式を使うための環境構築手順。
OpevVPN自体のインストールについては以前の記事を参照してください。

まずはインストール時に回収したeasy-rsaを適当なディレクトリ(ここでは /data とします)に展開してください。配下に重要なファイルが生成されるので、/tmpなど一時ディレクトリは避けてください。あと、セキュリティの観点からOpenVPNをインストールしたマシンとは別のマシンを使用することをお勧めします。
cd /data
tar xvf easy-rsa.tar

続いて設定ファイルである vars を修正します(ファイルは展開されたeasy-rsaディレクトリの中にあります)。変更するのは以下の5行です。以下は記述例で、実際にはご自身の環境に合わせて内容を記述してください。
export KEY_COUNTRY=JP
export KEY_PROVINCE=Tokyo
export KEY_CITY=Shinjuku
export KEY_ORG="Hoge Corp."
export KEY_EMAIL="hogemaster@hogera.com"

これで準備完了、まずは環境の初期化をします。
cd /data/easy-rsa
. vars
./clean-all

そしたらマスタCA証明書と鍵を作成します。
./build-ca

入力値を求められた際に、以下の値はご自身の環境に合わせて入力してください。それ以外はデフォルト値のままEnterを押してしまって大丈夫です。(もちろんデフォルト値以外の値を設定しても大丈夫です)
Common Name (eg, your name or your server's hostname) []:Hoge-corp_CA

次にDH(Diffie Hellman)パラメータの作成をします。こちらはコマンド1つです。
./build-dh

続いてTLS証明鍵を作成します。
この作業だけはeasy-rsaを展開したサーバではなく、OpenVPNが導入されているサーバで実行する必要がありますのでご注意下さい。実行するコマンドは以下のとおりです。
openvpn --genkey --secret ta.key

生成された鍵(ta.key)はOpenVPNのconfigディレクトリに移動しておきます。またそのコピーをeasy-rsaを展開したサーバの /data/easy-rsa/keys 配下に保存しておいてください。(保管場所はどこでもいいんですが、keysディレクトリが一番分かりやすくていいと思います)

続いてサーバ側で使用する証明書と鍵の作成をします。
./build-key-server vpnserver

引数である vpnserver はサーバ名なので、ご自身の環境に合わせて適宜変更してください。鍵の生成時に聞かれる内容はマスタCAの時と一緒です。そのため必ず値を入れなければならない項目も一緒になります。
Common Name (eg, your name or your server's hostname) []:vpnserver

マスタCAの場合と違い、入力終了後にまず
A challenge password []:

とパスワードの入力が求められます。サーバで使用する鍵にパスワードをかけてしまうと運用が面倒なので、何も入力せずにEnterキーを押してください。次に
An optional company name []:

と表示されますがこれも何も入力せずにEnterでOKです。すると
Sign the certificate? [y/n]:

と証明書にサインしていいかどうか聞かれます。入力内容に間違いがなければ y を入力してEnterを押してください。最後に
1 out of 1 certificate requests certified, commit? [y/n]

とコミット確認が表示されるので、こちらも y を入力してEnterを押してください。
Write out database with 1 new entries
Data Base Updated

と表示されれば鍵と証明書の生成は完了です。

最後にクライアント用の証明書と鍵を作成します。
./build-key hogeuser

作業内容はサーバ用の場合と全く同じです。

生成された鍵やら証明書やらをサーバとクライアントに送ります。
必要なファイルは以下のとおりです。

<サーバ側>
 ca.crt
 dh1024.pem
 vpnserver.key
 vpnserver.crt
 ta.key

<クライアント側>
 ca.crt
 hogeuser.key
 hogeuser.crt
 ta.key

ここまで書くと設定についても記述が必要ですね…。
それはまた、次のエントリと言うことで。
posted by 月水和尚 (とも) at 17:09 | Comment(2) | TrackBack(0) | Linux(UNIX)全般

2009年07月16日

CentOS / Xen Domain0 でシリアルコンソール

XenDom0として構築したCentOS 5.3でシリアルコンソールを使う方法。
時間がないので端折り気味で。

/boot/grup/menu.lst に太字部分を追加。
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=10 console serial

#splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-128.2.1.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-128.2.1.el5 com1=115200
module /vmlinuz-2.6.18-128.2.1.el5xen ro root=/dev/VolGroup00/LogVol00 console=tty0 console=ttyS0,115200n8
module /initrd-2.6.18-128.2.1.el5xen.img

あとは /etc/inittab にも以下の行を追加。
# Serial console
sc:12345:respawn:/sbin/agetty -L ttyS0 115200 vt100

最後に /etc/securetty に以下の1行を追加。
ttyS0

以下のサイトを参考にさせていただきました。
ありがとうございます!

Server « blog.shimazu.org
http://blog.shimazu.org/archives/category/server

ふかふかの部屋 - TSR - Xen 関連
http://www1.plala.or.jp/fukafuka/trouble/xen.html
posted by 月水和尚 (とも) at 15:20 | Comment(0) | TrackBack(0) | Xen/仮想化全般

2009年07月13日

ubuntu 9.04 で Firefox 3.5

Firefox の最新版であるバージョン3.5がWindowsで問題なく動いてくれているので、ubuntu機のFirefoxもバージョンアップしたいなぁ…と思っていたんですが、どうやら正式サポートされるのは9.10からのようで。

ただし、今でもUbuntu Mozilla Security TeamのPPAを使うとインストール出来るようです。以下そのための手順のメモ。

まずはリポジトリにUbuntu Mozilla Security Teamのパッケージを追加。具体的には /etc/apt/source.list に以下の2行を追加します。
deb http://ppa.launchpad.net/ubuntu-mozilla-security/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-mozilla-security/ppa/ubuntu jaunty main

続いて該当リポジトリの公開鍵をインポート。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EBC211F

パッケージの一覧を最新の状態に更新します。
sudo apt-get update

これで準備OK。Firefox 3.5をインストールします。
sudo apt-get install firefox-3.5 firefox-3.5-gnome-support latex-xft-fonts

でもって起動。まだ3.03.5が共存しているので、起動はターミナルから直接コマンド打ちます。
firefox-3.5

初回起動時には3.0の時に使っていたプロファイルがコピーされるのでちょっと時間がかかります。でもそれ故3.03.5がきれいに共存できるのでありがたい限りですが。

素の状態ではメニュー等が英語なので、以下のサイトから日本語ロケール(って表現で正しいのかな?)である ja.xpi を導入しておきましょう。

Index of ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.5/linux-i686/xpi/
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.5/linux-i686/xpi/

これで完了。ざっと使った感じ特に問題はなさそうなので、私は3.5をメインにしちゃってます。私と同様にもう3.5メインでいいやーという方は、シンボリックリンクだけの問題なのでさくっと付け替えちゃいましょう。
cd /usr/bin
sudo rm firefox
sudo ln -s firefox-3.5 firefox

以下のサイトを参考にさせていただきました。
(ありがとうございました!!)

hiromasa.another :o) » Blog Archive » Ubuntu 9.04 の Firefox 3.5 と 3.5 対応の WP!Pikon
http://another.maple4ever.net/archives/923/

Ubuntu Weekly Topics:2009年7月3日号 9.10のDebian Import Freeze・OpenOffice.orgの日本語環境改善拡張機能・Firefox 3.5・UWN#148・Full Circle Magazine #26|gihyo.jp … 技術評論社
http://gihyo.jp/admin/clip/01/ubuntu-topics/200907/03

Ubuntu日本語フォーラム / Mozilla Firefox 3.5 のインストールについて
https://forums.ubuntulinux.jp/viewtopic.php?pid=34412
posted by 月水和尚 (とも) at 11:59 | Comment(0) | TrackBack(0) | ubuntu

2009年07月09日

DomUのディスクイメージをDom0から参照する方法

Gentooubuntuと違い、CentOSではDomUの構築にvirt-installを使用する必要があります。virt-installではDom0で確保したLVを独自形式でフォーマットしてしまうため、DomU停止時に該当LVをDom0からmountして中身を確認したり、LVMの利点を生かして割り当てディスク量を変更する(=LVのサイズを変更する)ことが出来ませんでした。

後者は諦めるとしても、せめて前者が出来れば…と思っていたのですが、通常のmountコマンドではなく、lomountというコマンドを使えば実現できることが分かりました。(CentOSではXenパッケージに含まれています)

DomU用に作成したLVを /dev/VolGroup00/domU01_root 、マウントポイントを /mnt とした場合、マウントするためのコマンドは以下のとおりです。
lomount -t ext3 -diskimage /dev/VolGroup00/domU01_root -partition 1 /mnt

これで設定ミスってDomUが上がらなくなってしまった場合などの対応がだいぶ楽になりました。

元ネタは以下のサイトです。
有用な情報をありがとうございました!

Stray Penguin - Linux Memo (Xen-4)
http://www.asahi-net.or.jp/~AA4T-NNGK/xen4.html
posted by 月水和尚 (とも) at 17:42 | Comment(0) | TrackBack(0) | Xen/仮想化全般

2009年07月08日

CentOSでOpenVPN

CentOSOpenVPNを動かすための手順。
公式リポジトリには入ってないんで、全部ソースからビルドします。

まずはビルドに必要なパッケージをインストールします。
yum install gcc gcc-c++ openssl-devel pam-devel

私はブリッジ接続派の人なので、bridge-utilsも入れておきます。
yum install bridge-utils

続いてOpenVPNで使用する圧縮ライブラリであるLZOをビルドします。
cd /tmp
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
tar zxvf lzo-2.03.tar.gz
cd lzo-2.03
./configure
make
make install

これで準備完了。OpenVPN本体をビルドします。
cd /tmp
wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
tar zxvf openvpn-2.0.9.tar.gz
cd openvpn-2.0.9
./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib
make
make install

PAM認証を使いたい方はPAMプラグインもビルドしておきます。
cd /tmp/openvpn-2.0.9/plugin/auth-pam
make
cp -p openvpn-auth-pam.so /usr/local/lib

ブリッジ接続派の私はブリッジの起動停止スクリプトもコピーしておきます。
cp -p /tmp/openvpn-2.0.9/sample-scripts/bridge-* /usr/local/sbin

ここでコピーしたスクリプトの起動用の方(bridge-start)は、コピーしたそのままでは使えません。自分の環境に合わせて内容を変更してください。変えるべき項目はたぶん eth_ipeth_broadcast だけで問題ないと思います。(NICがたくさんあったりブリッジ接続をしない場合はちょっと違いますが)

OpenVPNの起動スクリプト(initスクリプト?)も /tmp/openvpn-2.0.9/sample-scripts/openvpn.init として提供されているんですが、中身がちょっと複雑すぎ。私は簡素化したこんなスクリプトを使っています。
#!/bin/bash
#
# openvpn This shell script takes care of starting and stopping
# openvpn on RedHat or other chkconfig-based system.
#
# chkconfig: 345 24 76
# description: OpenVPN daemon
# processname: openvpn

INIT_PROG=openvpn
VPNCONF=/usr/local/etc/openvpn/openvpn.conf

#
# Source Redhat function library.
#
. /etc/rc.d/init.d/functions

# Track on path to oenvpn if not already in PATH
VPN_PATH=":/usr/local/sbin"

PATH=$PATH$VPN_PATH
export PATH

RETVAL=0

# See how we were called.
start() {
# Start network bridge
echo "Starting network bridge ..."
bridge-start
# Start daemons.
echo -n "Starting $INIT_PROG: "
/sbin/modprobe tun > /dev/null 2>&1
$INIT_PROG --daemon --config $VPNCONF
RETVAL=$?
echo

[ $RETVAL -eq 0 ] && touch "/var/lock/subsys/${INIT_PROG}"
return $RETVAL
}

stop() {
# Stop daemons.
echo -n "Stopping $INIT_PROG: "
killproc $INIT_PROG
RETVAL=$?
echo
# Stop network bridge
echo "Stopping network bridge ..."
bridge-stop

[ $RETVAL -eq 0 ] && rm -f "/var/lock/subsys/${INIT_PROG}"
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $INIT_PROG
RETVAL=$?
;;
restart)
stop
start
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac

exit $?
最後にOS側での設定。IP packet forwardingを使うので、/etc/sysct.conf の以下の記述を修正します。
net.ipv4.ip_forward = 0
 ↓ 修正
net.ipv4.ip_forward = 1

これで再起動すればIP packet forwardingが利用可能になりますが、変更を再起動なしに即時反映させたい場合は以下のコマンドを実行します。
echo 1 > /proc/sys/net/ipv4/ip_forward

以上でインストール自体は完了ですが、もし公開鍵暗号を使ったユーザ認証をしたいのであれば、公開鍵暗号基盤の管理ツールである easy-rsa を回収しておきましょう。(あとで別のサーバで展開して使用します)
cd /tmp/openvpn-2.0.9
tar cvf ~/easy-rsa.tar easy-rsa

ここまで行けばあとは設定するだけ…なんですが、これがまた結構大変です。ドキュメントを読めば必要なことはみんな書いてあるんですが、何しろ英語なので…。(←英語の読解力がものすごく弱い)

そんな私の救世主となってくれたのがこちらのサイト。

OpenVPNの日本語情報
http://freescitech.net/2/index.html

こちらのWEBMASTER様が日本語訳をしてくれていなかったら、私にはたぶんOpenVPNの構築は無理だったのではないかと思います。本当にありがたいことです。

あと、最近になって日本語公式っぽいサイト(実際には違うと思いますが)が出来ていました。

OpenVPN.JP
http://www.openvpn.jp/

こちらでは日本語のドキュメントと共に、日本語版のOpenVPN GUIが公開されているようです。英語版でも特に難しいところはありませんが、出来れば日本語で、という方はお試し下さい。(私は使ったことがありませんが)

−追記:2009/07/14−
IP packet forwardingの設定が漏れていたので追記しました。

−追記:2009/07/16−
initスクリプトの不具合を修正しました。
easy-rsaの回収手順を修正しました。

−追記:2009/09/03−
initスクリプトをchkconfig対応のために修正しました。

<参考サイト>
猫ぐらし: 自分でインストールしたサービスを chkconfig --add するためには
http://makisuke.seesaa.net/article/6066867.html
posted by 月水和尚 (とも) at 18:08 | Comment(0) | TrackBack(0) | CentOS/RH系

2009年07月07日

CentOS on CentOS

今までずっとXenの取り扱いはDom0Gentooを使っていたんですが、ここ最近全然カーネルがアップデートされない(どころか2.6.21はMASKされてしまった)状況にがっかりして、Dom0に使うディストリビューションの入れ替えを決意。

真っ先に考えたのはデスクトップでずっと使っているubuntuだったんですが、これまたXenサポートは非常に弱い感じ。9.04になってDom0サポートはなくなったっぽいし、DomUも公式カーネルだとネットワークに不具合があるし。(これは9.04で直ったのかな…チェックしてないな)

んで、どうせ使い道はサーバ用途。鉄板のCentOSで試してみるか…とやってみたら、これがものすごい簡単に構築できてびっくりしました。CentOSってDom0DomUもしっかりサポートされてるんですね。と言うわけで、構築手順のメモ。

まずはDom0側。普通にCentOSをインストールすればいいんですが、DomU用にディスクを残しておきたいので、パーティションの設定時に / が使うLVのサイズを小さくしておいてください。(デフォルトだと残りサイズ全部割り当ててしまう) アップデートなど行った後、Dom0に必要な xenkernel-xen をインストールします。
yum install xen kernel-xen

続いて起動時に xenblk が読み込まれるよう、以下のコマンドを入力します。(modprobe.confxenblkモジュールを読み込むためのエントリを追加しています)
echo alias scsi_hostadapter xenblk >> /etc/modprobe.conf

さらにXen対応のカーネルが使えるように、カーネルの設定ファイルである /etc/sysconfig/kernel を以下のとおり修正します。
DEFAULTKERNEL=kernel
 ↓ 修正
DEFAULTKERNEL=kernel-xen

これでDom0の準備は完了です。(簡単ですね!)
あとは再起動すればXenの環境で上がってくるのですが、単純な再起動だと今使ってるカーネルのまま立ち上がってしまいます。grubのメニューから起動するカーネルを選べる方は問題ありませんが、私のように実機にキーボードもディスプレイも付けてない人だと困ってしまうので、ここは思い切ってデフォルトで起動するカーネルをXenのカーネルに切り替えてしまいましょう。修正するのは /boot/grub/grub.conf の以下の1行です。
default=1
 ↓ 修正
default=0

再起動したら、uname -r で使っているカーネルを確認してみましょう。
# uname -r
2.6.18-128.1.16.el5xen

カーネル名の最後にxenが付いてれば成功です。

続いてDomU側。これは以前に書いたCentOS on Gentooを参考にしつつ行きます。

まずはファイルシステムの作成。分かりやすさを考えて、Dom0のLV=DomUのディスクとし、1つのディスクは1つのパーティションしか持たないような構成にしました。最低限必要な構成として、/6GB/boot128MBswap512MBという3つのパーティションを作成します。
lvcreate -L6G -ndomU01_root VolGroup00
lvcreate -L128M -ndomU01_boot VolGroup00
lvcreate -L512M -ndomU01_swap VolGroup00

この時、環境によっては、
/dev/hda: open failed: No medium found

というメッセージが出るかも知れません。その場合は /etc/lvm/lvm.conf を以下のとおり修正します。
filter = [ "a/.*/" ]
 ↓ コメントアウトする
# filter = [ "a/.*/" ]

# filter = [ "r|/dev/cdrom|" ]
 ↓ コメントを外す
filter = [ "r|/dev/cdrom|" ]

修正が完了したら以下のコマンドを実行します。
vgscan

これで該当メッセージが出なくなるはずです。

DomU用のLVが完成したら、いよいよインストールです。確保するメモリを256MBDomUの名前を domU_01 とすると、インストールコマンドは以下のとおりです。
virt-install -n domU_01 -r 256 -f /dev/VolGroup00/domU01_boot -f /dev/VolGroup00/domU01_swap -f /dev/VolGroup00/domU01_root -b xenbr0 -p --nographics -l http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/

普通にテキストインストールするのと同じインストーラが実行されるので、よしなにインストールしてください。grubとか普通にインストールしちゃって大丈夫です。(あくまでDomUのディスク上にインストールされるので) あ、パーティション構成だけは手動で行うようにしてください。でないとせっかく専用のディスク(=Dom0のLV)を定義したのに、まとめてLVMの領域にされちゃうので。("Create Custom Layout"を選択するとうまく行くと思います)

インストールが完了したらリブートします。OSの初回起動時に"Setup Agent"なるものが起動しますが、どれも実行せずにexitしてください。実行してしまうとツール自身を終了できずに後続処理が行えなくなってしまいます。(私の環境固有の問題かも知れませんが…)

−追記:2009/07/08−

Setup Agentがおかしくなるのは私が作業に使っていたターミナル(Poderosa 3.0)固有の問題みたいです。gnome-terminalから作業したら問題なく継続することが出来ました。

−追記ここまで−

これでお終い。

以下のサイトの情報を参考にさせていただきました。
(ありがとうございました!)

仮想マシン構築(Xen) - CentOSで自宅サーバー構築
http://centossrv.com/xen.shtml

「/dev/hdc: open failed: No medium found」が表示される:気ままな日記:So-net blog
http://gokun7.blog.so-net.ne.jp/2008-11-20
posted by 月水和尚 (とも) at 17:26 | Comment(0) | TrackBack(0) | Xen/仮想化全般