PC新調した

KVMサーバを新調しました。

会社でRHELCentOSについて、そんな瑣末な事いちいち覚えてねえよ!というような初歩的な事をよく聞かれるのですが、
会社から支給されてる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のページだけ見てても駄目で他に kvmqemu のページやそこからのリンクを全部読んで回らなきゃいけなかったり、あちこちに必要な記述が分散してて難儀したので、作業内容について後でまとめようと思う。パーティションの切り方間違えてて後で再インストールすると思われるので

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 で発表できないことだな(わら

PPTP に関するTips

Windows7PPTPを用いて外部にVPN接続()すると、デフォルトルートが追加されVPNに関係ない通信も2回に1回はVPN経由で接続しようとします。接続先のFirewall設定によってはつながらないし、そもそもトンネル経由なので遅い。
これを回避するには

  • VPN接続(設定時に決めた名前)」を右クリック
  • プロパティを選択
  • 「ネットワーク」タブを選択
  • (TCP/IPv4) のプロパティを開く
  • 「詳細設定」ボタンをクリック
  • IP設定タブの、「リモートネットワークでデフォルトゲートウェイを使う」のチェックを外す

これでVPN先があて先以外の通信はトンネルに行かなくなります。