2010年2月1日月曜日

いんふらエンジニアのなんとかかんとか

WakameTech #1 行ってきたエントリで少し触れたのだけど、インフラエンジニアを「データセンターに関わる人」とするとして、

企業の半数がデータセンターの人材不足を指摘---Symantecの調査

ということもあるのだよねぇ。

# スラドの記事経由で、再度見た。
# http://slashdot.jp/it/10/02/01/0919210.shtml

2010年1月31日日曜日

B+木

B+木

とりあえずここに目を通してみる

WakameTech #1 へ行ってきた



WakemeTech #1 へ行ってきた。wakame については多少の予備知識があるのでほとんどちゃんとしたメモをとってなかったり、ブログ検索したら詳しく書いているひとがいたけれど、かいておこう。まとまりは無い。

# スライドは公開されるようなので、WakameTech のつぶやきを待つ。

17:00 ご挨拶/オープニング - 担当:山崎 (@sparklegate)

17:10 IaaS型クラウドのまとめ - 担当:山崎 (@sparklegate)
・EC2 + Wakame => 便利ではある
・現行の欠点
・レスポンス、レイテンシ
・複雑(止めるとデータ無くなる、とか)
・決済方法

代表的なもの
・Amazon EC2 -> 超有名
・Softlayer -> シンプルらしい(Dropbox でつかわれてたりする)

人間が関与しないようにする
・利用者からプログラマブルである -> API をたたけばおk、という具合に
・iDC が自動化、極力人間が関与しない

不思議ワード
・Public/Private cloud

private の夢想
・eucalyptus

オープンソース実装
・eucalyptus
・OpenNebula

ユーカリの功罪(?)
・元々学術向け
・プレ試験環境として使うのが合ってる?

OpenNebula
・グリッドコンピューティング系

ほか
・Enomay -> 住商がやってる(た)?
・Nimbus -> 謎

日本では
・Nifty Cloud
・・VMWare
・・法人向け
・・本格的IaaS
(このあとしばしメモなし)

Wakame
・Master - Agent 型非同期式実行エンジン(だったかな、なんか長かった)
・イベンドドリブン
・マルチスレッド

・Action というワークフローを作成
・シーケンシャルに記述
・複数の Action をパラレルに実行できる

・アプリケーションがスケールすんじゃなくて、インフラがスケール(アウト)するのだよ

・事例
・広告集配信システム
・大手家電のファームウェア配信

17:50 IaaS型クラウドの肝を作る - 担当:登尾 (@tnoborio)
API
・ActiveResource (Rails で使われてる例のやつ)経由
・Sinatra を利用

クライアント <-> DCM <-> HVC
DCM ... DataCenterManager
HVC ... HyperVisorController
だったかな・・・用語のまとめページあればいいな。。
あとなんかあった。

インスタンスの割り当て
・集中型/分散型
・集中型 ... 順に使う
・分散型 ... 位置情報(ネット、電源、場所)からポイント付けで低いものから

今後
・IPアドレスの管理
・権限
・課金

18:20 CloneZillaで増えるハイパーバイザ運用 - 担当:岩野 (@i_tune)
Clonezilla ... NCHCてとこが作ってる
・バックアップ、リストアツール
・ドライブ、パーテーション単位でバックアップ NTFS、ext2,3、LVM他対応
-> あとで軽くしらべたところ、 *BSD 系のファイルシステム対応は全くないっぽい
・イメージファイルで保存できる
・イメージを複数マシンに展開できる

・Kickstart v. Clonezilla
・ともにPXEBootである
・kickstart はブート後インストールだから時間かかるよ
・clonezilla はイメージを展開するだけだから速いよ

セットアップの仕方がよくわからなかった。。少なくとも、CentOS だと標準のパッケージでは足りないくらい。
NCHC のサイトみろってことだな。

18:30 IaaS型クラウド簡易デモンストレーション - 担当:三上 (@saicologic)
デモのときは文字サイズが重要。
ぬるぬると起動してた

18:50 クラウド活用事例:clomoの紹介とデモンストレーション - 担当:i3-systems 秋間様(@akm2000) 宮島様(@miyazima)
・アイキューブドシステム(9Arrows 等)
・clomo と Wakame の組み合わせで利用
・ファームウェア配信のサーバ群で使われてるらしい

