2012/12/20

UMPCは死んだのか?(5)

自己満記事、UMPC興亡記。
これこれの続き。

今回のお題は、
5.UMPCは復活するのか?
前回、UMPCというジャンルが事実上滅びるまでを書いたが、タブレットに駆逐されたUMPCが復活する可能性について、Windows 8タブレット、Atom Z2760を軸に考える。
いわば未来予想記事。当たってたら誰か褒めてほしい。

2012/12/11

ZFSで「マスターの無い共有ストレージ」は作れるか?


こんな記事がありました。

遠隔地のHDD内のデータを自動同期、クラウドストレージより高速に使用可能な「トランスポーター」とは?
http://gigazine.net/news/20121209-transporter/

どうやら、マスターとなるストレージが(ユーザから見て)存在せず、自動的に同期が行われるネットワークストレージみたいなものらしい。
普通のファイル共有はマスターとなるサーバーがあって、そのマシンがある場所以外からはネットワーク越しのアクセスになってしまうところを、この「トランスポーター」では全機器にローカルデータが

存在しているからアクセスが速いぜ、ということらしい。これは確かに嬉しい。
似たようなものとしてDropboxがあるけど、こっちだとずっと使用料払わなきゃならんしデータがマスターとなるDropboxに置かれるクラウドサービスだからなんか嫌だよねと。これもわかる。
自分も実際クラウドストレージとか便利なのはわかるけどなんか好きじゃない、という理由で自鯖立ち上げて外から繋いでいるわけだし。

で、(自称)ZFS教徒のb00tとしては「これZFS snapshotをうまくゴニョれば似たようなものができねーかな?」と思ってしまったわけだ。
もちろんこの「トランスポーター」をdisっているわけではなく、このサイズでオールGUIで設定できて同期できるネットワークストレージというものは市場には無いし価値があると思う。が、PC1台分のサイズ食ってオールCUIで同期できる偽物を作れるなら面白そう。

実際、「AppleのTimeMachine便利だわー」と思ってPC1台分のサイズでオールCUIでZFS rolling snapshot+send/recvを行うスクリプトを動かすTimeMachineの偽物を面白がって作っていたりする。まぁこれの話は別の機会に。

にしても、「ストレージ」と聞くとすぐ「ZFS!」と思ってしまうこの哀れな思考回路、別にZFS関係無く似たようなものが作れそうな気もするのでちょっと考えてみる。

・基本方針
物理的に離れたところにある2つのNASをマスター/スレーブの区別なく同期させる。
USB-HDDなどのローカルストレージとしなかったのは、ソフトウェアだけで実現するとなるとストレージを繋ぐ先のPCで何らかの同期スクリプトを走らせなければならず、クロスプラットフォームで動かすには厳しいから。NASならば、NASのOS構成を決めうちにしてその上でSamba/Netatalk等を動かせば良い。NASに対してLAN経由で繋げばGbEなのでローカルストレージに近い速度は出せる。マシンに一台ではなく(物理的な)一家に一台で良いし。というか自分はNASしか作れない。

とまぁそれなりに大規模なシステムになることが想定されるので、Dropboxでは厳しいTBクラスのストレージを同期させて、バックアップも兼ねるということを目標にする(じゃないと意味が無い)。

・双方向rsync
 「ストレージ」「同期」と聞いて誰もが(?)すぐ思いつくのはやっぱり大正義rsyncだろう。
ssh経由で動かすこともできるので遠隔地のマシンと同期を取ることも可能。
とは言ってもrsyncはA→Bの片方向同期(Aの更新をBに反映)しかできず、Bの更新をAに反映するにはA側だけではなくB側でもrsyncを動かす必要がある。この点はZFS snapshotも同じことではあるが。
双方向で--updateと--deleteオプション付きでrsync動かせばできそうな気がする。
また、lsyncを使って更新チェックすればほぼリアルタイムで同期が行えそう。

