2010年1月12日火曜日

The Debian System の第二版がでる模様

米アマゾン
The Debian System: Concepts and Techniques (Paperback)

日アマゾン
The Debian System: Concepts and Techniques (ペーパーバック)

第一版日本語版もってるけど、最近さっぱりみてないな・・・。処分しちゃおっかな。
またよみたくなったら原書か、第二版日本語版まちでもかまわないな。

BSD magazine が無料になったみたい

BSD magazine
「Download FREE issues and articles from BSDmagazine!」

ってことで、「a free monthly online publication」となってる。

ここぞとばかりに早速登録(メールアドレスのみ)して、ダウンロード。あとでよもう。

FreeBSD で ZFS

・8.0-RELEASE からプロダクション品質
・8.0-STABLE にZFS version 14 が取り込まれた

ってことで、ZFS を少しおさわり。初。もし Solaris で育ってたら、早々にさわってたことだろうな。
実マシンは無いので、VMware Fusion 上の FreeBSD 8.0-STABLE で /usr/{src,obj,ports} を zfs にした。ディスクは、、、2Gのファイルを SCSI で 4つ作成、それらを raidz にした特に面白く(?)ない構成。

以下、設定したことなどなど。

dmesg には次のように出力される
ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present;
to enable, add "vfs.zfs.prefetch_disable=0" to /boot/loader.conf.
ZFS filesystem version 14
ZFS storage pool version 14

メモリは 2G で設定しているため ZFSプリフェッチというのが無効になっている。これはなんだろうな。。

また、/boot/loader.conf で vm.kmem_size を 512MB に設定する前は次の出力もあった。
ZFS WARNING: Recommended minimum kmem_size is 512MB; expect unstable behavior.
Consider tuning vm.kmem_size and vm.kmem_size_max
in /boot/loader.conf.

そのため、/boot/loader.conf には
vm.kmem_size="536870912"
を書いて、再起動。

ZFS 領域に移す/usr/src と /usr/ports の容量は以下の通り。
% du -shc /usr/src
512M /usr/src
512M total
% du -shc /usr/ports
746M /usr/ports
746M total

man zfs や man zpool して、軽く使い方を確認。まず zpool で create。前述のとおり SCSI 4つを raidz 。
% sudo zpool create tank raidz da0 da1 da2 da3

% zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
tank 7.94G 132K 7.94G 0% ONLINE

% zpool status tank
pool: tank state: ONLINE scrub: none requested
config:

NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da0 ONLINE 0 0 0
da1 ONLINE 0 0 0
da2 ONLINE 0 0 0
da3 ONLINE 0 0 0

errors: No known data errors

作成した時点で mount されるらしい(この時点では zfs mount コマンドでもみられる、ということには気づかなかった)
% df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 11G 5.4G 4.4G 55% /
devfs 1.0K 1.0K 0B 100% /dev
tank 5.8G 0B 5.8G 0% /tank

% mount
/dev/ad0s1a on / (ufs, local, soft-updates)
devfs on /dev (devfs, local, multilabel)
tank on /tank (zfs, local)

src, ports 領域を ストレージプール tank 以下に作成
% sudo zfs create tank/src
% sudo zfs create tank/ports
% df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 11166944 5625798 4647792 55% /
devfs 1 1 0 100% /dev
tank 6128512 0 6128512 0% /tank
tank/src 6128512 0 6128512 0% /tank/src
tank/ports 6128512 0 6128512 0% /tank/ports
これも、zfs create した時点で mount された。

移す先が作成できたので、ごそっと rsync
% sudo rsync -Hau /usr/src/ /tank/src/ ; sudo rsync -Hau /usr/ports/ /tank/ports/

rsync 中、ZFS の場合の書き込みはある程度のチャンク毎(?)に行われるのかなと思った。df でみるみるうちに使用領域が経るものかとおもったら、そうでもなかったような・・・。
(軽く調べてみたところ、そのような振る舞いのようだ。)

rsync 後の確認
% df -h -t zfs
Filesystem Size Used Avail Capacity Mounted on
tank 4.7G 0B 4.7G 0% /tank
tank/src 5.2G 522M 4.7G 10% /tank/src
tank/ports 5.3G 688M 4.7G 13% /tank/ports

その後、同様にして/usr/obj の後釜 tank/obj も作成。同期は必要ないので create だけ。
% mount -t zfs
tank on /tank (zfs, local)
tank/src on /tank/src (zfs, local)
tank/ports on /tank/ports (zfs, local)
tank/obj on /tank/obj (zfs, local)

で、mount 先が /tank/{src,ports,obj} のままだと symlink 貼ったりしてなんかなー、と思ったので一度 umount し(後で気づいたけど、アンマウントしなくてもできる。)mountpoint を設定後、再度 mount。
% zfs set mountpoint=/usr/src tank/src
% zfs set mountpoint=/usr/ports tank/ports
% zfs set mountpoint=/usr/obj tank/obj