19:05 ディスカッション 〜 クロージング
とくにメモとらず


んー、なんだか聞いても聞いてもボンヤリしてるのはなんでなんだろうな・・・。とうとう専門用語についていけなくなったのかなーと思ったけどそんなこたーないな。
ただ単に高度すぎて、自分の理解がついていけないだけなのだろう。

ネタによっては、技術的話のあとにデモ、事例をを聞くよりも、デモ、事例のあとに「こんなんなってるんだよーん」というのを聞いたほうが自分は理解しやすいのかもなぁ・・・。
インフラエンジニアの仕事がうんぬん、という話は長年やってるベテランの意見をきいてみたいよなぁ。(インフラエンジニアの括りがそもそも、、、という話はあるけれど・・・)餅は餅屋だよね。

あと、Wakame を誰かが Python で書き直せば(Wakeme は Ruby で書かれてる)、 Waka.py -> ワカパイ だなー、などとアホなことを考えていたのだった。。

Michael Neumann というひとの HAMMER プレゼン資料

New HAMMER presentation

こんなかんじ、か?
---
特長として、(outstanding てこの場合「優れた」の意か)
・細粒度の自動スナップショット
・マスタ - マルチスレーブのレプリケーション

細粒度の自動スナップショット
・ディスクへフラッシュするたび(30秒毎)に新しいバージョンのファイルシステムを作成
・明示的に伝えない限り、データがなくなるこたーない
・アンドゥで古いバージョンのファイルを復元できる
・ファイルは @@トランザクションID 付きのファイル名でアクセスできる

マスタ - スレーブ レプリケーション
・マスタのファイルシステムは段階的にローカル、リモート(ssh経由で)のレプリケーションを 1つ以上の read-only なスレーブに対して可能
masterhost> hammer pfs-master /www # create master filesystem
masterhost> hammer -b 100k mirror-stream /www slavehost:/www &
slavehost> hammer -b 1m mirror-stream masterhost:/www /www &
・mirror-stream はバックグラウンドで動いて、なんか起きたらすぐに変更部分が転送される

(デモのスライド)
You --[upload]--> Server --[replication in real-time]--> notebookMachine

B+木が図示されてる. 9枚. ひとまず割愛。(すぐにはよくわからん・・)

DragonFly の究極の目標
・Single-System-Image Clustering
・クラスタのマシン群が「ひとつのシステム」に
・一つのプロセス空間
・一つのファイルシステムとして見える

(これはプロジェクト開始時からの目標のはず。過去の Matthew Dillon のインタビュー記事にもあった。個人的には、これができたらクラウド(?) 環境にもいいんじゃね、な気がしてる。できたときにはクラウドが死語になってるかな・・)

