学生の頃はあこがれだったUnixが好きな 大曽根のBlogです
Akira Ohsone's Weblog
アーカイブ
« 11月 2009
1
2
3
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
今日
Click me to subscribe
Search

リンク
 

Today's Page Hits: 87

メイン | 次のページ »
水曜日 11 25, 2009
Bicycle30 - Fuji Challenge 200 update

自転車30 - 富士チャレンジ200 更新

自転車29 - 富士チャレンジ200 でちょっと前に私が初めて行った自転車レース話をしましたが、その更新です。

Posted at 07:39午後 11 25, 2009 by Akira Ohsone in 趣味  |  投稿されたコメント[0]

水曜日 11 04, 2009
zfs dedup 2

ZFSでのdeduplication実装その2

直前に書いたzfs dedup ですが、 早速社内の人が試した結果がきました。 とっても単純な試験ですが、とてもわかりやすい検証結果となっています。 ビルド#128はまだありませんので、開発途中のビルドからbfuをしたそうです。 最初dfとかzfs listみてもdedupの効果がわからずとまどったようですが、zpool listでちゃんとわかるということです。

時間があればもう少し実用的で、どの程度CPUやメモリに対する負荷がかかるのかみてみたいところです。

Posted at 08:46午後 11 04, 2009 by Akira Ohsone in OpenSolaris  | 

ZFS dedup

ZFSでのdeduplication実装

Jeff Bonwick氏 新しい書き込み でZFSのdedupが話題なっていますね。 deduplication、重複をなくすということですが、これ自身が最近結構話題になっていると思います。 また、これほど早くdedupがzfsで実装されるとは思いませんでした。 Jeffのblogには書いていませんが、OpenSolarisのビルド#128に入ってくるそうです。 ZFSはもとともsnapshot/cloneを駆使することで、 使い方によってはかなり重複がさけられる運用ができますが、 これでますます無駄のないストレージの運用プラス速度の向上が見込めますね。 もちろん様々なトレードオフがあるので、 実際の運用にどの方法が適しているのかみてみる必要もあると思いますが。

以下、Jeffのブログの要約です。 英語の参照文も入れおきますので、興味あれば原文を読む時の参考にしてください。 だれか全部訳してくれるまでということで。

Posted at 03:43午後 11 04, 2009 by Akira Ohsone in OpenSolaris  | 

火曜日 10 27, 2009
Bicycle29 - Fuji Challenge 200

自転車29 - 富士チャレンジ200

とっても久しぶりの更新ですが、自転車ねたです。 ブログの更新は滞っていましたが、相変わらずほぼ毎週どこかに出かけていました。 よく出没するのは南多摩尾根幹線道路とか、甲州街道の大垂水峠と近場が多いですが、 今年は初めて箱根を1号線で超えて静岡の興津までいったり (行った先でOpenSolarisの勉強会に参加 - 2泊)、 中山道で軽井沢(1泊)にいったりしています。 また、最近はサンでほかに自転車に乗っている人たちや、 その友達の方たちに誘われて行く機会が何度かありました。 誘われた最初は正直「ゲーッ」て思うような話ばかりだったのですが(私にはまだ無理かなー?)、 誘ってもらったおかげで、富士のスバルラインと大弛峠にそれぞれ登ることができました (自分としては快挙!、ひとりではまずいかなかった)。 その中でもっとも「エーッ!!」と思ったのが今回の 富士チャレンジ200です。 なんとなく勢いでチームエンデューロ7時間に登録してしまったのですが、 考えれば考えるほど大それたことをしてしまったものだと、及び腰になっていました。 しかも、サンの社員ででる3人はすべてレース未経験、集団で走ることになれていません。 他の2人は早いからまだいいですけど....

でも、「サン」の名前で登録してしまったし、いろいろプランも立てたしということで、 元気に事故なしで完走することを目指し3人とも サンのジャージ を着てがんばることに。

富士チャレンジ200
初めての本格的なレース、めちゃめちゃビビリましたが、とっても楽しかったです。 また、この機会を与えてくれて、私にもちゃんと走らせてくれた仲間たちに感謝感激です、 改めて「ありがとうございました」。

Posted at 08:07午後 10 27, 2009 by Akira Ohsone in 趣味  |  投稿されたコメント[2]

月曜日 4 20, 2009
OpenSolaris third party driver vfe

OpenSolarisで第3者のドライバを入れる

いろいろなマシンにOpenSolarisを導入していますが、 最近はほとんど最初から入っているドライバだけで済んでいました。 しかし、久しぶりにそうでないマシンに遭遇したので、簡単にメモを書いておきます。 まず、マシンですが、ちょっと古いラップトップで、SHARPのPC-AL90Gというものです。 でた当時に会社で購入したのですが、 当時はグラフィックス(S3 UniChrome)がどうにもならず、Solarisで使うのは諦めていました (当時は別の人がいろいろ頑張ってくれていたのですが、詳しいことはよく覚えていないのです)。 しかし、ひょんな事から久しぶりに私の手元に帰ってきたので試してみることに。