再 mount (zfs mount -a)後
% df -h -t zfs
Filesystem Size Used Avail Capacity Mounted on
tank 3.0G 0B 3.0G 0% /tank
tank/obj 4.7G 1.7G 3.0G 36% /usr/obj
tank/ports 3.7G 688M 3.0G 18% /usr/ports
tank/src 3.5G 523M 3.0G 15% /usr/src
% zfs mount
tank /tank
tank/obj /usr/obj
tank/ports /usr/ports
tank/src /usr/src

あと、/etc/rc.conf に zfs_enable="YES" を書いておしまい。

make buildkernel buildworld しガリガリ書かせてみて、パニックしないことを確認。

実用する場合はデカーイストレージをくっつけて、sharenfs なぞするのが普通なのかなぁ。 例えば VMware, Xen のイメージ置き場に使えるレベルなのかしらん・・・。ううむ。

2010年1月11日月曜日

Phusion の中の人のプレゼン

Twitter のつぶやきで

http://twitter.com/onlyopensource/status/7622894689 をみて、「へー、Ruby 実装してるひといろいろいるんだなー」とおもってリンク先をみてみたものの、目的の記事がなぜかみあたらず(後でリロードしたらでてきた)。

みあたらなかったので他の記事でもみてみようと思い、下へ下へとつらつらみてると How Phusion Built A More Efficient Ruby 1.8 Interpreter という記事が。Phusion の中の人(CTO & CEO かつ co-founder らしい)の Google Tech Talk でのプレゼン。ふだん使ってないものの、REE とか Passnger 作ってるとこだし、個人的興味だけで動画を鑑賞。


2人でプレゼンしてて、

・GC の改善
・よりよい malloc の選択 (tcmalloc を使っているのは知ってたけど、理由がわかった)
・スレッドの改善

てなメニュー。スライドが大変見やすい。

途中、REE 使ってよかった!という事例の紹介があったり。

終わりごろに以下の説明が

Ruby 1.8 のスレッド改善について
・スレッドのパッチは9月からREEにオプションとして、試験的なものとして含んでるよ
・x86 と x86_64 サポートしてるよ

結び
・REE はフォークじゃないよ、ブランチだよ
・定期的に upstream にマージするよ
・もっと寛容なパッチを許容できるポリシー(?いみがよくわからん
・パッチが upstream に戻るのをねがってるよ

Phusion のサイトに書いてあるとおり、 The Computer Science Company なんだなぁ、と納得納得。素晴らしい。

http://www.phusion.nl/about.html

その筋のひとにとってはかなり前から、「Rails 動かすなら REE 使うのが標準だよねー」なのかな?(使ってないからわからん)

2010年1月10日日曜日

Mac OS X 用アンチウィルスソフト一覧 2010/01/10 調べ

気休めかもしれないけど iAntiVirus を入れて万が一(?)に備えていたりするのだけど、さて Mac 用のアンチウィルスソフトというのはどれだけあるのだろう?と思ってたので調べた。

むかーしむかしは、Disinfectant あったなぁ。About かなにかで、足がニョーンとでてくるやつ。
Windows のように検出率、性能の比較をしているひとはいるのだろうか・・・。はてさて。


・ Intego VirusBarrier X5
- http://www.intego.com/jp/virusbarrier/

・ ノートン™ アンチウイルス Mac®版
- http://www.symantec.com/ja/jp/norton/macintosh/antivirus
シマンテックストア


・ ウイルスバスター 2010
- http://virusbuster.jp/
サイトをみたかんじ、Windows 版と Mac 版の区別がなさげ。
ウイルスバスターは1本の購入でWindowsとMacの組み合わせでもパソコン3台まで*インストールできます。
との記述あり。
トレンドマイクロ・オンラインショップ

・ Kaspersky Anti-Virus for Mac
- http://www.justsystems.com/jp/products/kasperskymac/

・ avast! アンチウイルス
- http://www.avast.com/jpn/avast-antivirus-mac-edition.html

・ ClamXav
- http://www.clamxav.com/

・ ESET NOD32 Antivirus 4 for Mac OS X
- http://beta.eset.com/macosx
注)URL でわかるとおり、ベータ版。

・ McAfee VirusScan for Mac
- http://www.mcafee.com/japan/products/virusscan_for_mac.asp

・ iAntiVirus
- http://www.iantivirus.com/

こんなとこかな。なにかしら変化があったら新エントリ書くとともにそっちへのリンクを張る予定。
試用版つかってみたりした上での評価はしない。(専門家でもないし、主観の入ることが避けられない気がするため)

2010年1月4日月曜日

37signals が System Administrator を募集している

ここ

DHH がつぶやいてたのをみて、どんな人がほしいんだろねーと見てみた。

自分は全くもってないスキルセットだなぁ、こりゃ。

合致するのは various web servers, MySQL くらいだ。
Xen は多少触ってたけど KVM は全くない。
HAproxy はここで見て知ったかもしれないな。。
Chef は puppet ぽいなにかという程度しか知らない、passenger も Rails いじりしてないのでお触りしてない。Unicorn てなんだろなーとちょっと調べてみたら、 mongrel から派生したものなんだねぇ。知らなかった・・・。

というわけで、Ruby + Rails でごそごそしてる人で sysadmin したい人にはうってつけの募集なんだろなー、と思った次第。