Unison
異なるコンピュータ間の同期ツールとしてUnisonがある。最初から双方向同期をするためのツールとして開発されているので、rsyncを双方で動かすとかよりもトラブルが起きにくそう。一方、lsyncみたいなツールはないので自動同期を行うにはcronとかで定期実行する必要がある。

・ZFS snapshot
ZFS本来の機能として備わっているのはsnapshot生成機能とsnapshotのsend/recvによる転送機能(sshは経由できる)だけである。というわけで同期スクリプトは自前で作る必要がある。

まずは任意の1台でsnapshotを生成し、それを各マシンへsendによってコピーして全てのマシンに共通のsnapshotを持たせることから始める。
次に全マシンでcronを動かし同時刻にsnapshotを生成し、一番前回との差分が大きいsnapshotをマスターとして他のマシンにsendする(他のマシンのsnapshotは上書きされる)という感じだろうか。「一番前回との差分が大きいsnapshotを調べる」という動作をどのマシンがやるかという問題はあるが(1台に固定するとマスターが存在することになってしまう)。
この方法だと、前のsnapshotを生成してから同期を行うまでの間に複数のマシンでデータが更新されると、更新したデータ量が少ないsnapshotは問答無用で消されるという問題がある。
inotifyあたりを上手く使って、ファイル更新に合わせてsnapshot生成が動けばほとんど回避できる気はする。
ZFSを使うメリットとしては、古いsnapshotを即時削除しなければ世代バックアップもついでに行えるという点だろうか。

とまぁちょっと(本当にちょっと)調べた限りだと双方向rsyncが安定して動くなら一番便利そうではある。次点はUnisonだろうか。ZFSはsnapshot同期で安定しなさそう、双方で編集してた場合にデータが保全される保証がない、など一番イケてないように思える。そりゃそうだ。rsyncとUnisonは同期のために設計されたちゃんとしたツールだし、一方ZFSの方は思いつきで考えた方法を書いただけだ。

というわけで実際に「トランスポーターもどき」を作ろうと思ったらZFSを利用してというのは選択肢に入らない。が、「rsyncで双方向同期!」なんて普通にやられてる(「rsync 双方向」でググれば色々出てくる)し、rsync素人の自分が導入してみました、じゃネタにもならない。Unisonも同じく。

なのでZFSで遊んでみよう。でもってrsyncやUnisonと比べてみる。検証してるフリして結論ありきだなオイ!
まぁ、UMPC話もZEVO検証もオチまで辿り着いてないのにブログネタ増やしても仕方ないんだが・・・


あとがき inotifyについて
この手の同期を行う上でキモとなるのがファイル更新検知である。これができないとcronで定期チェックとかになってしまうが、cronを用いずにファイル更新検知による動作ができるならコンフリクトの可能性はかなり減らせる。大人数でガンガン編集する共有領域ならそれでも問題となるが、個人で拠点毎にそれぞれストレージを置くならコンフリクトはまず起きなくなるはず。

rsyncの場合、lsyncdを使えばそれが実現できるが、他のツールに転用はどうやら無理そう。
lsyncdが使ってるのはinotifyというLinuxのイベント監視機能なので、UnisonやZFSでファイル更新検知を実現するならinotifyの機能を使おうということになる(多分)。

で、inotifyを使うツールとなると何やら色々存在する。inotify-tools、incron、fsniper、gamin・・・名前的に用途に一番近そうなのはincronだが、なんだかよくわからないので調べたり試す必要がありそうである。

2012/12/08

UMPCは死んだのか?(2)+(3)+(4)

単なる自己満記事、UMPC興亡記の続き。
前回はこちら

