PC新調した
KVMサーバを新調しました。
会社でRHELやCentOSについて、そんな瑣末な事いちいち覚えてねえよ!というような初歩的な事をよく聞かれるのですが、
会社から支給されてるPCはメモリが2GBしかなくてVirtualBox動かすとメモリがカツカツになるし、保守の会社だからサーバを運用するという発想がなくて空いてるサーバをごにょってそういうののサポート用環境を構築しておいてもこっちに断りも無くすぐ潰されて別の検証に転用されちゃうので。
しょうがなく自宅のゲーム用PCを常時運転させてKVMで各種OSをゲストとしてインスコしておいたんですが最近電気代が高くなってきてるので思い切って専用にPC作りました。
詳細なスペックは以下をご覧頂ければと思います。
http://www.asus.com/Motherboards/AMD_CPU_on_Board/E45M1I_DELUXE/
ディストリビューションは何を使うか迷ったんですが、Arch Linuxにしました。本当はDebianにしたかったんですけどtesting を入れたらfbに切り替わったところで画面が乱れてどうしようもなかった;;
というわけで初Archなんですが、Debianだと最低限動く設定がデフォで用意されてるんですが、これは何も用意されてなくて一から自分で書かなきゃいけなくて勉強になりますね。
ドキュメントも充実してるのは好印象です。
ただ、libvirt でモニョろうとするとlibvirtのページだけ見てても駄目で他に kvm や qemu のページやそこからのリンクを全部読んで回らなきゃいけなかったり、あちこちに必要な記述が分散してて難儀したので、作業内容について後でまとめようと思う。パーティションの切り方間違えてて後で再インストールすると思われるので
SL6 と VirtualBox-4.1.x(2)
前回の対処で大丈夫と思ったんですが、これは完璧じゃないようです。
何回かに一回くらい起動に失敗します。
どうもreboot コマンドで再起動すると再現性が高いようですが、一定じゃないようです。謎ですねえ
SL6 と VirtualBox-4.1.x
Windows7 32bit のノートPCを会社から支給されているのですがVirtualBox-4.0.x に入れたScientific Linux6 を入れて使っています。CentOSじゃないのはそのころCentOS6が出てなかったせいなんですが。仕事で聞かれるのはRHELに特化した話が多いのでdebianには出来ません。忸怩たる思いですねー
久々に起動してyum update したらカーネルパニックがおきるようになってしまいました。
古いカーネルでは大丈夫ですが、kernel-2.6.32.220.7.1.el6 から起動すると、パニックします。
メッセージ自体は、以下のフォーラムにあるとおりinit_tcs_clocksource 内部でパニックしたというものになります。
http://www.centos.org/modules/newbb/print.php?form=1&topic_id=36523&forum=55&order=ASC&start=0
対処法については、以下のとおり
- VirtualBox をバージョンアップ
- 古いカーネルで起動
- dkms パッケージをインストール
- guest addition をアップデート
もし、dkmsをインストールする前にguest addition をアップデートしてしまっても再インストールしたらdkmsを使うように変更したバージョンをインストールしてくれるようです。
ちょっとあせりました。
KVM 上のOpenBSDのこと
別の用があって http://www.linux-kvm.org/page/Guest_Support_Status を見ていたらOpenBSDの事も載ってたので試してみたところパフォーマンスが劇的に改善しました。
具体的にはOpenBSD-4.5 の項目にあるけど
http://scie.nti.st/2009/10/4/running-openbsd-4-5-in-kvm-on-ubuntu-linux-9-04
の Step3 を実施して再起動するだけ。
うちは該当しなかったけど環境によって起動しないらしいのでその場合はStep2をしなきゃいけないみたい。
# config -ef /bsd OpenBSD 5.0 (GENERIC) #43: Wed Aug 17 10:10:52 MDT 2011 deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC Enter 'help' for information ukc> disable mpbios 348 mpbios0 disabled ukc> quit Saving modified kernel.
実験
100MBの空ファイルを作成して、それを単にコピーしてtime コマンドで時間を測定しました。
before
# time dd if=/dev/zero of=100m bs=1k count=102400 102400+0 records in 102400+0 records out 104857600 bytes transferred in 421.487 secs (248780 bytes/sec) 7m2.03s real 0m0.11s user 6m39.49s system # time cp 100m /root 1m24.96s real 0m0.13s user 1m16.39s system
after
# cd /tmp # time dd if=/dev/zero of=100m bs=1k count=102400 102400+0 records in 102400+0 records out 104857600 bytes transferred in 4.536 secs (23115165 bytes/sec) 0m5.53s real 0m0.01s user 0m2.16s system # time cp 100m /root 0m1.81s real 0m0.10s user 0m0.89s system
劇的に早くというかLinuxゲストと同じ位にはなりましたね。これで常用に耐えられるレベルになりました。
CentOS5.7 のインストーラ
RedHatのクローンはみんなそうだと思いますが、パッケージグループのリストがDVDのrepodata 以下にcomps.xmlという名前で置いてあります。
インストーラはこれを見てインストールするパッケージグループを表示しています。
インストールした事ある人にはおなじみだと思いますが
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/sn-package-selection-x86.html
ここにある画面ですね。左の項目がcategory、右の項目がgroup という括りでXML形式で書かれています。
group の項目を見ればどのパッケージがインストールされるか分かるようになっています。
実用上問題はないんですが、CentOS5.7のインストーラには不整合があるようです。
以下はベースシステムに含まれるgroupのリストです。
admin-tools base base-x dialup java legacy-software-support openfabrics-enterprise-distribution system-tools workstation
最後にworkstation というグループが設定されていますが、このグループの定義は同じファイルにはありません。インストールする際にも表示されませんでした。
誰に文句言えばいいのか分かんなかったんでとりあえずメモ代わりに書いときます
パッケージリストを整形して表示するスクリプトにかけたらエラーになったんで、文句言ってやろうと思ったんですがね
ささみの会で発表してきた。
某社のIT運用に関する社内勉強会にもぐりこんで図々しくも発表してきました。
発表とか生まれて初めてだったので滝汗だったり。変な汗かいて帰りくさかった><
発表したスライドはこちら
https://docs.google.com/present/view?id=ddk8m727_4c242vhg8
以下、反省点
- ソースだけじゃなくデモ環境を用意すべきだった
- 時間とか気にせずダラダラしゃべりすぎ
- 何も考えずにスライド作ったので時間配分とかgdgd
- 予行演習していかなかったから話とスライド進めるタイミングがずれてgdgd
最大の問題はこれではレイヤーが高すぎてkernelvm で発表できないことだな(わら