<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>旧SawanoBlog. &#187; OpenSource</title>
	<atom:link href="http://sawano.members.icraft.jp/wp/category/opensource/feed" rel="self" type="application/rss+xml" />
	<link>http://sawano.members.icraft.jp/wp</link>
	<description>アイクラフト(神戸)のITエンジニアさんが色々していたブログ</description>
	<lastBuildDate>Wed, 23 Jun 2010 03:17:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ZFS、デバイスの用途をまとめ。それとTIPS。</title>
		<link>http://sawano.members.icraft.jp/wp/2010/06/03/1697.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/06/03/1697.html#comments</comments>
		<pubDate>Wed, 02 Jun 2010 16:24:18 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1697</guid>
		<description><![CDATA[ZFSでzpoolを作成するとき、各デバイスまたはファイルに3種類の役割がある。
データ用、キャッシュ用、ログ用とあるが、zpool構成するときにそれぞれどのように使えるかまとめてみた。
&#160;
検証に使ったのは取 [...]]]></description>
			<content:encoded><![CDATA[<p>ZFSでzpoolを作成するとき、各デバイスまたはファイルに3種類の役割がある。<br />
データ用、キャッシュ用、ログ用とあるが、zpool構成するときにそれぞれどのように使えるかまとめてみた。<br />
&nbsp;</p>
<p>検証に使ったのは取ったのはOpenSolarisのb131、zpoolバージョンは22だ。<br />
&nbsp;</p>
<h2>デバイスの用途と構成・特徴一覧</h2>
<p>ざっとこうなる。<br />
&nbsp;</p>
<table border=1>
<tr>
<th>zpool形式</th>
<th>data</th>
<th>cache</th>
<th>log</th>
</tr>
<tr>
<td>スパン</td>
<td>○</td>
<td>○</td>
<td>○</td>
</tr>
<tr>
<td>ミラー</td>
<td>○</td>
<td>×</td>
<td>○</td>
</tr>
<tr>
<td>RAIDZ </td>
<td>○</td>
<td>×</td>
<td>×</td>
</tr>
<tr>
<td>RAIDZ2</td>
<td>○</td>
<td>×</td>
<td>×</td>
</tr>
<tr>
<td>RAIDZ3</td>
<td>○</td>
<td>×</td>
<td>×</td>
</tr>
<tr>
<td>detach</td>
<td>条件付○</td>
<td>○</td>
<td>条件付○※</td>
</tr>
<tr>
<td>ファイルを指定</td>
<td>○</td>
<td>×</td>
<td>○</td>
</tr>
</table>
<p>&nbsp;</p>
<h3>dataとlogは似ている</h3>
<p>data用は取れる構成コンプリートなのは当たり前だが、detachには制限がある。<br />
logも同様だが、<strong>完全なデータのコピーがないデバイスは取り外せない</strong>、すなわちミラー状態の片割れが唯一取り外しOKで他の構成ではそもそも取り外しができない。<br />
&nbsp;</p>
<p>もちろんreplaceは可能、順序的にはミラーしてdetachだから当然。<br />
&nbsp;</p>
<p>data、logともにmkfileで作成したファイルも指定OK。<br />
raidzはdataのみ、dataもlog<strong>も後からattachでミラーリングデバイスを追加</strong>出来る。<br />
&nbsp;<br />
&nbsp;</p>
<hr />
追記※<br />
Logは最新のコードでは取り外せるようになってると情報をいただきました。<br />
<a href="http://twitter.com/hasegaw/status/15496202547">http://twitter.com/hasegaw/status/15496202547</a><br />
取り外せないことがひそかに疑問だったが、すっきりしました。<br />
&nbsp;<br />
&nbsp;</p>
<h3>cacheは特殊</h3>
<p>一方cacheは冗長構成が一切とれない、必要がないからだろう。<br />
&nbsp;</p>
<p>また、<strong>デバイスの追加削除に制限がない</strong>。中身はあくまでキャッシュにすぎなく、ヒットしない・読み込めない場合はさっさと諦めて削除すればよい。<br />
&nbsp;</p>
<p>もう少し触れておくと、cacheには十分に早いデバイスの割り当てが推奨されている。<br />
ミラーをはじめ冗長な構成では読み取りストライピング効果も確かにあるが、書き込みのペナルティが大きいため不向きだ。<br />
&nbsp;</p>
<p>また、degradeな状態を想像するといいだろう。<br />
cacheにそんな状態があっては本末転倒だ、リシルバさせる意味も全くない。<br />
<strong>高速に動作し、そうできない状態は必要ない</strong>のがcacheだ。<br />
&nbsp;</p>
<p>ちなみにファイルは指定できない、「ディスクまたはディスクスライスを指定すべき」と断られる。<br />
cacheへの割り当てデバイス、お勧めは<strong>やはりSSD</strong>だ。<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;</p>
<p>という感じ。ではついでにZFS利用にあたって私からのTIPSを。<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;</p>
<h2>zpoolミラーは多面鏡</h2>
<p><strong>zpoolのミラーリングはRAID1ではない。</strong>いくつも複製対象が増やせるのだ。<br />
2つでは何かと心配、というときは3つにすればいい。<br />
&nbsp;</p>
<p>ミラー台数を増やすたびに<strong>リード性能は向上し、ライトはが下がる。</strong>リード重視という環境は多かろうので覚えておくとよい。<br />
&nbsp;</p>
<p>3-Way Mirrorの図、attachで作る。もちろん4つ目5つ目を追加していく事もOK。<br />
<code>        NAME          STATE     READ WRITE CKSUM<br />
        zfs           ONLINE       0     0     0<br />
          mirror-0    ONLINE       0     0     0<br />
            c4t0d0p0  ONLINE       0     0     0<br />
            c4t0d0p1  ONLINE       0     0     0<br />
            c4t0d0p2  ONLINE       0     0     0</code><br />
&nbsp;</p>
<h2>ZILは意外と役に立たない(そんな事は無いというお話を追記してます)</h2>
<p>これは特に主観が大きいTIPSなので参考程度に。<br />
(※追記：LOGを別にした場合はかなり勝手が変わります。)<br />
&nbsp;</p>
<p>ZIL、まあトランザクションログみたいなのだが、アトミック書き込み、CoWが身上のZFSではイマイチ存在が薄いように思う。<br />
実際どういうケースで役に立つのか、あまり実感がわかないのにZIL有効だとパフォーマンスがものすごく落ちる。<br />
&nbsp;</p>
<p>結局のところ、<strong>HDDやストレージ側の障害にZILは無力である。</strong><br />
ライトキャッシュ有効のストレージ装置が気まぐれでキャッシュを捨てたとする、別デバイスに取ったZIL上では正常終了なのにデータはおかしい。<br />
逆もそう、HDDが死んでZILごと失った場合もZFSのCoW特性から、ファイルシステム上特に不都合はない。<br />
&nbsp;</p>
<p>データの小さい破壊はZFS内でミラーやRAIDZ構成をとっておくことで<strong>チェックサムから復旧</strong>でき、そこでもやっぱりZILは関係ない。<br />
&nbsp;<br />
&nbsp;</p>
<p>さてZIL、有用かな？<br />
&nbsp;<br />
&nbsp;</p>
<hr />
<p>さて、ZILに関して有識者の方からご助言をいただきました。Twitter:hasegaw さんより。<br />
ってか、<strong>『Xen徹底入門』とか付箋バリバリ</strong>なのでえらい驚きましたが(汗<br />
&nbsp;</p>
<blockquote><p>ZILはRAID-Zの上NFSサーバにしたときには効果大。Logデバイスは最新のコードだと取り外し可能に<br />
<a href="http://twitter.com/hasegaw/status/15496202547">http://twitter.com/hasegaw/status/15496202547</a></p></blockquote>
<p>&nbsp;</p>
<p>NFSですか。実は具体的にどう効果がもたらされるのかイメージが・・・<br />
多分非同期だからということが関係してくるんだろう、ちょっと考えておこう。<br />
本文がZILを完全に批判しているようになっているので載せるところまでは早くしないと。<br />
&nbsp;</p>
<p>で、答えはこちら。<br />
<a href="http://togetter.com/li/27626">http://togetter.com/li/27626</a><br />
親切丁寧に教えてもらっちゃいました、なるほどですねえ。<br />
&nbsp;</p>
<h2>RAIDZはデータをストライプした全デバイスに書く</h2>
<p>使用デバイスの台数から <strong>RAIDZ=RAID5、RAIDZ2=RAID6と思ってはいけない。</strong><br />
詳しくは書き込みホールの問題を調べたらわかるので割愛する。<br />
&nbsp;</p>
<p>で、余所ではあまり触れてないと思ったことについて。<br />
データを全部に書くのでRAIDZにあまり一杯デバイスを並べると書き込みのペナルティが馬鹿にならなくなってくる。<br />
&nbsp;</p>
<p>よってRAIDZを構成するのは6-8デバイスにとどめておき、大容量を求めるなら<strong>RAIDZ構成をたくさんストライピング</strong>するのが多分賢い。<br />
&nbsp;<br />
&nbsp;</p>
<h2>単純なスパン構成でも、後から冗長化できる（１）</h2>
<p>導入時にRAID0っぽい構成にして、後からマズイと思ったりしますか？<br />
zfsだとattachしていくことで冗長構成にする事が可能だ。<br />
&nbsp;</p>
<p>たとえばこんなスパンボリューム。<br />
<code>        NAME        STATE     READ WRITE CKSUM<br />
        zfs         ONLINE       0     0     0<br />
          c4t0d0p0  ONLINE       0     0     0<br />
          c4t0d0p1  ONLINE       0     0     0</code><br />
&nbsp;</p>
<p><strong>attachであれよと言う間にRAID1+0相当に。</strong><br />
<code>        NAME          STATE     READ WRITE CKSUM<br />
        zfs           ONLINE       0     0     0<br />
          mirror-0    ONLINE       0     0     0<br />
            c4t0d0p0  ONLINE       0     0     0<br />
            c4t1d0p0  ONLINE       0     0     0<br />
          mirror-1    ONLINE       0     0     0<br />
            c4t0d0p1  ONLINE       0     0     0<br />
            c4t1d0p1  ONLINE       0     0     0</code><br />
&nbsp;</p>
<p>多少容量は犠牲になるが、RAID0相当の構成はすぐにRAID6以上の稼働率＆ハイパフォーマンスを誇る<strong>RAID1+0に進化</strong>させることができる。<br />
これも覚えておいて損はないだろう。<br />
&nbsp;<br />
&nbsp;</p>
<h2>単純なスパン構成でも、後から冗長化できる（２：追記）</h2>
<p>追加するデバイスなんかネエヨ！って方のためには、copies プロパティの変更をお勧めする。<br />
何が起こるかって言うと、ZFSが書き込むブロックのコピー保持数を指定できるのだ。<br />
&nbsp;</p>
<p>なのでコピー=2とすれば複数のデバイス間で同一のブロックを2つ持ってくれるというわけ、hadoopにもこんな機能あるね。<br />
このように設定しよう。<br />
&nbsp;</p>
<p><code># zfs get copies tank<br />
NAME  PROPERTY  VALUE   SOURCE<br />
tank  copies    1       default<br />
&nbsp;<br />
# zfs set copies=2 tank<br />
&nbsp;<br />
# zfs get copies tank<br />
NAME  PROPERTY  VALUE   SOURCE<br />
tank  copies    2       local</code><br />
&nbsp;</p>
<p>これで一応冗長構成になった、容量は半分になるけどな。<br />
ミラーと違うのは、ミラーがどれだけデバイスを追加しても容量が大きくならないのと違い、デバイスを追加したらその半分だけ容量が増えていくことかな。<br />
&nbsp;<br />
&nbsp;</p>
<p><strong>思いったったら即、実質ミラーリングが可能</strong>だ、</p>
<h2>デバイスたくさんのZpool</h2>
<p>悩むところだが、Log,cacheを入れたら・・・<br />
&nbsp;</p>
<p>logをミラー、cacheを複数、dataはRAIDZ以上の複数スパン(または1+0構成)がいいかなあ。<br />
こんな感じ？あくまで一例ね。<br />
<code>        NAME          STATE     READ WRITE CKSUM<br />
        tank          ONLINE       0     0     0<br />
          raidz1-0    ONLINE       0     0     0<br />
            c4t0d0p0  ONLINE       0     0     0<br />
            c4t1d0p0  ONLINE       0     0     0<br />
            c4t2d0p0  ONLINE       0     0     0<br />
            c4t3d0p0  ONLINE       0     0     0<br />
            c4t4d0p0  ONLINE       0     0     0<br />
          raidz1-1    ONLINE       0     0     0<br />
            c4t0d0p1  ONLINE       0     0     0<br />
            c4t1d0p1  ONLINE       0     0     0<br />
            c4t2d0p1  ONLINE       0     0     0<br />
            c4t3d0p1  ONLINE       0     0     0<br />
            c4t4d0p1  ONLINE       0     0     0<br />
          raidz1-2    ONLINE       0     0     0<br />
            c4t0d0p2  ONLINE       0     0     0<br />
            c4t1d0p2  ONLINE       0     0     0<br />
            c4t2d0p2  ONLINE       0     0     0<br />
            c4t3d0p2  ONLINE       0     0     0<br />
            c4t4d0p2  ONLINE       0     0     0<br />
          raidz1-3    ONLINE       0     0     0<br />
            c4t0d0p3  ONLINE       0     0     0<br />
            c4t1d0p3  ONLINE       0     0     0<br />
            c4t2d0p3  ONLINE       0     0     0<br />
            c4t3d0p3  ONLINE       0     0     0<br />
            c4t4d0p3  ONLINE       0     0     0<br />
        logs<br />
          mirror-4    ONLINE       0     0     0<br />
            c4t0d0p4  ONLINE       0     0     0<br />
            c4t1d0p4  ONLINE       0     0     0<br />
        cache<br />
          c4t2d0p4    ONLINE       0     0     0<br />
          c4t3d0p4    ONLINE       0     0     0<br />
          c4t4d0p4    ONLINE       0     0     0</code><br />
&nbsp;<br />
ちなみにこれ、コマンド一発で構築可能だ。</p>
<p>&nbsp;<br />
&nbsp;<br />
&nbsp;</p>
<p>ZFS特集でした！</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/06/03/1697.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GrubのISOイメージをアップしておく</title>
		<link>http://sawano.members.icraft.jp/wp/2010/05/15/1692.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/05/15/1692.html#comments</comments>
		<pubDate>Sat, 15 May 2010 12:40:16 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1692</guid>
		<description><![CDATA[以前ちょと入用でCDから起動するGrubのイメージをつくった。
&#160;
&#160;
また必要になって作ったので、もうここに置いておこう。
&#160;
バージョンは0.97、lvmとかext4とか言わなければだい [...]]]></description>
			<content:encoded><![CDATA[<p>以前ちょと入用でCDから起動するGrubのイメージをつくった。<br />
&nbsp;<br />
&nbsp;</p>
<p>また必要になって作ったので、もうここに置いておこう。<br />
&nbsp;</p>
<p>バージョンは0.97、lvmとかext4とか言わなければだいたい役に立つだろうと。<br />
&nbsp;</p>
<p><a href="http://sawano.members.icraft.jp/wpa/wp-content/uploads/grub097.iso">http://sawano.members.icraft.jp/wpa/wp-content/uploads/grub097.iso</a><br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/05/15/1692.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DeskNet&#8217;sからエクスポートしたスケジュールをPythonでGoogleカレンダー用に整形する</title>
		<link>http://sawano.members.icraft.jp/wp/2010/04/21/1689.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/04/21/1689.html#comments</comments>
		<pubDate>Tue, 20 Apr 2010 16:50:48 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[MyBlog]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1689</guid>
		<description><![CDATA[DeskNet&#8217;s(デスクネッツ)のスケジュールをGoogleカレンダーにインポートして何かいいことあるのかい？
iPhone / iPod Touch が勝手に同期してくれるじゃないか。
&#160;
&#038;n [...]]]></description>
			<content:encoded><![CDATA[<p>DeskNet&#8217;s(デスクネッツ)のスケジュールをGoogleカレンダーにインポートして何かいいことあるのかい？<br />
<strong>iPhone / iPod Touch が勝手に同期</strong>してくれるじゃないか。<br />
&nbsp;<br />
&nbsp;</p>
<p>というわけで、PGほぼ素人ながらPython手習いの一環としてスクリプトを書いてみた。<br />
DeskNet&#8217;sからエクスポートしたCSVのスケジュールを、Googleインポート用にヘッダ変更と並び変えをして保存するというつくり。<br />
&nbsp;</p>
<p>まあ、変換するだけなので簡単ですね、サンプルをつなぎ合わせたような。<br />
&nbsp;</p>
<p><code>import csv<br />
&nbsp;<br />
csvfile_in='schedule.csv'<br />
csvfile_out='schedule_out.csv'<br />
&nbsp;<br />
reader = csv.reader(file(csvfile_in, 'r'))<br />
writer = csv.writer(file(csvfile_out, 'w'), lineterminator='\n')<br />
&nbsp;<br />
writer.writerow(['Subject','Start Date','Start Time','End Date','End Time','Description','Location'])<br />
&nbsp;<br />
i = 0<br />
for row in reader:<br />
    if i != 0:<br />
        # print unicode(row[6], 'cp932').encode('utf8')<br />
        rw = [row[8],row[3],row[4],row[5],row[6],row[9]]<br />
        print rw<br />
        writer.writerow(rw)<br />
&nbsp;<br />
    i = i + 1<br />
&nbsp;<br />
</code><br />
&nbsp;</p>
<p>応用でサイボウズもいけますね、ファイル名もなぜか同じだし。<br />
&nbsp;</p>
<p>これをGoogleのAPIに投げてインポートまで自動化出来たらいいんだけどなあ。<br />
テストツールを使えばともかく、取得元のDeskNet&#8217;sやサイボウズとかから取ってくるのをスクリプトで自動化するのが大変。<br />
&nbsp;<br />
これだけだと汎用性が微妙にエクセルマクロ以下なので、WEBにおいて、CSVアップしたら加工して戻してくれるようにしたいな。<br />
&nbsp;<br />
&nbsp;</p>
<p>サイボウズLiveとか、もっとAPI充実しないかなー<br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/04/21/1689.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XenのおまけのVNC、起動終了時のコンソール出力をクライアント側に</title>
		<link>http://sawano.members.icraft.jp/wp/2010/03/27/1681.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/03/27/1681.html#comments</comments>
		<pubDate>Fri, 26 Mar 2010 16:28:50 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[仮想化]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1681</guid>
		<description><![CDATA[XenでVM起動するときに、組み込みのVNCを使うことができる。
Qemuのライブラリ使ってるとか何とか。
&#160;
しかし、適当に順仮想で導入したCentOS5.4では、起動と同時にVNC接続できるのはいいんだがペ [...]]]></description>
			<content:encoded><![CDATA[<p>XenでVM起動するときに、組み込みのVNCを使うことができる。<br />
Qemuのライブラリ使ってるとか何とか。<br />
&nbsp;</p>
<p>しかし、適当に順仮想で導入したCentOS5.4では、起動と同時にVNC接続できるのはいいんだがペンギンしか見えない。<br />
&nbsp;</p>
<p>DISPLAY情報とか起動シーケンスの文字が流れなくて実に寂しい思いをしたので出す方法を探ってみた。grub.confの書き換えでOK。<br />
&nbsp;<br />
&nbsp;</p>
<p>grub.conf をみたら デフォルト起動になっているセットのカーネルオプションに、<br />
<code>（略) <strong>console=xvc0</strong></code><br />
の記述が。</p>
<p>なるほどね、Xenの consoleコマンドで入る仮想端末にはちゃんと名前があって、それを指定していたのか。<br />
&nbsp;<br />
&nbsp;</p>
<p>ということでこれを丸ごと削除。<br />
無事にVNCクライアント上で起動終了の様子が流れるようになった。</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/03/27/1681.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WEBサイト組み込み用途に最適？TightVNCのVNCViewer(Java)</title>
		<link>http://sawano.members.icraft.jp/wp/2010/03/24/1680.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/03/24/1680.html#comments</comments>
		<pubDate>Tue, 23 Mar 2010 17:39:20 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[WEB]]></category>
		<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1680</guid>
		<description><![CDATA[VNCを適当に入れたら、ポート5800でWEBサーバが立つじゃない。
RealVNCのJavaのアプレットがぽつんと置いてある奴。
&#160;
あれが重たい＆ちょっと別用途でWEBブラウザから使いたいと思ったので別のも [...]]]></description>
			<content:encoded><![CDATA[<p>VNCを適当に入れたら、ポート5800でWEBサーバが立つじゃない。<br />
RealVNCのJavaのアプレットがぽつんと置いてある奴。<br />
&nbsp;</p>
<p>あれが重たい＆ちょっと別用途でWEBブラウザから使いたいと思ったので別のものを探してみた。<br />
&nbsp;<br />
&nbsp;</p>
<p>TightVNC<br />
<a href="http://www.tightvnc.com/">http://www.tightvnc.com/</a><br />
&nbsp;<br />
これが良かった。<br />
&nbsp;<br />
&nbsp;</p>
<p>Viewer Only のアーカイブをダウンロードしたら、サンプルのindex.htmlをclassesの中に放り込み、適当にWEBサーバの公開領域におこう。<br />
それだけでVNCのクライアントが使える。まあ普通のJavaアプレットの展開と同じなんだけど。<br />
&nbsp;</p>
<p>TightVNCの利点はこのビュワーの手軽さと、軽快な動き。<br />
RealVNCの奴は重たくてなかなか使い物にならなかったけど、これは軽い。CLIならほとんどストレスなく動かせた。<br />
&nbsp;<br />
&nbsp;</p>
<p>ちなみにサンプルのHTMLはこんな感じ。<br />
最初直接叩いてみたが、*.jarが同一ディレクトリに無いと怒られる。<br />
&nbsp;<br />
<code>&lt;HTML&gt;<br />
&lt;TITLE&gt;<br />
TightVNC desktop<br />
&lt;/TITLE&gt;<br />
&lt;APPLET CODE="VncViewer.class" ARCHIVE="VncViewer.jar"<br />
        WIDTH="800" HEIGHT="632"&gt;<br />
&lt;PARAM NAME="PORT" VALUE="5901"&gt;<br />
&lt;/APPLET&gt;<br />
&lt;BR&gt;<br />
&lt;A href="http://www.tightvnc.com/"&gt;TightVNC site&lt;/A&gt;<br />
&lt;/HTML&gt;</code><br />
&nbsp;<br />
&nbsp;</p>
<p>このファイルを編集して、パラメータを渡せば別サーバに接続とか行ける。<br />
&lt;param NAME="HOST" VALUE="hoge.example.com"&gt;<br />
&nbsp;<br />
&nbsp;</p>
<p>さてこれをどっかに組み込んでみたいなと思ってる。<br />
なぜ今更こんなのかっていわれると、VNCで使い勝手が上がるものがあるじゃない、<strong>Qemuとか、Xenとか・・・</strong><br />
&nbsp;<br />
&nbsp;</p>
<p>ただ、これを別サーバ接続用のクライアントとして使おうとしたら、ポリシーの関係で なんだっけ、SocketPermission の違反が起きちゃうんだよね。<br />
この制限解除はどこでやるんだ？できると助かる、サーバ側で指定できるといいんだがなあ。<br />
&nbsp;</p>
<hr />
追記<br />
やっぱクライアント側か。。</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/03/24/1680.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fail2banでブルートフォース対策</title>
		<link>http://sawano.members.icraft.jp/wp/2010/03/24/1679.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/03/24/1679.html#comments</comments>
		<pubDate>Tue, 23 Mar 2010 17:13:43 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1679</guid>
		<description><![CDATA[以前のものでiptablesのipt_recentをつかって、2行のコマンドでsshのアタックを防ごうという記事があるのだけど、とあるサーバで適用できなかったので別手段を。
&#160;
&#160;
(ほぼ)共同で借り [...]]]></description>
			<content:encoded><![CDATA[<p>以前のもので<a href="http://sawano.members.icraft.jp/wp/2008/11/06/1032.html">iptablesのipt_recentをつかって、2行のコマンドでsshのアタックを防ごう</a>という記事があるのだけど、とあるサーバで適用できなかったので別手段を。<br />
&nbsp;<br />
&nbsp;</p>
<p>(ほぼ)共同で借りているVPSレンサバがあるんだが、OpenVZかVirtuozzoかのコンテナらしくてiptablesのモジュールが自由にできないのがある。<br />
そこではipt_recentをつかうとエラーになってしまい、前述の簡単ブルートフォース対策が使えないのだ。<br />
&nbsp;<br />
&nbsp;</p>
<p>仕方ないので <strong>fail2ban </strong>を使うことに。<br />
pythonで動く、アクセス制限操作用のプログラムだ。<br />
ちなみに導入先はCentOS5.4。<br />
&nbsp;<br />
&nbsp;</p>
<h2>fail2banのインストール</h2>
<p>開発元のサイトから最新のStableを落とそう、記事の時点では0.8.4だった。<br />
<a href="http://www.fail2ban.org/wiki/index.php/Main_Page">http://www.fail2ban.org/wiki/index.php/Main_Page</a><br />
&nbsp;</p>
<p>RPM があるみたいだけど、ここはtarボールで。簡単だから。<br />
&nbsp;</p>
<p>展開したらPythonのスクリプトを流そう、Python2.3以上がいるらしいが、<br />
まあ問題ないだろう。<br />
<code># python ./setup.py install</code><br />
&nbsp;<br />
なんとこれだけで終わりだ、便利になったもんだ。</p>
<p>&nbsp;<br />
&nbsp;</p>
<p>"/etc/fail2ban/" に設定が一式、"/usr/share/fail2ban"にpythonのスクリプトが入る。</p>
<ol>
<li>fail2ban.conf：基本の設定</li>
<li>jail.conf：サービス別設定</li>
</ol>
<p>これだけ覚えてりゃなんとかなる、今回は jail.conf しかいじらない。<br />
&nbsp;<br />
&nbsp;</p>
<h2>fail2banの動作パターン</h2>
<p>ログを30秒ごとに監視する⇒パターンマッチしたらアクション(iptables設定追加など)<br />
一定時間経過⇒適用済みのアクションを解除<br />
&nbsp;<br />
という感じだ。<br />
&nbsp;<br />
&nbsp;</p>
<p>色々細かい設定やテストが出来るが基本はこのパターン。シンプルで他に影響が出ない。<br />
導入の敷居としては低いんじゃないかな。<br />
&nbsp;</p>
<p>※当然iptablesを動かして無いと効果がない。<br />
&nbsp;<br />
&nbsp;</p>
<h2>sshの制限（設定）</h2>
<p>じゃあ導入のきっかけ、sshの制限をしよう<br />
&nbsp;<br />
&nbsp;</p>
<p>jail.confにもともと書いてある設定をちょっといじる。太字は大事なとこで、他も適当に書き換えよう。<br />
&nbsp;</p>
<p><code>[ssh-iptables]<br />
enabled  = <strong>true</strong><br />
filter   = sshd<br />
action   = iptables[name=SSH, port=ssh, protocol=tcp]<br />
#          sendmail-whois[name=SSH, dest=hogehoge@example.com, sender=fail2ban@mail.com]<br />
logpath  =<strong> /var/log/secure</strong><br />
maxretry = 5</code><br />
&nbsp;</p>
<p>有効にして、メール通知やログパスの設定を環境に合わせる。<br />
通知はコメントアウトしているが、動作確認などでは便利なので安定動作を確認するまで使ったほうがいい。<br />
&nbsp;<br />
&nbsp;</p>
<h2>sshの制限（デーモン稼働）</h2>
<p>fail2banの軌道方法だけど、スクリプトが用意してある。<br />
デーモンモードとなり、制御端末は切り離されるのでログアウトしても心配いらない。<br />
<code># /usr/bin/fail2ban-client start</code><br />
&nbsp;</p>
<p>設定を変更した場合などは、<br />
<code># /usr/bin/fail2ban-client reload</code><br />
&nbsp;<br />
&nbsp;</p>
<p>自動起動についてだけど、init.d/に置くスクリプトはとくに用意してないみたいだったので、inittabに書いちゃったな。<br />
これについてはきっちり試してないのだが多分大丈夫だろう。<br />
&nbsp;<br />
&nbsp;</p>
<h2>fail2banの様子</h2>
<p>とりあえず同一のIPから600秒以内に5回ログインミスったらbanするように(さっきの設定)した。<br />
デフォルトではbanして600秒たったら元に戻る。<br />
&nbsp;</p>
<p>"/var/log/fail2ban.log" にbanの様子が記録されるので見てみよう。</p>
<p><code># tail /var/log/fail2ban.log<br />
2010-03-23 18:20:55,628 fail2ban.actions: WARNING [ssh-iptables] <strong>Ban </strong>211.142.19.251<br />
2010-03-23 18:30:55,810 fail2ban.actions: WARNING [ssh-iptables] <strong>Unban </strong>211.142.19.251<br />
2010-03-23 21:35:14,533 fail2ban.actions: WARNING [ssh-iptables] Ban 211.142.19.251<br />
2010-03-23 21:45:14,707 fail2ban.actions: WARNING [ssh-iptables] Unban 211.142.19.251<br />
2010-03-23 22:33:37,424 fail2ban.actions: WARNING [ssh-iptables] Ban 211.157.108.132<br />
2010-03-23 22:43:37,616 fail2ban.actions: WARNING [ssh-iptables] Unban 211.157.108.132<br />
2010-03-24 00:00:34,088 fail2ban.actions: WARNING [ssh-iptables] Ban 64.3.96.221<br />
2010-03-24 00:10:34,310 fail2ban.actions: WARNING [ssh-iptables] Unban 64.3.96.221<br />
2010-03-24 00:53:33,939 fail2ban.actions: WARNING [ssh-iptables] Ban 211.142.19.251<br />
2010-03-24 01:03:34,114 fail2ban.actions: WARNING [ssh-iptables] Unban 211.142.19.251</code></p>
<p>おお、引っかかってるね。Banして、10分後にUnban、10分もすりゃたいがい攻撃は終わってる。<br />
こいつらほっといたら万単位で試行しやがる、まったく。<br />
&nbsp;<br />
&nbsp;</p>
<p>ついでにログを何秒間隔で掘っているのか気になったのでstraceして測ってみた。<br />
<code># strace -p 26424<br />
Process 26424 attached - interrupt to quit<br />
poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 1, 30000) = 0 (Timeout)<br />
poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 1, 30000) = 0 (Timeout)<br />
poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 1, 30000) = 0 (Timeout)<br />
…</code></p>
<p>30秒間隔見てるね、まー十分だろう。<br />
&nbsp;<br />
&nbsp;</p>
<p>他にも各種サービス用の設定がプリセットされていた、使いやすいツールの一つとして覚えておこう。<br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/03/24/1679.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>オープンソースカンファレンス関西＠神戸 (2010 Kansai@Kobe) 、反響を集めてみた</title>
		<link>http://sawano.members.icraft.jp/wp/2010/03/15/1677.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/03/15/1677.html#comments</comments>
		<pubDate>Sun, 14 Mar 2010 15:38:52 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[MyBlog]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[アイクラフト]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[コミュニティ]]></category>
		<category><![CDATA[OSC]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1677</guid>
		<description><![CDATA[2010/3/13(土)にオープンソースカンファレンス関西＠神戸が催され、今回縁があってスタッフとして参加させてもらいました。
アイクラフトも協賛してブースを出したし、なかなか多忙ながらも楽しかったですね。
&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>2010/3/13(土)にオープンソースカンファレンス関西＠神戸が催され、今回縁があってスタッフとして参加させてもらいました。<br />
アイクラフトも協賛してブースを出したし、なかなか多忙ながらも楽しかったですね。<br />
&nbsp;</p>
<p>一応無事に終わったところで、やっぱり反響など気になるもの。<br />
ブログなどWeb上ににあるイベントの感想をメモしてみます、お礼省略。<br />
&nbsp;<br />
ええ、ただのリンク集です、見つけたら適当に追加したい。<br />
※資料とかは公式からリンクが張られるので割愛するかも。<br />
&nbsp;<br />
&nbsp;</p>
<h3><a href="http://twitter.com/#search?q=%23osc2010kb">Twitterのイベントハッシュタグ #osc2010</p>
<p>http://twitter.com/#search?q=%23osc2010kb</a></h3>
<p>Twitterで本イベントのハッシュタグ、イベント前後＆真っ最中のつぶやき。<br />
めっちゃ多くてこれだけでも盛況だったことがうかがえる感じ。<br />
順に読むだけで雰囲気が結構つかめる。Twitter利用の例としても非常にいいよね。<br />
&nbsp;</p>
<h4>twitlog &#8211; 目についたもの</h4>
<hr />
3/15追加<br />
<a href="http://twilog.org/prototechno/hashtags-osc2010kb">http://twilog.org/prototechno/hashtags-osc2010kb</a><br />
&nbsp;</p>
<h3>ハッシュタグ検索で拾ったブログ</h3>
<h4><a href="http://pinkmac.com/archives/6158">モチベーションをもらって帰ってきた from #osc2010kb&nbsp;|&nbsp;PINKMAC &#8211; Love Train + Photo + IT Tech.</p>
<p>http://pinkmac.com/archives/6158</a></h4>
<p>LT、懇親会参加のコミヤカオリさんのブログ。<br />
当日の感想と、「神戸で仮想化勉強会するぞ！」という表明をされています。<br />
&nbsp;</p>
<h4><a href="http://ameblo.jp/sorairo-gakudan/entry-10481213864.html">オープンソースカンファレンス2010｜そらいろ楽団のコンサート日記</p>
<p>http://ameblo.jp/sorairo-gakudan/entry-10481213864.html</a></h4>
<p>イベント盛り上げに多大な協力をいただいた神戸市＆ワケトン楽団のLTで司会とメインボーカル担当の横山あづささんのブログ。<br />
当日の感想記事を上げてらっしゃいます。<br />
&nbsp;</p>
<h4><a href="http://rack990.sakura.ne.jp/archives/entry-715.html">OSC2010Kansai@Kobeで発表しました  &#8211; 日々是雑記</p>
<p>http://rack990.sakura.ne.jp/archives/entry-715.html</a></h4>
<p>MagentoOSCのスタッフかつMagentoブース出展とセミナーを担当した西さんのブログ。<br />
当日セミナーの資料を公開。<br />
&nbsp;</p>
<h4><a href="http://ounziw.com/2010/03/14/osckobe-report1/">OSC 神戸大盛況　500人参加 &laquo; WordPress Expert Blog</p>
<p>http://ounziw.com/2010/03/14/osckobe-report1/</a></h4>
<p>WordPressセミナーの様子と発表資料をアップされています。<br />
&nbsp;</p>
<h4><a href="http://www.openlaszlo-ason.com/#osc2010_kansai_kobe%E3%81%AB2010313_%E5%8F%82%E5%8A%A0%E5%A0%B1%E5%91%8A">OSC2010 Kansai@Kobeに2010/3/13 参加報告</p>
<p>http://www.openlaszlo-ason.com/#osc2010_kansai_kobe%E3%81%AB2010313_%E5%8F%82%E5%8A%A0%E5%A0%B1%E5%91%8A</a></h4>
<p>Laszlo Japan、セミナーの様子をアップされています。<br />
&nbsp;</p>
<h4><a href="http://blog.livedoor.jp/lab1092/archives/51477674.html">LAB1092試験環境1 : オープンソースカンファレンス 2010 Kansai@Kobe (何故か3次会まで) #osc2010kb</p>
<p>http://blog.livedoor.jp/lab1092/archives/51477674.html</a></h4>
<p>特にプロフィールが書いて無いですけど、3次会まで行ってるということは2次会でちょっと話した彼でしょうか？<br />
朝から3次会まで全体の感想を記事にされています。<br />
&nbsp;</p>
<hr />
3/15追加</p>
<h4><a href="http://www.yamasita.jp/sheevaplug/2010/03/-osc2010kb.html">神戸牛をいただいた！ #osc2010kb (SheevaPlug / 玄柴（KURO-SHEEVA)をハックしよう)</p>
<p>http://www.yamasita.jp/sheevaplug/2010/03/-osc2010kb.html</a></h4>
<p>個人でブース出展、山下康成さんのブログ。<br />
じゃんけん大会で勝ち抜きゲットした神戸牛(よりぬき但馬牛)のパネルを。<br />
&nbsp;</p>
<h4><a href="http://www.obitastar.co.jp/modules/myalbum/viewcat.php?cid=7">OSC2010Kansai@Kobe &#8211; オビタスター株式会社</p>
<p>http://www.obitastar.co.jp/modules/myalbum/viewcat.php?cid=7</a></p>
</h4>
<p>Zen Cart.jpさんのセミナーの様子。</p>
<p>&nbsp;<br />
&nbsp;</p>
<h3>メディア</h3>
<p>3/16追加</p>
<h4>
<a href="http://kobe.keizai.biz/headline/468/">神戸で初のオープンソースカンファレンス－500人超が来場 &#8211; 神戸経済新聞</p>
<p>http://kobe.keizai.biz/headline/468/</a></h4>
<p>&nbsp;</p>
<h4><a href="http://headlines.yahoo.co.jp/hl?a=20100316-00000006-minkei-l28">神戸で初のオープンソースカンファレンス－500人超が来場　／兵庫（みんなの経済新聞ネットワーク） &#8211; Yahoo!ニュース</p>
<p>http://headlines.yahoo.co.jp/hl?a=20100316-00000006-minkei-l28</a></h4>
<p>&nbsp;<br />
&nbsp;</p>
<h3>その他</h3>
<h4><a href="http://japan.cnet.com/blog/geeklog/2010/03/15/entry_27038203/">CNET読者ブログ　OSC2010 Tokyo/Springリポート</p>
<p>http://japan.cnet.com/blog/geeklog/2010/03/15/entry_27038203/</a></h4>
<h4><a href="http://www.geeklog.jp/article.php/osc2010kansai_at_kobe_report">Geeklog Japanese　OSC2010 Tokyo/Springリポート<br />
http://www.geeklog.jp/article.php/osc2010kansai_at_kobe_report (プレゼンテーション資料も)</a></h4>
<p>2つセットでMLから、Geeklogのセミナー＆ブースの様子。<br />
&nbsp;</p>
<hr />
3/15追加</p>
<h4><a href="http://d.hatena.ne.jp/rivfi/20100313/1268497402">OSC　オープンソースカンファレンス2010Kansai@Kobeに参加させていただきました。 &#8211; ペニンシュラ型～私とあなたの不可避な壁～</p>
<p>http://d.hatena.ne.jp/rivfi/20100313/1268497402</a></h4>
<p>OSC初参加の感想を書かれています。<br />
&nbsp;</p>
<hr />
3/16追加</p>
<h4><a href="http://www.icraft.jp/modules/news/article.php?storyid=38">アイクラフト株式会社 &#8211; ニュース &#8211; 2010年3月13日「オープンソースカンファレンス2010 Kansai@Kobe」に出展いたしました！</p>
<p>http://www.icraft.jp/modules/news/article.php?storyid=38</a></h4>
<p>アイクラフトの社員ブログ、出店の様子を記事にしています。<br />
&nbsp;</p>
<hr />
3/17追加</p>
<h4><a href='http://d.hatena.ne.jp/Britty/20100317/p1'>OSC神戸へいってきました &#8211; 鰤端末鉄野菜 Brittys Wake</p>
<p>http://d.hatena.ne.jp/Britty/20100317/p1</a></h4>
<p>ブース出展、ウィキメディアユーザ会さんのレポート。<br />
&nbsp;</p>
<h4><a href='http://d.hatena.ne.jp/Pasta-K/20100315/1268660401'>OSC神戸に参加してきました &#8211; Pastalablog in はてな</p>
<p>http://d.hatena.ne.jp/Pasta-K/20100315/1268660401</a></h4>
<p>高校生(だったかな)プログラマのPasta-Kさん、当日にセッションを担当した事と会場の様子にをレポート。<br />
USTで丸々みれるようにしてくれているのは親切ですね。<br />
&nbsp;</p>
<h4><a href='http://d.hatena.ne.jp/ripjyr/20100316/1268688096'>OSC　オープンソースカンファレンス2010Kansai@Kobeに参加させていただきました。 &#8211; ペニンシュラ型～私とあなたの不可避な壁～（情報元のブックマーク数） &#8211; まっちゃだいふくの日記★とれんどふりーく★</p>
<p>http://d.hatena.ne.jp/ripjyr/20100316/1268688096</a></h4>
<p>まっちゃ139主催のまっちゃだいふくさん。<br />
OSCレポートへの感想という、2次的なレポート。<br />
&nbsp;</p>
<h4><a href='http://tyage.sakura.ne.jp/blog/?p=1097'>OSC神戸2010にスネークしてきた | チャゲってる日々</p>
<p>http://tyage.sakura.ne.jp/blog/?p=1097</a></h4>
<p>学生さんのイベント潜入レポート。<br />
アイクラフトのゴーフルをゲットされたようで、載せてくれています。ありがとう！<br />
&nbsp;</p>
<h4><a href='http://ameblo.jp/c-spo/entry-10480868131.html#main'>神戸オープンソースカンファレンスにて｜じゅんの の ブログ</p>
<p>http://ameblo.jp/c-spo/entry-10480868131.html#main</a></h4>
<p>神戸地元民じゅんのさんによるイベントレポート。<br />
ワケトンらの写真とか。<br />
&nbsp;<br />
&nbsp;</p>
<hr />
ほかにもあったら教えてね！</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/03/15/1677.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>オープンソースカンファレンス2010 Tokyo/Spring に行ってこよう</title>
		<link>http://sawano.members.icraft.jp/wp/2010/02/26/1675.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/02/26/1675.html#comments</comments>
		<pubDate>Thu, 25 Feb 2010 15:22:51 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[MyBlog]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[コミュニティ]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1675</guid>
		<description><![CDATA[オープンソースカンファレンス2010 Tokyo/Spring に行ってくる予定よ。
金曜の分、日帰りでね！
最近ホントに出張してなかったからなぁ、とても新鮮。
帰ってきたらレポートを上げよう。
]]></description>
			<content:encoded><![CDATA[<p>オープンソースカンファレンス2010 Tokyo/Spring に行ってくる予定よ。<br />
金曜の分、日帰りでね！</p>
<p>最近ホントに出張してなかったからなぁ、とても新鮮。</p>
<p>帰ってきたらレポートを上げよう。</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/02/26/1675.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hyper-VにOpenSolaris、ZFSのdeduplicationを試そう</title>
		<link>http://sawano.members.icraft.jp/wp/2010/02/18/1672.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/02/18/1672.html#comments</comments>
		<pubDate>Thu, 18 Feb 2010 03:36:37 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[WindowsServer]]></category>
		<category><![CDATA[ニュース・情報]]></category>
		<category><![CDATA[dedup]]></category>
		<category><![CDATA[deduplication]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1672</guid>
		<description><![CDATA[前略、Hyper-VにOpenSolarisをインストールしました。
しかしそれは本題ではなく、ZFS(Zpool)のバージョン21から有効になった、データのデデュプリケーションを試すのだ。
&#160;
&#160;
 [...]]]></description>
			<content:encoded><![CDATA[<p>前略、Hyper-VにOpenSolarisをインストールしました。<br />
しかしそれは本題ではなく、ZFS(Zpool)のバージョン21から有効になった、データのデデュプリケーションを試すのだ。<br />
&nbsp;<br />
&nbsp;</p>
<p>ちなみにHyper-VにOpenSolaris入れるにはメモリたっぷりいるよ、失敗する人は増やせばOK。<br />
VirtualBoxでもいける、VirtualBoxの方が相性は良さそうな感じ。<br />
&nbsp;</p>
<p><img src="http://sawano.members.icraft.jp/wpa/wp-content/uploads/2010/02/ZPool22.png" alt="画像：Hyper-V上のOpenSolaris" title="画像：Hyper-V上のOpenSolaris" width="648" height="496" class="alignnone size-full wp-image-1673" /></p>
<p>ZFSのバージョンは22、『<a href="http://blogs.sun.com/yappri/entry/text_installer">やっぱりSunがスキ！』よりテキストインストーラのbuild131</a>だ。<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;</p>
<p>じゃあリアルタイムのデデュープを試してみよう！<br />
&nbsp;</p>
<p>さて、makefileでファイルをつくり、それをデバイスとして"ddzfs"というZFSストレージプールを作りました。<br />
"<strong>zfs set dedup=on ddzfs</strong>" で準備完了。プールじゃなくてファイルシステムが対象ね。<br />
サイズは1GBだ。<br />
&nbsp;<br />
&nbsp;</p>
<p><u>1GBの領域に/dev/zeroをダンプして5GBのファイルを作る</u>とどうなる？<br />
こうなる。<br />
&nbsp;</p>
<p><img src="http://sawano.members.icraft.jp/wpa/wp-content/uploads/2010/02/ddzfs2_edit.png" alt="画像：ZFS Dedupの様子" title="画像：ZFS Dedupの様子" width="728" height="466" class="alignnone size-full wp-image-1674" /><br />
※VirtualBoxに変わっているのは諸事情のため差し替えたので。<br />
&nbsp;</p>
<p>手抜きでごめんねぇ、キャプチャだ。<br />
雰囲気は伝わるだろう、途中で<strong>言い逃れできないようなアハ体験</strong>が訪れていることがわかる？。<br />
&nbsp;<br />
&nbsp;</p>
<p>しかしリアルタイムで計算してデデュープしてる割にはよいスループット出てるやん。リハのHyper-Vでも60Mちょっとは出てたし。<br />
完全仮想なことを考慮したらすごく早い気がする。<br />
&nbsp;<br />
&nbsp;</p>
<p>用途がファイルサーバならCPUなんていつだって遊んでいるから実用にも全然つかえるんじゃないか？<br />
メールサーバでも効果が高そう、C.C.での同報メールなんかは文字通りカーボンコピーになるね。<br />
※ブロック単位なので実際はちょっと違うが。<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;</p>
<p>send&#038;recvとか試してみたいことは山盛りだが、なんかもう理解の範疇を越えてきたな。<br />
ZFSほか、新しいファイルシステムにはどんどん期待がもてるね。<br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/02/18/1672.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagiosのプラグイン、check_multiを試す</title>
		<link>http://sawano.members.icraft.jp/wp/2010/01/17/1657.html</link>
		<comments>http://sawano.members.icraft.jp/wp/2010/01/17/1657.html#comments</comments>
		<pubDate>Sun, 17 Jan 2010 10:01:31 +0000</pubDate>
		<dc:creator>sawano</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[運用監視]]></category>

		<guid isPermaLink="false">http://sawano.members.icraft.jp/wp/?p=1657</guid>
		<description><![CDATA[Nagiosに一風変わったプラグイン、check_multiというのがある。主に通常のプラグインのラッパーとして利用する。
&#160;
公式これかな？
http://my-plugin.de/wiki/projects [...]]]></description>
			<content:encoded><![CDATA[<p>Nagiosに一風変わったプラグイン、check_multiというのがある。主に通常のプラグインのラッパーとして利用する。<br />
&nbsp;</p>
<p>公式これかな？<br />
<a href="http://my-plugin.de/wiki/projects/check_multi/start">http://my-plugin.de/wiki/projects/check_multi/start</a><br />
&nbsp;<br />
&nbsp;</p>
<p>基本的にはプラグインをまとめて叩くという使い方をする、他にも幾つかあるようだが。<br />
&nbsp;</p>
<p>まとめて叩くと何がいいかというと、Naigosの表示画面でまとめられたり、NRPE経由で呼ぶときに監視用のセッションが1つでよくなるなど挙げられる。<br />
詳しいコンセプトは<a href="http://my-plugin.de/wiki/projects/check_multi/discussion">公式サイトに図入りで説明</a>があるので、興味があれば参照されたし。<br />
&nbsp;<br />
&nbsp;</p>
<p>で、リクエストのやり方とレスポンスはこんな感じ。リモート相手の時はちゃんとホストを指定しよう。<br />
&nbsp;</p>
<p>コマンドラインから。<br />
<code>./check_multi -x “command [ procs ] = check_procs”-x “command [ load ] = check_load”<br />
</code><br />
&nbsp;</p>
<p>設定ファイルから<br />
<code>command [ httpd ] = check_procs -C httpd<br />
command [ crond ] = check_procs -C crond<br />
…<br />
↓<br />
./check_multi -f <em>configfile</em><br />
</code><br />
&nbsp;</p>
<p>レスポンスの例。<br />
<code><strong>OK - 12 plugins checked, 12 ok</strong><br />
[1] httpd PROCS OK: 9 processes with command name 'httpd'<br />
[2] crond PROCS OK: 1 process with command name 'crond'<br />
[3] mysqld PROCS OK: 1 process with command name 'mysqld'<br />
[4] ntpd PROCS OK: 1 process with command name 'ntpd'<br />
[5] sendmail PROCS OK: 2 processes with command name 'sendmail'<br />
[6] load OK - load average: 0.22, 0.13, 0.09<br />
[7] dev_hda DISK OK - free space: / 57922 MB (83% inode=99%);<br />
…<br />
</code><br />
&nbsp;</p>
<p>テストしてみたが、NRPE経由でもちゃんと動いた。<br />
通知内容にもどのプラグインがどういう状態か載ってくるので心配ない。<br />
&nbsp;</p>
<p>ちなみにActionURLなど使って、NagiosのUIに統合出来るようになっているがそこまでやる事はないので、プラグインをコンパイルしたらそれだけ拾って使ってみてます。<br />
&nbsp;</p>
<p>結構いい感じだ。<br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sawano.members.icraft.jp/wp/2010/01/17/1657.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
