Archive: 2011/02

今日はflybackのバックアップを整理するスクリプトを作った

flybackはとっても便利だ。少ない容量で大量の期間のバックアップを作成することができる。通常バックアップというと、フルバックアップと差分バックアップで、1週間に一度フル、毎日差分、となると、1週間(7日)のバックアップを維持しようとすると、バックアップ元の2.6倍くらいの容量を確保しておく(異論あるかもしれない。俺は職場でそんなふうに教えられた)ようなところが、同じ容量でより多くの、しかも完全なバックアップを持つことができる。 マイコミジャーナル:あのTime MachineをLinuxで? - バックアップツール「FlyBack」が登場 上の記事を読んでFlybackを使い始めてはや3、4年になるが、確かにより頻繁にバックアップでき、より長期間保存できる。今の所バックアップ元をホームディレクトリ(約3G)、バックアップ先を250Gに指定しているが、ほぼ15〜20ヶ月ほどの2時間ごとのバックアップにさかのぼることができる。しかもどの地点にも更新されていないものも含めて全てのファイルがあり、cpコマンドやtarコマンドなどで簡単にリストアすることができる。すごい。 ただ唯一の欠点は、過去のバックアップの削除は完全に手動になってしまう所。更新されていないファイルはハードリンクになるので、削除しても削除しても容量が減らず、どこまで削除していいかわからないので、今まではえいやで2、3ヶ月まとめて削除していた。ただFlybackのインスパイヤ元のTimemachineはその辺りも考慮されていて、過去のバックアップは適宜間引いて残すようにしている。過去1ヶ月のものは1日おき、それ以前は1週間おき、という感じに。 やっぱりFlybackでも同じことをしたいなあというのが動機。 で、作った。perlスクリプト(ダウンロード)。 注意事項:ある程度テストはしていますが完全に動作する保証はありません。あなたの大切なバックアップが消えても何ら責任は取れません。未実装の機能が若干あります。 cronから実行することを想定してます。コマンドパスはOpenIndiana想定なので環境に合わせて適宜変えていただきたい。Perlモジュールについては各自なんとかしていただきたい。Flyback使ってる人が何人いるのかわからないけど、誰かが便利だなあと思ってくれるとうれしい。

今日はHP MicroserverのIPMIデータをmuninで見れるようにした

この前の話の続き。

で、munin-nodeはプラグインでいろんな機能をつけているのでIPMIとかあるんじゃねとか思ったらデフォルトでプラグインが用意されている。がイマイチよくわかんないのでスルーして他のものを探す。ぐぐったらこんなページがあったので、設定もいろいろできそうだしこれでいこうと。先に書いておくと、スクリプトの中ではOpenIPMI使うように書いてあるが、OpenIndianaデフォルトのipmitoolでいけました。

まずモジュールをダウンロードして所定の場所におく(ウチの場合は/usr/local/munin/lib/plugins)。chmodで実行権限をつけておく。

1
2
# ls -l ipmitool_sensor_-v3
-rwxr-xr-x 1 root root 17026 2011-02-20 19:05 ipmitool_sensor_-v3

次に/usr/local/munin/etc/pluginsからシンボリックリンクを張る。こんな感じに。

1
2
3
# ls -l ipmitool_sensor_*
lrwxrwxrwx 1 root root 37 2011-02-20 19:12 ipmitool_sensor_fan -> ../../lib/plugins/ipmitool_sensor_-v3
lrwxrwxrwx 1 root root 37 2011-02-20 19:12 ipmitool_sensor_temp -> ../../lib/plugins/ipmitool_sensor_-v3

で、スクリプトのなかを見ながら設定ファイル(/usr/local/munin/etc/plugin-conf.d/munin-node)を書く。以下のような感じ。

1
2
3
4
[ipmitool_sensor*]
user root
timeout 20
env.ipmitool_options -I lanplus -H <IPMIのIPアドレス> -U admin -f /root/ipmipassword sensor