System : PC-AL Series CPU Type : Mobile AMD Athlon(tm) 64 Processor 2700+ CPU MHz : 1600MHz CPU 2nd Cache : 512KB Memory : 1.2GB

まだまだ現役で充分使えそうなマシンです。 CD-ROM(DVD Super Multi?)が付いていますので、OpenSolaris 2009.11を起動します。 とりあえずLiveCDとして使える状態になるのですが、忘れていました。 パーティションを切り直すツールはまだOpenSolarisには入っていないのでした (まもなく、もしくはもう、入ったはずですが)。 そこで、たまたま手元にあったUbuntu 7.10で起動しますが、 あれあれ?グラフィックスが切り替わったところで固まります。 OpenSolaris 2009.11でいけるんだからという軽い気持ちで、 Ubuntu 8.10をダウンロードして試しますが、同じ結果に....あれーー?? もしかするとグラフィックスが切り替わるところで固まるけど、なにか違う理由なのかもしれません (画面は切り替わってちゃんとカーソルは書いたところで固まります)。 では、Ubuntu以外でとググッて見ると、gparted の 大元 にちゃんとLiveCDもあるではないですか。 これの最新版で試したところうまくいきました。 80GBのディスクをおおよそ半分にします (この後使う人はおそらくWindowsなので)。

さて気を取り直して、再度OpenSolaris 2009.11で起動します。 直後にDevice Driver Utilityを起動すると、モデムのドライバがないことと、 有線のネットワークが"third party"とでます。 AL90GはWifiが付いていないので、このままではネットに繋がりません。 PC-CardのWifiを使ってみましょう(他機種で実績のあるAtherosのカードです)。 あれ?無反応? DDUの結果を見るとそもそもCardBus Bridgeを認識しません (表にすら出てきません)。 このままではどうにもならないのですが、 とりあえずこのネットワークなしの状態のままでOpenSolaris 2009.11を導入します。 これはあっさり、問題なく完了。 しかし、ネットワークに繋がらないので、このままブートしても意味がありません。

そこで、あらかじめ導入されていたWindows XPを起動して、 ドライバを捜します。 問題の有線ネットワークはRhine-IIですので、 かの有名な MurayamaさんのWebページ から、 vfe をダウンロードして、DVD-RWに書き込みます。 ここで、ハードディスクに導入したOpenSolaris 2009.11を起動し、 ダウンロードしたファイルのREADMEに従ってvfeドライバをインストールします。 最初READMEを見た時makeと書いてあるのでコンパイラって最初から入っていたかな? と不安になりましたが、コンパイルする必要はなく(別のオプションを指定したりする場合必要)、ちゃんと導入できます。 ちょっと驚いたのは、make installが終わった直後にNWAMが動き始めwifiネットワークに繋がったのです。 これはできすぎー?と喜んだのですが....その後にリブートをすると動きません。 でなぜかいったん動かなくなるとどうしてもうごきません。 modunloadしたり、再導入したりといろいろやっても動きません。 でいろいろ調べると、vfeのドライバにはvfe.confが存在しません。 実はSolarisにはこの*.confファイルがあるものとないものがあるのですが、 理由がすぐにはわかりませんでした。 が、とりあえずやってみようと言うことで、 空のvfe.confを作って(といっても念のためiprb.confのコピー)を/kernel/drvにおいてリブート。 ちゃんと動くじゃないですか。 CardBusに関しては調べる時間がとれていないのですが、

Apr 20 18:40:48 hostname pcic: [ID 868228 kern.warning] WARNING: pciclass,0607000: Odd Cardbus Present State 0xffffffff
が大量にでますが、これだけではbiosか、ドライバか?あるいは全く別の原因なのかこれではわからないですね。 image-updateを使ってb111にしてみましたが、この症状は改善しません。 というところで、今回は時間切れでした (_o_)。

Posted at 06:58午後 4 20, 2009 by Akira Ohsone in OpenSolaris  | 

水曜日 3 25, 2009
Tape backup for zfs ? - Japanese

zfsをテープにバックアップ?

皆さんはzfsで作ったファイルシステムをどのようにバックアップしていますか? 最近ではテープというデバイス (単体のテープドライブ、テープ・オートローダ、テープ・ライブラリ)は古くさく、 過去のものという考えを持った人が多くなってきていると思いますが、 私はまだ価値があると思っています。 簡単にオフラインの場所に保管できるとか(例えば遠隔地や耐火金庫に入れるとか)、 保管できるデータの量とそれに要する場所の大きさとかいろいろ利点があります。 また、速度も各世代でディスクに対して結構高速です ( sustained data rate of 120MB./sec for LTO4 / T10000 )。 ソフトウエアは会社において私は(部門のサーバとして) Sun StorageTek Enterprise Backup Software を使っています。 特にバージョン7.3以降はzfsをサポートしており、なかなか快調です。 現在私の書いたちょっとしたスクリプトを使って、 直接使用中のファイルシステムではなくスナップショットからとるように運用しています (これは2年くらい前にやったことで、最新のSun StorageTek Enterprise Backup Software ではもっとスマートにできるようになっているかもしれません)。