一つのファイルシステム(従来の
・Central Networked File System
・SPOF
・スケールしないぜ
                  +---- [Machine]
|
[Central NFS] ----+---- [Machine]
|
+---- [Machine]

一つのファイルシステム(HAMMER の場合
・マスタ - スレーブ でレプリケートされたファイルシステム
・(今の)HAMMER はこれ
・ホントの Single System Image な操作はできない
    +------------+------------+
| | |
Master(r/w) Slave(r/o) Slave(r/o)

一つのファイルシステム(未来のHAMMER の場合
・マルチマスタでレプリケートされたファイルシステム
・スケーラブルかつ耐障害性
・キャッシュの一貫性を管理するシステム (Cache Coherency Management System: CCMS) の実装は容易
・HAMMER は将来これをサポートするために設計された!
                CCMS
+------------+------------+
| | |
Master(r/w) Master(r/w) Master(r/w)

文献
http://kerneltrap.org/HAMMER
http://www.dragonflybsd.org/hammer/
---

Backup Slides は略

B+木について簡単に解説してあるサイト探して見てみたい。

2010年1月30日土曜日

clip したものを python でケシケシ - その後

前回のつづき。

寝ておきて見てみると、clip 数が 330 になってから、減らない・・・。スクリプトを再度実行するも、やはり処理は終わってると思われ、

200 OK
<result code="something went wrong" />

と。 code="done" にならない。ログアウトしてしばし放置したあとログインしてみても、減らない。
残り 330 を刺身タンポポ的にちくちくとブラウザから消してみると消えた。うーん・・・?
(それでも Safari だからか一括削除がきかなかった・・・ )

全削除後 0 というのものなんなので FreeBSD Handbook を clip しておいて、完了。

どうでもいいけど、「エキソンパイ」って python を連想してしまうな・・

2010年1月28日木曜日

DragonFly - hammer version-upgrade

VMware Fusion 上で、DragonFly を / 領域を hammer にして利用。(/boot は ufs)
hammer コマンドをぺちぺち叩いていたらバージョンが確認でき、バージョンアップもできるようなのでいざ実行。
(バージョン 2 -> バージョン 3 へ。あまりよくわかってない)

% hammer version /
min=1 wip=5 max=4 current=2 description="New directory entry layout (DragonFly 2.3+)"
available versions:
1 NORM First HAMMER release (DragonFly 2.0+)
2 NORM New directory entry layout (DragonFly 2.3+)
3 NORM New snapshot management (DragonFly 2.5+)
4 NORM New undo/flush, faster flush/sync (DragonFly 2.5+)
% hammer version-upgrade / 3
hammer version-upgrade ioctl: Operation not permitted
% sudo hammer version-upgrade / 3
Password:
hammer version-upgrade: succeeded
NOTE! Please run 'hammer cleanup' to convert the
/snapshots directories to the new meta-data
format. Once converted configuration data will
no longer resides in /snapshots and you can
even rm -rf it entirely if you want.

言われたとおりに cleanup を実行

% sudo hammer cleanup
cleanup / -(migrating) (6 snapshots)index 6
HAMMER UPGRADE: Moving snapshots
Moving snapshots from /snapshots to /var/hammer/root
handle PFS #0 using /var/hammer/root
snapshots - run
prune - run
rebalance - run..
reblock - run....
recopy - skip
cleanup /var -(migrating) (6 snapshots)index 6
HAMMER UPGRADE: Moving snapshots
Moving snapshots from /var/snapshots to /var/hammer/var
handle PFS #1 using /var/hammer/var
snapshots - run
prune - run
rebalance - run..
reblock - run....
recopy - skip
cleanup /tmp -(migrating) HAMMER UPGRADE: Moving snapshots
Moving snapshots from /tmp/snapshots to /var/hammer/tmp
handle PFS #2 using /var/hammer/tmp
snapshots - disabled
prune - run
rebalance - run..
reblock - run....
recopy - skip
cleanup /usr -(migrating) (6 snapshots)index 6
HAMMER UPGRADE: Moving snapshots
Moving snapshots from /usr/snapshots to /var/hammer/usr
handle PFS #3 using /var/hammer/usr
snapshots - run
prune - run

(snip)

% hammer version /
min=1 wip=5 max=4 current=3 description="New snapshot management (DragonFly 2.5+)"
available versions:
1 NORM First HAMMER release (DragonFly 2.0+)
2 NORM New directory entry layout (DragonFly 2.3+)
3 NORM New snapshot management (DragonFly 2.5+)
4 NORM New undo/flush, faster flush/sync (DragonFly 2.5+)

無事に完了した。

負荷がそれなりにかかっている、実サービスしているような環境下で実行した場合にも問題なくできるのかな。

2010年1月24日日曜日

rvm と rvm

複数の Ruby を切り替えられるようにする、rvm というものがあるみたい。

複数のRubyを切り替えて使いこなす「rvm」
rvm: Ruby Version Manager

MacPorts にあるのかなー、と思ってみてみたら、全く別物だった。。。
% port search --regex ^rvm
rvm @0.90.1-beta (sysutils, net)
archive manager to manage backups of multiple clients

% port info rvm
rvm @0.90.1-beta (sysutils, net)
Variants: universal

Description: The Rsync Vault Manager is an archive manager that uses rsync
to manage backups of multiple clients across multiple logical
partitions (vaults).
Homepage: http://rvm.sourceforge.net/

Library Dependencies: rsync
Platforms: darwin
License: unknown
Maintainers: nomaintainer@macports.org