パスワードのファイル(/root/ipmipassword)にはIPMIにアクセスするためのパスワードが平文で入ってる

で、munin-nodeを再起動する。

1
2
3
4
# ps -ef|grep munin-node
 root 19046     1   0 19:35:14 ?           0:00 /usr/bin/perl -wT /usr/local/munin/sbin/munin-node
# kill 19046
# /usr/local/munin/sbin/munin-node

で、しばらく待ってるとグラフが出てくる。なんか出てこなかったらmunin-nodeのホスト上のログファイル(/var/log/munin/munin-node.logとか)を見て各自なんとかする。

Enjoy !

今日はHP Microserverにリモートマネジメントカードを追加した

最近家のサーバの状態をmuninで見始めた。いろいろなリソースの状況が見れてそれはそれでとても便利なのだが、ファイルサーバであるHP MicroserverについてはOSがOpenIndianaということもあってか勝手が違う。

※muninがどういうものかについてはここを参照。一言でいうと監視の中でも「リソース監視」をしてくれるプログラム。まだできてないけどSNMPとも連携できるらしい。出力のサンプルをアップロード(.mht形式)しておいた。こんなんを見るですよ。

特に欲しかったのはディスクや筐体の温度の情報だったのだけど、Linuxではlm-sensorsでさくっと取れるんだが、OpenIndianaでは取れない。いろいろ調べているとどうやらOpenIndiana(OpenSolaris系)ではそのへんはBCMやIPMIでなんとかせよ、ということであった。

ということで、HP DirectPlus(法人のお客様(従業員500名未満))でリモートマネジメントカードを購入。税込¥8,400でした。入金後1週間ほどで手元に来る。

開けると簡単な取付説明書(英語)、安全のしおり、カード本体が入っている。

ボードはこんな感じ。EthernetのコントローラがBroadcomのチップ、IPMIのコントローラとしてASpeed AST2150がついている(ここにそこはかとない不安を感じる・・・)。コネクタとしてはEthernetのコネクタと、VGAのコネクタがついている。

とりあえずこれでとりつけはできるんだけど、事前にMicroServerのUser’s Guide(PDF)とMaintenance and Service Guide(PDF)をダウンロードしておいた方がよい

じゃあMicroserverをシャットダウンする。

まず裏側のPCIブラケットを固定しているレバーを外す。絵で見るとなんかよくわかんなかったので動画で取っといた。レバーを外したら、マイナスドライバーを使って内側のPCIブラケットのねじを外し、ブラケットを引き抜く。

次に前面を開けて、ベースボードを引き出す。引き出し方はややこしいのでマニュアルを見ながら各自なんとかする。

ベースボードの内側のPCIスロットにマネジメントカードを取り付ける。

取り付けたらベースボードを筐体に入れる。入れ方もこれまたややこしい。各自知恵と勇気でなんとかすることを推奨するが、俺的コツとしては、(1)ベースボードを入れたら背面のコネクタの穴から指を入れて、ベースボードのUSBコネクタに引っ掛けながら気持ち持ち上げるようにして、各コネクタが穴から出るようにする(2)じわじわとボードを入れながらじわじわと各コネクタを接続していく(3)SASファンアウトコネクタは一見入ったように見えて入ってないややこしい(4)最後にベースボードのねじを締めるときはケーブルでねじを押さえたり引っかかってたりしてないか確認しながらやる、という感じです。

PCIブラケットのねじを締めて、レバーを元に戻す。

で、Ethernetケーブル2本、USBキーボード、VGAケーブルを「リモートマネジメントカード側に!!(超重要)」差して、電源ON。BIOSに入って”IPMI Configuration”を選ぶ。

IPアドレスを決めて、Save & Exitで保存する。

とりあえずOSは起動しているので、今度はIPMIを見ることをやる。使っているのはMacなので、どうやらSafari, Firefoxではブラウザの管理インターフェイスがうまく使えないらしい。Operaならメディア・リダイレクションを除いてうまく動くらしいのでOperaで先ほどBIOSで設定したIPアドレスを開く。