このSun StorageTek Enterprise Backup Softwareは実際良くできていて、 使いやすく、かつパワフルです。 しかし、無料ではありませんし、小さな組織における小さなサーバでは大げさすぎるかもしれません。 あるいは、定期的にはとらないけど、なにか特別な理由で1回だけとりたい場合などにも適さないかもしれません。 そういった場合今まではufsdump/ufsrestoreがとても役に立ってくれました。 当然完璧ではありませんが(もっと早くなってほしいですね、特にディレクトリ関連は)、 十分であり、差分のバックアップも効率よくやってくれます。 そうはいってもufsdumpというくらいで、これはufsだけに有効なコマンドで、 zfsには少なくともこれに直接変わるコマンドはありません。 zfsのスナップショット機能はとても強力で、間違えて消してしまったファイルや、古いバージョンの ファイルを復活させるのには大変便利です。 しかし、すべて同じディスクのプール内だけで行われることです。 zfsのsend/recieveはかなり期待が持てそうですが、 ufsdump/ufsrestoreのように複数のテープに書き出す機能がありません (もともと媒体に書き出すために設計しているわけでないので)。 GNUのtar(gtar)には複数のテープを扱う機能があるようですが、どうも、 手動で切り替える場合だけで、オートローダに対応していないようです。

さて、ではどうすればよいのでしょうか? gtarを改造しますか? でもそれではtarの書式しかサポートできません。 うーん、Unixのプログラマーらしい発想をしてみたいと思います。 複数のテープをサポートする機能はもっと一般的な機能として実現するべきではないかと思います。 そうですね、古くからもともとテープを扱うために作られたコマンドがありますね、ddです。 ということで、ddをおもしろ半分の気持ちで試しに改造してみました。 ddはOpenSolarisのプロジェクトの一環としてオープンソース化されていますので、 ソースコード は簡単に手に入ります。 まあ、私がCのプログラムを書くなんていうのはかなりしばらくぶりなので、腕はさび付いていますが、 なんとか動く物ができました。

参考までに私のやった変更を ここに 載せておきました。 もし、興味がおありでしたら次のステップで試してみてください。

パッチされたddの使い方ですが、以下のように二つのオプションを追加しています。
ial[=n]
Input being AutoLoader. 入力が(if)がオートローダであることを指定します。 オプションでオートローダがロードする時間nが指定できますが、 省略すると180秒になります。
oal[=n]
Output being AutoLoader. 出力が(of)がオートローダであることを指定します。 オプションでオートローダがロードする時間nが指定できますが、 省略すると180秒になります。
自動的にテープドライブかどうか判断したりする方法もあるかもしれませんが、 結果が正確でないかもしれませんし、 その結果とんでもないことが起こるかもしれないと思い、 私はオプションで指定するように作りました。 使い方の例です:
# zfs send rpool/export/home@backup | dd oal of=/dev/rmt/0cbn obs=2048b
一応この改造版はSPARCの上で StorEdge L280 with DLT7000 drive (ただし、このオートローダはすでに外して使わなくなったので、最近テストしていません), と StorageTek L20 with LTO2 drive で試しています。

最後に将来の希望をリストすると (:-p):

まあ、これぜんぶちゃんとできるとかなりエンタープライズ級の機能を持ったものに近ずくと思います。 また、Amandaを調べていないのですが、すでに実現されているのかな?

更新

英語の方のエントリでバイナリがほしいというコメントがあったので ここ に載せました。 SPARCとx86、とそれぞれのDEBUG版が入っています。 しかし、手元にテープ・オートローダが繋がっているx86が無いので、 x86版は試験をしていません。 また、当然ですが、これらのバイナリに関して何ら保証などをできるわけではありませんし、 お使いになる方は use it at your own risk でお願いします。 でも、もし使って頂けた場合はその結果をお知らせして頂くとうれしいです。

Posted at 07:36午後 3 25, 2009 by Akira Ohsone in OpenSolaris  |  投稿されたコメント[3]

Tape backup for zfs ? - English

Tape backup for zfs ?

How do you backup zfs based file system/stroage? Those days tapes (tape drive, tape autoloader, tape libary) are considered legacy by many people, but I still value the tape as backup device. Its can be store offline easily (can place on to fire safe stroage for example), amount of data on given space (such as library) would be greater. And it actually pretty fast ( sustained data rate of 120MB./sec for LTO4 / T10000 ). At work/office, I do use Sun StorageTek Enterprise Backup Software. Version 7.3 and following do support zfs file system, and works fine. I even wrote small script to backup from snapshot instead of live file system (I done this years ago, newer version may support this in more elegant way).

