VIVER
VIVER 1.0をリリースしました! http://viver.sourceforge.jp/ LinuxをVIVER化する USBメモリやHDDに差分を残す USBメモリにVIVERを入れて持ち運ぶ デモディスクをダウンロード 今回のデモディスクは、VRRPを使ってHTTPサーバーを自動的に冗長化する、という…
メモじゃないエントリは余り無い。書き込み可能な分散ブロックデバイスを作る。OCFS2を併用。 たとえばこんなデータ。 0123456789012345 ***** * *** ---------------- n1 ** * n2 **** n3 ** * * n4 **** n5 *** nがノードで、*がデータ(のブロックかもし…
V-FIELDの通信分散は実装完了。結局全部線形検索で。次は、多数のマシンが一斉に起動したときにJoinで通信量が大変なことになってしまうので、Joinには帯域制限が必要。 帯域制限と言うのもどうやったら良いかよくわからない…。read()とread()の間にsleep()…
困った…とても困った…P2P分散ディスク共有システムのV-FIELDですが、一番最初に起動したノードに負荷が集中してしまうと言う問題があります。これを解決したいのですが、まったく方法が思いつかない…。 原因は、ダウンロードしたいデータを、どのノードが持…
ブート成功。ネットワークブートもOK。(ただしその後カーネルパニック) 本日(日付的には昨日)をもってVIVER 1.0を1週間で書こうプロジェクト終了。まだできていない部分: カーネル どうもVIVER 0.3のカーネル(linux-2.6.18.2-viver23)では、switch_roo…
ブートパラメータのパース 実装完了。名前空間サポート付き。 ディレクトリツリーの構築処理 実装完了。Squashfsで圧縮したカーネルモジュールディスクのマウントと、最後まで持ち運ぶtmpfsのマウント&mknod。例外処理完備。(例外なんて起こらないはずだけ…
まずアクセス権限と安全性について。 普通に考えると、分散ファイルシステムで読み取り禁止を実現するには、データを暗号化しないといけなくなる。POSIXなアクセス制限はファイル(とディレクトリ)ごとに設定するするから、ファイルごとに鍵を変えないとい…
↑のアイディアを閃く前の話↓昨日のエントリに書いたRUNESの話で、メッセージの送受と高信頼性マルチキャストは、間違いなく実現可能。メッセージの送受は単にRUNESをデーモンとして動かすだけで良くて、後はプラグインがメッセージを受け取るインターフェー…
ちょっとひらめいた。 基本的なアイディアは、プライマリノードとセカンダリノードがまったく同じデータを持っていて、プライマリが落ちたときにセカンダリがプライマリに昇格するというごく普通なもの。ただし、プライマリが落ちたとき、プライマリでもセカ…
現在次期VIVERを書いています。1ヶ月あればできる予定。 メディア優先順位付きディスクイメージ発見 ディスクイメージを探すとき、すべてのメディアから探すので、CDからディスクイメージをコピーしておくだけでHDDからでもブートできるのですが、CDとHDDの…
VIVER 0.3 をリリースしました!http://viver.sourceforge.jp/すべてが新しくなっています。Webサイトも新しくなっています。 1台のコンピュータをCDやメモリーカードから起動 多数のコンピュータをネットワークブート ディスクレスで動作 ハードウェア自動…
準備中。 今回は「VIVER化キット」を公開します。と言うより基本はVIVER化キットだけで、他はデモという位置付けです。あなたのLinuxもこれで一発ディスクレスブート!…と、うまくいけば良いんですが。 いや、いくハズ。 あと、ディスクレスブートしただけで…
Squashfsで圧縮アルゴリズムにLZMAを使うプロジェクトがあった。 http://www.squashfs-lzma.org/ パッチの作者は日本人の方である模様。 aufsの作者と同一人物? http://aufs.sourceforge.net/ ところでこのパッチをVIVERに使うか否かですが、かなり微妙。ま…
未踏ユース最終報告書作成中。 EtherBootはTFTPだけではなく、NFSやHTTPまでサポートしているらしい。 http://www.etherboot.org/wiki/aoe それからPXEを使わないで、LinuxカーネルやFreeBSDを直接ロードすることもできるらしい。initrdも使える。 DNSで名前…
VIVERサイトは実は全部Wikiなので、テキトーにカバーできる感じで
適用時に設定されている環境変数 RUNES Interface VIVERブートプラグインの説明 実際に何かのプラグインを作るまでをチュートリアル風に書くと完璧か
ロールとプラグインの関係 プラグインの構造 メタデータの書式
基本パラメータ:bootstrap=, role= ネットワークパラメータ:staticip=, ハードウェアパラメータ:nopccard, nousb, ..., modprobe= Copy-on-Writeパラメータ:ramsize=, shadow= V-FIELDパラメータ:store=, join_delay=, max_connection= デバッグパラメ…
PXEの設定方法 BIOSの画面を交えつつ EtherBoot
インストール済みのLinuxシステムにVIVERをインストールしてVIVERizeする方法。 カーネルモジュールのインストール RUNESのインストール VIVERブートプラグインをインストール GUIディスクイメージ作成ツールの使い方 ブートローダの設定(bootsuiteのカスタ…
一つ一つ節を分ける。 図解ネットワークブート Copy-on-WriteでRAMに差分を保存 落ちない仕組み プラグインシステム(RUNES)の仕組み 目次を示す
VIVERとは?と章を分けるか否か。分けた方が良いと思う。 デモシステムをダウンロードしてくれは難しいので、ムービーで 最初のマシンにCD、後のマシンは電源を入れていくだけで劇的に起動していくデモ 起動するだけでファイル共有されている、起動するだけ…
VIVERって何なんだろうな…一言で言えない。「誰かを感じる」みたいなキャッチフレーズがあるといいなぁ。 「VIVERは統合ディスクレスネットワーク基盤システムです」というのはなかなか言い得ているのではないかと思うけど、これだけ見てもサッパリ分からな…
ドキュメントのないソフトウェアは使えないということは分かっていても、これがなかなか難しい。 ということでブログにひたすら説明すべき(したい)内容をブレインストーミング的に列挙して、後でまとめるというのが良いのでは無かろうか。 では早速。
だいぶ日記がご無沙汰になってしまった。月記だ。でも日記に反して開発はとても順調。分散ディスク共有の実装が完了した。 動作も安定していて、マシンの台数とメモリ容量が十分にあれば最初の一台が落ちても問題なく走りつづける。素晴らしい。 性能も十分…
一昨日、PMの筧先生がいらっしゃいました。場所も場所で、楽しく今後の展望などなどを聞いていただきました。 というわけで、どんどん開発を進めるわけです。 ここのところ日記をさぼっていたのですが、開発が止まっていたわけではなく。 今作っているのは、…
RUNESのウェブリポジトリに置くデータベースファイルのデータ構造を設計する →完了。同時にバンドルのメタデータの書式もたぶん変える。 RUNES Managerの設計 →進行中。 linux-2.6.18.1-viver20のVIVERをテスト(実機) →テストしたら動かなかったので、linu…
RUNESのウェブリポジトリに置くデータベースファイルのデータ構造を設計する RUNES Managerの設計 linux-2.6.18.1-viver20のVIVERをテスト(実機) PC Cardの自動検出機能を実装(実機) IEEE13694の自動検出機能をテスト(実機) RUNESのデータベースファイ…
どうやらこの日記はKeep-aliveになっている模様。 というわけで現在のVIVERの進捗状況と今後の計画などを。 まず、開発用のメインマシンのBIOSがトンだ…。現在パーツ待ち。 ついでにと言うか何というか、メモリがさっぱり足らないので増加。そしてついに仮想…
微妙に設計が完了していないものの、とりあえず固まった所から実装開始。 まずはメタデータ(XML)のパース部分。 結局XMLパーサはparsifalを使うことに。 parsifalはCで書かれたSAXなので、こってりとしたイベント駆動型コードになること必定。C++なラッパ…