前フリだけで終わった前回の反省を生かし?今回は、
2.第1世代UMPC・Intel Ultra Mobile Platformの登場
→Atom登場前夜、Intel Ultra Mobile Platform 2007によって登場したA100/A110搭載UMPCのお話
3.第2世代UMPC・Atom登場
→UMPC全盛期?Atom Z5xx系を搭載したUMPCのお話
4.第3世代UMPC・UMPCの死
→一気に尻すぼみとなったAtom Z6xx世代UMPCのお話
をまとめて。

2012/12/03

UMPCは死んだのか?タブレット時代のウルトラモバイルを考える。(1)

UMPC、という言葉を知っているだろうか。Ultra Mobile PC、つまり一般的なノートPCより小型でモバイルに最適化されたPCのことである。
かつて流行ったネットブックや今流行りのUltrabookよりももっとモバイルに特化した小型PC。
ネットブックを「かつて流行った」と称したが、UMPCもネットブックに前後して登場し、
ネットブックほどではないがそこそこ流行し、またネットブックと同じように過去の存在となった。

今回は、私b00tの大好きな「UMPC」というカテゴリの成立と衰退を振り返り、
また今後のUMPC復権の可能性について考える。
ちなみに、UMPCというカテゴリの捉え方、何がUMPCであって何がUMPCで無いかというところは、かなり自分自身の主観に依存しているので、人によっては同意しかねる点が大いにあると思いますがご了承を。

案の定長くなってしまったのでまた章立ててページ分けである。
全体としては
1.第0世代UMPCとOrigami(この記事後半部分)
2.第1世代UMPC・Intel Ultra Mobile Platformの登場
3.第2世代UMPC・Atom登場
4.第3世代UMPC・UMPCの死
5.UMPCは復活するのか?
の5本から構成されている(長っ)。
というわけでこのページは目次にしようそうしよう。

2012/11/20

IS01の未来で悩む。

IS01祭りってご存じでしょうか・・・
ちゃんと説明する気は無いので省略しますが、auのIS01というAndroid端末が数百円程度(端末代込み)で2年間使える、というキャンペーンが過去にありました。あ、もちろんWiFi専用で使った場合だけど。

というわけで必要でも無いのに勢いで買ったはいいものの、普段はiPhone、文字打ちはUMPCだった自分がWiFi専用でAndroid1.6から(普通には)アップデートもできないIS01を使うはずもなく・・・この前の記事でNexus 7を「初Android」と称してしまうレベルで存在を忘れてました。マジで忘れてました。

で、そんなIS01の存在を思い出したのは、今月が2年縛りの解約月だから。今月より前だと1万円取られ、来月からは通常の月額使用料を取られるので今月に解約しないと数百円運用が完結しない。(って、もうあと10日しかないじゃん!)

思い出したのでガジェット死体置き場と化している棚の奥からIS01を引っ張り出して、「そういやiPhone 5でテザリング使えるようになったしなんか活かせないかな」とIS01で色々ググってたのだが、なにやらMNPで色々楽しめるらしい。
要は単純な解約代わりにIS01をMNPして新たなガジェットを安くゲット!ということらしい。MNPする以上IS01である必要はないんだが、解約するならついでにMNP弾として使えばお得だとか。これで「MNP弾」という言葉を初めて知ったよ私は。

かの杉内俊哉投手が言ったように、携帯は機種変より新規がお得、MNPは更にお得ということで、DoCoMoあたりのMNPキャッシュバックが激しいキャリアで投げ売りされている機種を一括購入すればIS01並とはいかなくても相当低いランニングコストでオモチャが買えそう。

ちなみに、(実質○円ではない本来の)端末代が0円かそれに近い激安の端末を買って即解約してキャッシュバックと諸々の手数料の差額をゲットという荒業も存在するそうで。そこまでやる勇気は無いけど・・・

というわけで、何買おうかな〜などと悩んでおります。必要だから買う、じゃなくてお得だから買うとか、IS01買った時から何も成長してないな。ま、まぁ、MacBook Airで何一つ不自由してないのにどうしても欲しくなっちゃってVAIO Duo買うのに比べれば全然。