While Sun StorageTek Enterprise Backup Software is nice, easy to use, poweful solution, it does cost and combersome for small operation or adhoc backups. For those cases, ufsdump/ufsrestore did excellent job for me. Its not perfect (I wish it does go even faster, too slow on directory), but adequate and came with incremental backup. But it only for the ufs, and zfs does not have direct replacement (yet?). zfs snapshot does wonderful job for finding lost (unitentinally deleted, or look for older version) files, but within the existing disk storage/pool only. zfs send/receive looks promising., but unlike ufsdump/restore, it does not able to write to multiple tape volume. Well, zfs send/receive did not designed for that purpose. GNU tar (gtar) has ability to handle multiple tapes, but it appear only for manual tape exchange operation (not for autoloader).

What should I do? Modify gtar to support autoloader ? But that only support gtar format. Think like Unix programmer (^ ^;). Handling multiple tape volume should reside on more generic Unix command. I decided to modify dd command for experimentation (or fun :-). Its being open sourced as part of OpenSolaris. Its being while I did actually wrote piece of source code, so, its kind a rusty. But I was able to produce workable version.

For reference I have placed patach/diff of my modification posted. If you are interested to try, prepare the OpenSolaris source code and compiling environment, Down load the patch, and apply patch to the dd.c:

$ cd ${SRC} $ cd usr/src/cmd/dd $ patch dd.c < dd_mtv.patch
then, complie it. For usage, I have added two options.
ial[=n]
Input being AutoLoader. Optional n indicate how many seconds will wait for the autoload to complete, default being 180 second.
oal[=n]
Output being AutoLoader. Optional n indicate how many seconds will wait for the autoload to complete, default being 180 second.
Automagically detect the tape drive and such may not acculate, and may result in undesired behavior, therefore I decided to have above option to contol the behavior. Example on how may use:
# zfs send rpool/export/home@backup | dd oal of=/dev/rmt/0cbn obs=2048b
I have tested this vesion with old tape autoloader StorEdge L280 with DLT7000 drive (but I have take it offline while ago, and have not tested lately), and StorageTek L20 with LTO2 drive.

And finally wish list (:-p):

Well, if we have above, we have pretty good correction of feature from enterprise backup solution (:-). I have not look at Amanda yet.

Update

I have request to provide binary from comment onto this entry. I already reply to the comment to provide binary, but just in case I'll also write here. I did uploaded binary at here. its include both SPARC and x86 binary, as well as DEBUG binary. However, I don't have autoloader connected to x86 server, therefore x86 version are not being tested. As usuall, please use it at your own risk. Also, I would appreciate if you can report back how it works.

Posted at 07:35午後 3 25, 2009 by Akira Ohsone in OpenSolaris  |  投稿されたコメント[5]

月曜日 1 19, 2009
OpenSolaris Night Seminar 9th

OpenSolaris Night Seminar 9th

2009年の最初の OpenSolaris Night Seminar を1月9日に行いました。 今回は私が 「Solaris/OpenSolaris の発展とその背景にあるハードウエア」 と題して話をさせていただきました。 どうも、歴史というと私が引っ張り出されるのですが、 期待にこたえるべくがんばってみました。 しかし、年末年始に準備をしたのですが、 どうもそれでも準備不足と自分のプレゼン技術の未熟さを露呈する結果となり申し訳ありませんでした(_o_)。

で、これらすべてビデオにとられているとおもうと本人としてはかなりぞっとします。 やった本人は反省しきりなのですが、せっかくとったビデオですし、 Solarisがどのように、どのような環境で育って着たのか、興味がある人はぜひ見てください。 それぞれ ビデオ資料 においてあります。

Posted at 07:59午後 1 19, 2009 by Akira Ohsone in OpenSolaris  | 

木曜日 11 06, 2008
Bicycle28 - Sun jersey and pottering

自転車27 - サンのサイクリング・ジャージとポタリング

ブログの更新が相も変わらず滞っていますが、いつもの通りほぼ毎週末自転車にのっています。 風振峠クラスを2週続けていけば楽に登れるようになるかもと思ってもなかなかできないですね。 いつも風張を五日市市側から登るのですが、これを奥多摩湖側からのぼったら、かなりきつかったです。 五日市側からだと一気に登る感じなんですが、 奥多摩湖側だといったん奥多摩湖に登ってからしばらく走ってから登るので疲れてしまった後の登りがきついのかな? 午前にピークがくるのと午後にくるののさもあります。 また、ずっと知ってはいたのですが、尾根幹線道路を最近になってやっと走りました。 いろいろなブログに書いてあるとおり近場としては結構良い練習になるかと思います。 その後野猿街道に行ったつもりなんですが、なぜかすぐに野猿街道からはずれてしまいました。