果たして上手く動いた。Remote KVMもとりあえずは動いているように見える。

じゃあ次はホストOSのOpenIndianaからセンサー情報を取ってみる。OpenIndianaにはipmitoolパッケージ(pkg:/system/ipmi/ipmitool)を入れておく。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
root@saba:~# ipmitool -I lanplus -H <リモートマネジメントカードのIPアドレス> -U admin sensor
Password: 
Watchdog         | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
CPU_THEMAL       | 34.000     | degrees C  | ok    | na        | na        | na        | 105.000   | 110.000   | na        
NB_THERMAL       | 36.000     | degrees C  | ok    | na        | na        | na        | 100.000   | 105.000   | na        
SEL Rate         | 1.000      | messages   | ok    | na        | na        | na        | 75.000    | 90.000    | 99.000    
AMBIENT_THERMAL  | 25.000     | degrees C  | ok    | na        | na        | na        | 40.000    | 45.000    | na        
EvtLogDisabled   | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
System Event     | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
SYS_FAN          | 1200.000   | RPM        | ok    | na        | 0.000     | 500.000   | na        | na        | na        
CPU Thermtrip    | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
Sys Pwr Monitor  | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na

次はこの情報をmunin-nodeに取り込めばいいんだけどここまで。 Enjoy Microserver!

GTK+ 3 IS HERE

GTK+ 3がめでたく2月10日にリリースされた!以下ブログの翻訳(俺訳なので誤訳あるかも。正確なのは原文をあたってね。訳文のカッコ、リンクは俺) GTK+ 3 が出た!

### GTK+ 3 のリリース

This marks the end of several years of work. It has been quite a journey, with some interesting turns and a few lessons learned. I may write about that another time. For now, I want to focus on the celebration.

この数年の作業の末に、GTK+ 3をリリースした。その間のいくつかの面白い展開、学習はまさに旅と呼ぶにふさわしい。それについてはまた別の機会に書こうと思うが、今はただリリースを喜びたい。

### GTK+ 3における新機能

The GTK+ 3 effort started out as a ‘big cleanup’ effort, but over time, we’ve added a number of noteworthy features