前回書いた 自転車エントリ でサンのジャージの話を書きました。 最初にみんなで買った時から一緒に走ってみたいねという話をしていたのですが、 なかなか機会に恵まれず(というか私の怠慢)、だんだん半袖では寒い時期になってきました。 そこで今年もう最後の機会になるかもしれないということで、急遽無理矢理勢いで企画。 誰も来ないかなと思ったら私以外に2人の方が参加してくれました。 まあ、寂しいと言えば寂しいですが、その週の木曜日辺りに突然言い出したわりには集まったかなと (^ ^:)。 実は一人の方は私よりも自転車歴がずっと長い方で、 そのK氏の道案内で鶴見川を246から上流に登っていこうくらいのいい加減な設定で当日を迎えます。 もう一人のM氏もかなり乗っておられるようで、期間は私とそれほど変わらないようなのですが、 日帰りで富士スバルライン登ってきた(250km位だそうです、凄すぎ)強者で、 当然のごとく上り坂で私はぶっちぎられました(T T)。 さて、M氏は写真登場は勘弁ということなので、K氏とのショットになっています。 K氏がきているのは今SunWareで売っているものではなく、 以前に社内の自転車愛好家で作った時のものでメーカが違うためか色が濃いです。 また、写真ではわかりませんが、横に書いてある文字がK氏のは"Share"なのですが、 私のは"Innovation"ということでサンのスローガンの時代に合わせて変わっています (私は"Share"が「道をshare」してねという運動/かけ声がアメリカではあり、良いなと思っていたのですが)。


K氏はごらんの通りリカンベントに乗っておられます。 写真を撮ったのは246と鶴見川の交差する出発点から15分も走ったかな?位の場所にある ふるさと村というのんびりした感じのところです(なんか2,3時間かけて田舎まで走った気分になりました)。 走っている途中の人たちもそうだったのですが、ここにはほかにも観光客の方たちが訪れており、 リカンベントは人気者でした。 私もじっくり見るのは初めてで一度乗ってみたいよー!状態でした。
このリカンベントはまずペダルがSPDで、私のSPD-SLの靴では乗れないし、 普通の自転車と違ってサドル高さ調整に相当するものが面倒なのだそうです。 ということで今回はあきらめました。
さて、その後ものんびりとポタリング感覚で鶴見川の源流までいったり、 途中でゆっくりおいしいパン屋さんで昼をたべたり、 オーダーメードの自転車の制作販売をしている ケルビム さんによったりして、1日K氏の案内で楽しく過ごせました。 K氏は本当にこの地域をご存知でなんかツアーガイド付きのポタリングって感じでした。 走ったコースは、

です。 基本的にポタリングですからのんびり走っていたのですが、 鶴見川の源流を出たところにちょっとした坂がありK氏が先に行って上で待っててほしい (リカンベントは登りが不得意ですし、このリカンベントはツーリング用という感じで重そうです) ということだったので、M氏と2人で先に登ったのですが、あっさりぶっちぎられました。 私は普段練習の意味も含めてシッティング(たちこぎをしない)でしかこがないのですが、 いつの間にかダンシング(たちこぎ)をしない、になっていたのに気が付きました。 M氏が華麗にダンシングで登っていくのを見ていて、私もダンシングの練習をしようと思いました。

ところで、全然違う話なのですが、 普段乗り(通勤や買い物)兼、朝の激坂トレーニングに使っている自転車がかなりへたりました。 ディレイラーが調子悪いのですが、とうとう歯飛びがひどくなってきました。 調整したり(嘘、してもらいました)掃除をするとよくなるのですが、それでもかなり歯飛びします。 自転車屋さんに言われるとおり見てみてもやはりチェーンがのびている感じ、 これだとスプロケットも交換。 タイヤもひびは入ってきているしと、結構きています。 まだ部品は買えるようなので直して乗ることもできると思います、 次々と問題もでそう。 そろそろ変えどきかなー?と悩んでいます。 プジョーのメトロ、まだ10年はたっていないけど、普段からドロップハンドルほしいし....。

Posted at 08:53午後 11 06, 2008 by Akira Ohsone in 趣味  | 

月曜日 10 06, 2008
file system copy with zfs part 2

ファイルシステムの複写をZFSでおこなう - その2

前回は 全部メインメモリに入ってしまう結果でしたが、追加で入りきらないものを計測しました。 一つの結果に対して3回計測しており、全部終わるまでに74時間以上かかりました。 もちろん一発できれいに行かない(私のスクリプトがへくったのも含めて)ために、 今日までかかってしまいました。 マシンの構成は変わっていないのですが、読み込み側のZFSファイルシステムは StorageTek 3510FCというディスクアレイで、RAID5になっています。 計測方法は前回若干変えています。 まずread onlyですが、gtarの結果があまりにもはやいので不思議に思い、 /dev/nullを直接の出力に指定するのではなく、パイプでcatに繋いでから/dev/nullにおくりました。

gtarはもしかすると出力先によっては処理が違うのかな?と思える結果です。 直接/dev/nullで、パラレルgtarの結果は4分台でした。
もう一つは10台のディスクで組んであるRAID5からの読み込みの速度を少しでも上げるために、 tar/gtar/cpioを複数同時に起動するものもやってみました。 これは試験対象ファイルシステムのルートにあるファイルおよびディレクトリに対し一対の スクリプトを同時に実行するという形にしました。 各ディレクトリに含まれるファイルの数や大きさが必ずしも一致しないのですが、 かなり当初の目的は達成できたかなと思います。 今回の対象のファイルシステムは以下の通り158GBでメインメモリのほぼ2倍の容量です。
ファイルシステム サイズ 使用済み 使用可能 容量 マウント先 p1/tst 331G 158G 172G 48% /p1/tst

結果は:
read only copy
Real timeUser timeSys time Real timeUser timeSys time
tar 2:14:030:19:550:38:21 5:12:430:38:475:10:17
gtar 2:01:100:03:380:41:32 2:05:080:06:321:27:11
cpio 2:18:220:02:450:41:55 3:11:580:04:131:02:37
multi tar 0:56:440:23:410:47:22 1:50:090:45:438:45:35
multi gtar 0:53:320:05:030:55:18 0:54:490:07:141:40:36
multi cpio 0:57:460:04:220:57:37 2:02:380:08:022:02:38
zfs send/recv 1:39:010:00:020:31:49 1:51:500:00:041:14:57

なかなか興味深い結果だと思います。 手間をのぞくとzfs send/recvは必ずしも最も早い方法ではないことになります。 zfsはファイルシステムとしてかなり優秀だと思いますが、 zfs send/recvまではマルチスレッドホットになっていないと言うことでしょうね。

「マルチスレッドホット」という言葉最近聞きませんね。 Solaris 2.0開発時によく使っていた言葉で、"multi-thread unsafe", "multi-thread safe"と"multi-thread hot" と確か3種類あって、それぞれ、マルチスレッド環境下で使えない、マルチスレッド環境下で使える、 そして、マルチスレッド環境下でマルチスレッドであることを活かして早くなるということで、 システムの各コンポーネントをどれだけホットにできるかという課題に取り組んでいました。 man pageにMTの属性の説明がありますが、ホットは無いんですね。
但しこれは今回のようにCPUの個数に余裕がある場合ということになります。 実際multi tarの結果は実時間の4倍以上のCPU時間を使っている (4つ以上平行に走っていた)ことになり、 CPUもしくはCPUの個数に余裕が無ければ違う結果になっていたでしょう。 また、gtarとmulti gtarのread onlyとcopyの結果を見ると、実時間であまり差がありません (むしろcopyの方がはやいですが、計測誤差の範囲内でしょう)。 詳しく調べないとわかりませんが、zfsのwrite cache/bufferと、 6140Arrayのwrite cacheと、さらに全体の平行動作との組み合わせがうまく働き合い、 書き込みのオーバーヘッドが無いような結果になったのでしょうか? さらに、multiがこれほど効果的、特にgtarでの結果出たと言うことは、 zfsは複数のプロセスからの同時アクセスに対して効率よく処理できていると思われます。
ここまでくるとディレクトリを作るのがごとくばんばんファイルシステムを作れるzfsで、 ルートディレクトリ単位にファイルシステムを作って複数のzfs send/recvを走らせてみたくなりました。 が、さすがにそこまでは時間がとれないかなー.... ま、この方法が早かったとしても運用方法が変わってしまうのでそのまま比べられませんね。

Posted at 03:36午後 10 06, 2008 by Akira Ohsone in Solaris  | 

金曜日 9 26, 2008
file system copy with zfs

ファイルシステムの複写をZFSでおこなう

またしてもZFSを使ったちょっとした試験をしました。

私がこういう試験をするのは社内で利用しているシステムの更新をする時の、 実際の更新までの空いた時間でやっているので毎回違う構成になってしまいます。 今回のマシンも決して新しいマシンとは言えないのですが、もうすぐ実際の運用に回します。
今回はすでにZFSを使っていて、 マシン間や新しいディスクアレイに移行する時に どうやって行うが早いのかいろいろ試してみました。 ZFSどうしなら当然zfs send/zfs recvの組み合わせが思い浮かびますが、 果たしてどのくらい他の方法に比べて早いのか? また、zfs send/recv はリリース間の互換性を今のところ保証していないので、 将来的にマシン間ではできなくなる可能性もあります。 他の方法はtar/gtar/cpioをそれぞれ試してみました。

まずはハードウエアの構成ですが、

System : Sun Fire V1280 CPU Type : SUNW,UltraSPARC-III+ * 12 CPU MHz : 900MHz CPU 2nd Cache : 8MB Memory : 86GB Disk : 36GB * 3 Disk Array : StorageTek 6140
となり、サーバは少し古いですが、メモリはたっぷりです。 OSはSolaris 10 + patch です。 ディスクアレーは私のブログに登場する中では珍しく現在販売している最新機種です (^ ^)。 試験は36GBをZFSで3way mirrorにしたファイルシステムにおいてあるものを、 6140のRAID-5に複写するという形で行いました。 結果を見るとわかりますが、この構成の詳細はあまり重要ではありませんでした。 複写したファイルシステムはある製品のソースコードが入っているもので、 およそ 16GB の容量に32万個のファイル(ディレクトリをのぞく)が入っているものです。 16GBということで、このシステムのメインメモリーにキャッシュされると思われるので、 ディスクのI/Oはこのベンチマークにはほとんど影響されない予定です。