GTK+ 3に対する取り組みは「(GTK+ 2の)全面的なクリーンナップ」として開始したが、時を経るにつれ、私たちはいくつかの機能を付け加えていった。

  • Cairo drawing throughout. GDK no longer wraps the antiquated X11 drawing API; we’ve made a clean break and exclusively rely on cairo for all our drawing needs now. This has also enabled us to remove several other X11-centric concepts such as GCs, colormaps and pixmaps. The hero who did most of this work is Benjamin Otte (Red Hat).
  • Cairoが全ての描画を行う。GDKはもう古めかしいX11描画APIのラッパーではない。私たちはX11描画APIと決別し、Cairoに全ての描画を依存するようにした。これにより他のX11依存の機能、例えばGC(GDK Graphics Context)やカラーマップ、pixmapなども捨てることができる。Red HatのBenjamin Otteがほとんどの作業を行った英雄である。
  • Modern input device handling. The input device handling in GDK has long been a sadly neglected area (not least because most of the core GTK+ developers are not regular users of ‘exotic’ input devices). This has changed; with 3.0, GTK+ steps into the modern world of XI2 with full support for multiple pointers, keyboards and other gizmos. The person who deserves the credit for this is Carlos Garnacho (Lanedo).
  • モダンな入力デバイスのコントロール。GDKによる入力デバイスの制御は、悲しいことに長い間なおざりにされてきた(ほとんどのGTK+コアディベロッパーは’風変わり’な入力デバイスのユーザーではなかった)。しかしこの状況は変化した。GTK+ 3.0ではモダンなXI2(によるバックエンド)により、複数のポインタ、キーボード、その他のデバイスをサポートする。LanedoのCarlos Garnachoがこれに貢献した。
  • A new theming API which sports a familiar CSS syntax for theme configuration and other improvements such as animated state transitions. This is also largely the work of Carlos.
  • 新しいテーマAPI。CSSに似た設定と、状態変化時のアニメーションをサポート。こちらもCarlosによる貢献。
  • More flexible geometry management, with support for height-for-width, for both widgets and cell renderers. After an initial SoC project by Mathias Hasselmann, this feature was finally brought over the finish line by Tristan Van Berkom (Openismus), who is also maintaining glade and keeping it up-to-date for GTK+ 3.
  • より柔軟なジオメトリの制御。高さ、幅、ウィジェットとCell Renderer双方に適用可能。SoC(Google Summer of Code)におけるMathias Hasselmannのプロジェクトの後、OpenismusのTristan Van Berkomによって完成した。TristanはGlade(インターフェイスデザイナ)のGTK+ 3サポートメンテナでもある。
  • Multiple backend support for GDK. With GTK+ 2.x, you had to recompile your application to have it work with a different GDK backend, since GDK backends were separate libraries. In 3.0, multiple GDK backends can be built into a single library and selected at runtime. This will make it much easier to move from e.g. X11 to Wayland or from Quartz to X11.
  • GDKが複数のバックエンドをサポート。GTK+ 2.0ではGDKバックエンドが分離していたため、異なるGDKバックエンドを使用するにはアプリケーションをコンパイルし直す必要があったが、GTK+ 3.0ではGDKバックエンドは1つのライブラリになり、実行時に選択できるようになった。これによりX11からWaylandへの移行や、QuartzからX11への移行などがより容易になる。
  • Easy application support. With the integration of D-Bus support in GIO, we could finally add a GtkApplication class that handles a lot of the platform integration aspects of writing an application, such as keeping track of open windows, ensuring uniqueness, exporting actions, etc. This is still a bit of a work in progress, and will be expanded during the 3.x cycle. What we have now is there mainly thanks to the effort of Colin Walters (Red Hat) and Ryan Lortie (Codethink)
  • 容易なアプリケーションサポート。GIOD-Busサポートにより、多くのプラットフォームをサポートできるGtkApplicationクラスを追加した。これにより開かれているウィンドウやプロセスの管理、エクスポートをプラットフォーム非依存で管理することができる。作業はまだ継続中であるが今後の3.xリリースの中で拡張されていくであろう。Red HatのColin Walters、CodethinkのRyan Lortieに感謝したい。
  • Of course, there’s some new widgets as well, such as a switch and an application chooser.
  • もちろんスイッチ(GtkSwitch)やアプリケーションチューザー(GtkAppChooser)といった新しいウィジェットもある。 Calling out the heroes of GTK+ 3 like this is inherently a bit unfair to the hundreds of other contributors that we have, but it would be *really *unfair to not also mention Javier Jardón, who has been tirelessly working on the initial cleanup tasks, and has generally done a lot of the thankless janitorial work.

上記のGTK+ 3の英雄たちに言及することは、多くの他のコントリビューターに対して公平ではないかもしれないが、Javier Jardónに言及しないことはもっと公平ではないだろう。彼は初期のクリーンアップ作業を根気よく行い、(上手くやったとしても)感謝されることもない管理作業を紳士的に行った。

### 次にどうするか

As always, we didn’t achieve all the things that we wanted to get, and things have been left unfinished. So, in the near future, I expect us to complete the extended layout and theming work inside GTK+, and generally make sure that GTK+ 3 works well for GNOME 3.0. I also expect that will pick up the application support topic again and add some of the bells and whistles that are needed for GNOME 3 applications, such as jump list and application menu support.

いつもの通り、我々はやるべきことを全て終わらせた訳ではないし、達成できていないこともある。近い将来テーマに関する作業と、レイアウトに関する作業を終了するだろう。またGNOME 3.0に対してGTK+ 3が上手くあわせられるようにする作業もできるだろう。その後に、アプリケーションから見た場合にGtk+ 3に必要な事項に見極め、取り組むことになるだろう。例えばジャンプリストや、アプリケーションのメニューのサポート等がそれにあたる。