各方法の実行の仕方は、

tar EcfbB - 1024 . | (cd /${T} ; timex tar xfb - 1024) gtar cfbB - 1024 . | (cd /${T} ; timex gtar xfb - 1024) find . -print | cpio -ocC 524288 | (cd /${T} ; timex cpio -idmlC 524288 zfs send ${SP}@bench | timex zfs recv ${T}
の様になっております。 また、念のために読み込みだけの時間も計りました (上の例では書き込みのプロセスだけを計っていますが、 読み込み時は書き込み先を/dev/nullにして、読み込みのプロセスを計測しています)。

結果は:
read only copy
Real timeUser timeSys time Real timeUser timeSys time
tar 05:3404:1601:17 32:2206:1732:13
gtar 01:0600:1800:45 06:1800:4108:08
cpio 02:2100:2002:23 09:4700:4410:12
zfs send/recv 00:5600:0000:56 04:5000:0006:30

ある意味想定通りCPUで頭打ちになっています。 しかし、これほどtarが遅いとは思いませんでした。 というか、gtarって早いんですね。 zfs send/recvが勝ってはいますが、思いの外gtarと近かったです。 ディスクアレイへの書き込みに関しては、StorageTek 3510FCへの書き込み (しかも、RAID-5に使っているディスクの本数も違う)と比べて誤差ぐらいの差しかありませんでしたので、 関係なさそうです。 この中で実時間よりもCPU時間の長い物がありますが、 Solarisのカーネルがマルチスレッドで複数のCPUを効率よく使って結果だと 思っているのですが、確認していません。 とここまで書いて思ったのですが、このマシン、運用に回すまでまだ1,2週間あるので、 もっと大きな(メインメモリを超えるような)ものもやってみようと思います。

Posted at 07:58午後 9 26, 2008 by Akira Ohsone in Solaris  |  投稿されたコメント[2]

月曜日 8 25, 2008
Bicycle27 - Sun's SUGOI Classic Cycling Jersey

自転車27 - サンのサイクリング・ジャージ

Sun Wear というのができたのをご存知でしょうか? 以前は定番のサングッズ(ロゴ入りの様々なものでイベントなどで配る特注でないもの)は USのサンのオフィース内にあるSun Shopで買えたのですが、これが無くなった代わりに、 Webで買えるようになったものです。 自転車ネタでは SUGOI Classic Cycling Jersey という自転車用のジャージがあります。 ここに載るようになってすぐに社内の自転車メイリングリストで話題になり、 私も知ったのです。 Sun Wearに出ているのは絵なのですが、同じデザインで以前に作ったことがあると言うことで、 写真や(日本にたまたま持っている人がおり)実物も見せてもらいました。 さらに調べると以前に作った時とは違うメーカ(Sugoi)が作るので同じにはならないかも? また、私は知らなかったのですが、"Sugoi"は日本語の「凄い」にちなんだカナダのブランドだとか。 と、いろいろ話題豊富でした。

でもやっぱりこういうのは自分で着てみて意味があるでしょう、ということで、 注文を考えるのですが、日本から注文すると輸送費が高く倍くらいになってしまいます。

日本での重要が多ければ国内で買えるようになるかもしれませんけど、今のところはUSのみです。
そこで、日本サンの中で自転車好きの人に声をかけまくったところ、 私も入れて9人まで買いたいという人が集まりましたのでまとめ買いをしました。 これで1着8千円弱になりました。 実際のものを開けてきてみると、

上記リンク先にはもっと写真が載っています。 ジャージ単独よりも実際に着た方が感じがよいのですが、 モデル(私)がよくなかったようですね (^ ^;)。 ちなみに私(身長174cm,腰回り76cm)が着ているのは"S"サイズで、 着るのに少し苦労する(のびない)のですが、サイクルジャージとしてはちょうどくらいです。 "Sugoi"はいわゆるアメリカンサイズでも無いようなので、注文する時には注意が必要です。 写真は8/23の午前中にとっており、 そのまま二子玉から関戸橋まで多摩川サイクリングロードいつものように走り (といっても調布市の花火大会のために5km位迂回する羽目になりました)、 連光寺の坂を上り下りをして(雨が怖くて)すぐに帰ってきました。 結構目立ったのでしょうが、 天候のためか、あまり人はおりませんでした。 そのうちサンのジャージ軍団で安全・健康ミニ・ツーリングでもしてみたいです。

Posted at 04:52午後 8 25, 2008 by Akira Ohsone in 趣味  |  投稿されたコメント[8]

水曜日 8 13, 2008
Faster/Cheating installation method for OpenSolaris 2008.05 via network - Japanese

OpenSolaris 2008.05の導入をはやいけどインチキ?にネットワークを使って行う

先月 OpenSolaris 2008.05 を CD/DVDもnetworkも無い状態で導入 というのを書いておりますが、 その中で別の方法で導入できる気もするといっております。 今回はそれを試してみた結果です。 基本的には前回の導入方法を試みている時にZFSの柔軟性とそのパワフルさに感心し、 さらに大胆な別の方法でできるのではないかと考えました。 それは、"zfs send"でできるイメージを導入に使うというものです。 この方法を2台のマシンで試しており現在の所、 特に大きな問題もなく運用できています。 マシンはそれぞれ、SunのデスクトップマシンであるW1100z(AMD Opteron)と、 PanasonicのCF-W5(Intel Core2 Duo)というノートパソコンです。

英語で書いた時は"cheat"という言葉を使っていますが、 あまり良い意味ではありません。 まあ、インチキというかいい加減な方法であるということです。

OpenSolaris 2008.05の導入、とくに"All language"というバージョンの場合、 結構時間かかりますよね? ざっとCDからイメージを複写してる時間を計ってみると (つまりブート、構成している時間などを除いて)、 CF-W5(DRAM 1GB)でまるまる1時間以上、W1100z(DRAM 2GB)で40分以上かかります。 たかがCD一枚なのですが、圧縮の解凍に時間がかかっているようで、 ディスクとかCDドライブの時間よりもCPUに時間をとられているようです。 しかし、"zfs recv"はかなり効率が良く、高速です。 これが今回方法の思い立ったヒントです。

以下が今回のインチキなネットインストール方法です。

これが今回のインチキなネットインストールの方法です。 ここで、"zpool create"から最後の"umount /a"までの間で、 W1100zまたはCF-W5をSunのX4200サーバを使った環境で、 5分以内で終わります。 また、この作業を簡便にするためのスクリプトを ここ に載せておきました (5分いないの時間はこのスクリプトで計っています)。 ただし、スクリプト内のsshを使っているところを使う人の環境に合わせて直す必要があります。

マシンは大きな問題なくブートするはずですが、 いくつか修正する必要があるかもしれません。

これが現在わかっている点です。

もちろんこの方法によるOpenSolaris 20058.05の導入はSunがサポートする方法ではありませんし、 一台だけ導入するのであれば単に面倒なだけです。 しかし、試験のために何度も導入したり、多くのマシンを導入する際には、 高速で有効な方法だと思います。 実は"zfs send"のイメージをどこかにおこうかと思ったのですが、 2.6GBのサイズになり、 mediacast.sun.comだと500MBごとに切らないといけないのでやめてしまいました。

Posted at 08:21午後 8 13, 2008 by Akira Ohsone in OpenSolaris  | 

火曜日 8 12, 2008
Faster/Cheating installation method for OpenSolaris 2008.05 via network

Faster/Cheating installation method for OpenSolaris 2008.05 via network - English

When I wrote Installing OpenSolaris 2008.05 without CD/DVD nor network - English about month ago (already a month!), I mentioned about having new idea on installing OpenSolaris. Since ZFS are so much powerful and flexible, I thought I can cheat installation process by using the "zfs send" image. I have tried one desktop machine (Sun W1100z) and one notebook PC (Panasonic CF-W5), and so far found no major issues (but some).

When you install OpenSolaris 2008.05, especially "All language" version, it does takes while isn't it? Just measuring about CD image copy phase took more than full hour on CF-W5, and more than 40 minutes for W1100z. It is still just single CD, but compressed. For CF-W5, its more likely depend on the CPU speed than disk or CD drive. At same time, "zfs recv" seems to be efficient and fast, even on the notebook PC. This is where my idea came from.

Here is my cheat process:

This is basically the my cheat install process. Start from "zpool create" to "umount /a", it takes less than 5 minutes on both W1100z and CF-W5 using fast ethernet (not Giga) from Sun X4200 server. I also uploaded above as script at here. You have to modify the script for "ssh" command line.

System should boot fine, but there are few things need to be fixed.

This is the list of issue I came across so far.

Obviously this isn't supported way of installing OpenSolaris 2008.05, and if you are installing just one machine once, this isn't interested. But for the testing or need to install bunch of machine, this might help you. It is so much faster!.

Posted at 07:29午後 8 12, 2008 by Akira Ohsone in OpenSolaris  |  投稿されたコメント[2]

火曜日 7 29, 2008
Bicycle26 - Tateyama

自転車26 - 館山など

またしても自転車の話はしばらく書いていませんが、 またしてもほぼ毎週末乗ってはいました。 この間いろいろ走った中で変わったところに行き(特に海外)、 GPSで軌跡が残っているものを少しだけ書きます。

さて、それ以外ではいつもの多摩川サイクリングロードを使って、 連行寺の坂を登ったり、江ノ島、三浦半島いったりいろいろしています。 また、以前膝を痛めた風振峠もちゃんとリベンジしました (同じコースで旧料金所跡から都民の森まで足をつかずに登れました)。 最近は暑いので、午前中だけちょっとという日もありますけど。

Posted at 08:28午後 7 29, 2008 by Akira Ohsone in 趣味  |