At the GTK+ hackfest in La Coruna last October, we had the chance to talk about more far-reaching changes like paint clocks, animation, windowless scrolling, capture/bubble event propagation, a Wayland backend, etc. We have been slacking off on turning these ideas into a roadmap for GTK+ beyond 3.0, but this is another topic that we will pick up again after the dust settles.

昨年10月にア・コルーニャで行われたGTK+ hackfestで私たちはより先のことについて話し合う機会があった。例えばペイントクロックや、アニメーションや、ウィンドウレスのスクロールや、イベントのキャプチャや伝播についてや、Waylandとの連携などである。これらの事項はGTK+ 3.0以降のロードマップには含まれていないが、(GTK+ 3のリリース、リリース後の作業などの)混乱が収まった後に、再度取り上げられるべきトピックである。

### GTK+ 2.xはどうなる?

As I said in my release announcement, 2.24 is the ‘final’ release of GTK+ 2.x. I expect to continue fixing bugs and doing occasional 2.24.x maintenance releases for many years to come. If the past is any guide, I will do this until retirement – after all, there are still people using GTK+ 1 applications…

リリースアナウンスメントの通り、2.24は「最終の」GTK+ 2.xリリースである。バグの修正や、それに伴う不定期の2.24.xのメンテナンス・リリースは今後数年に渡り発生するかもしれない。過去の経緯を見てもわかる通り、私はGTK+ 2.xのメンテナンスをそのリタイアまでやることになるだろう。世の中には今だGTK+ 1を使ったアプリケーションも存在しているのだ。

### どこで手に入れるか?

You can find the release in the usual place:

ftp://ftp.gtk.org/pub/gtk/3.0/ http://download.gnome.org/sources/gtk+/3.0/

The documentation is available online at:

http://library.gnome.org/devel/gtk3/3.0/

Note that these links might take a few hours to go live.

以下のページから手に入れることができる。

ftp://ftp.gtk.org/pub/gtk/3.0/ http://download.gnome.org/sources/gtk+/3.0/

ドキュメントについては以下を利用することができる

http://library.gnome.org/devel/gtk3/3.0/

おそらく上記のリンクはこの数時間で利用可能になるだろう

きょうは薑汁撞奶の作成に成功したのでレシピ書いて忘れないようにしておく

薑汁撞奶とはGinger Puddingで、牛乳をショウガで固めたプリン。まずこの動画を見るべし。 おもむろに期待がもりもり出てきた所で材料。 * しょうが1かけ(ちっちゃいのじゃない普通のやつ) * 成分無調整の牛乳 * 砂糖 * 黒密か、練乳 作り方にこつがいる。概ね上の動画の通りだけど若干違う。 2. まずしょうがをおろし器でおろす 4. お茶のこし器を使って汁を取る。(上の動画を参考に) 6. 次に牛乳をお鍋で暖める。弱火でぬるくなる程度でいい。砂糖と黒密or練乳を溶かす。黒密はプリン1こにつき大さじ3杯程度。これだと甘さが足りないと思うので、砂糖も入れる。牛乳は熱くしちゃだめ。(動画だと結構熱くしてるけど俺はこのやり方でめっちゃ失敗した) 8. しょうが汁をプリンにする器に入れる。大体コーヒーカップ1杯くらいでしょうが大さじ1杯ちょい。ちょっと多めにした方がいいかもしれない(入れすぎると辛くなるので注意)。しょうが汁は結構分離してしまうので入れる前に混ぜた方がいい。 10. 暖めた牛乳を器に入れる 12. 牛乳を入れたら蒸し器で10〜15分ほど蒸す。上の動画では蒸さなくてもいいようだけど、俺の場合は蒸さないと固まらなかった 14. 蒸し器から出して、ラップでふたをしたら室温で冷やす。手で持てるくらいになったら冷蔵庫へ。 食べるときは黒密or練乳をかけて食べるとうまいと思う。 Enjoy!