<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-4279971486311743746</atom:id><lastBuildDate>Wed, 16 May 2012 07:01:53 +0000</lastBuildDate><category>特定電子メール法　特定商取引法　オプトイン規制</category><category>起業</category><category>経営</category><title>サーバ屋さんの独り言</title><description>そこはかとなく書きつくれば</description><link>http://ktaka.blog.clustcom.com/</link><managingEditor>noreply@blogger.com (ktaka)</managingEditor><generator>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-5183249543685680675</guid><pubDate>Mon, 14 May 2012 14:31:00 +0000</pubDate><atom:updated>2012-05-14T23:32:04.066+09:00</atom:updated><title>Intel 10GBaseT NICのドライバ</title><description>linuxでは、Intel の10G NIC X540はixgbeでサポートされるようだ。&lt;br /&gt;&lt;br /&gt;Device 8086:1528&lt;br /&gt;&lt;a href="http://pci-ids.ucw.cz/read/PC/8086/1528"&gt;http://pci-ids.ucw.cz/read/PC/8086/1528&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.6.38からサポートされている&lt;br /&gt;&lt;a href="http://kernelnewbies.org/Linux_2_6_38-DriversArch"&gt;http://kernelnewbies.org/Linux_2_6_38-DriversArch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;バニラカーネルであれば使えそう。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-5183249543685680675?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/05/intel-10gbaset-nic.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-1477720855047062028</guid><pubDate>Mon, 14 May 2012 12:34:00 +0000</pubDate><atom:updated>2012-05-16T16:01:53.606+09:00</atom:updated><title>10GBaseTとSFP+DACの比較</title><description>タイトルの件について調べ物をしたので、メモ。&lt;br /&gt;&lt;br /&gt;レイテンシ&lt;br /&gt;&lt;br /&gt;10GBaseTの規格ではエラー無くデータを転送するために、ブロックエンコーディングを行う。そのためには、ブロックサイズ分のデータを送信PHYに読み込み、エンコーディングを行ったのち、送信することが必要である。受信側では、その反対が必要である。規格によると、送受信PHYのペアで2.56μsの遅延を許容している。ブロックデータのサイズを考慮に入れると、リンクあたり2μs以下にすることは不可能である。&lt;br /&gt;&lt;br /&gt;SFP+の場合には、ブロックエンコーディングが無く、より単純なエレクトロニクス構成であるため、遅延は典型値で300ns程度である。&lt;br /&gt;&lt;br /&gt;それぞれの場合に、さらにメディア遅延を考慮する必用があるが、光であれ電気信号であれ、およそ5ns/m程度である。&lt;br /&gt;&lt;br /&gt;最大ケーブル長&lt;br /&gt;&lt;br /&gt;10GBaseTの場合、Cat6AまたはCat7ケーブルの利用により、100mまで通信可能である。&lt;br /&gt;パッチパネルも使用可能である。&lt;br /&gt;&lt;br /&gt;ダイレクトアタッチケーブルの場合、8.5mまでである。&lt;br /&gt;25mまで大丈夫なケーブルも提案されている。&lt;br /&gt;&lt;br /&gt;消費電力&lt;br /&gt;&lt;br /&gt;10GBaseTは4W-6W/port(片側)&lt;br /&gt;&lt;br /&gt;SFP+DACは1.5W/port(片側)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ソースは以下のホワイトペーパー&lt;br /&gt;&lt;a href="http://www.missioncriticalmagazine.com/ext/resources/MC/Home/Files/PDFs/WP_Blade_Ethernet_Cabling.pdf"&gt;http://www.missioncriticalmagazine.com/ext/resources/MC/Home/Files/PDFs/WP_Blade_Ethernet_Cabling.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;HPCなどの分野では遅延が少ない方が良いので、SFP+DACの方がお勧めということらしい。&lt;br /&gt;Webやゲームのデータセンター用途で、2.6µsの遅延が問題になるのか、気になるところ。&lt;br /&gt;&lt;br /&gt;ちなみにアリスタの10Gスイッチの遅延は、以下のサイトによると10GBaseTで3-3.6µs、SFP+で0.8-1.15µsである。&lt;br /&gt;&lt;a href="http://www.aristanetworks.com/jp/products/7050series/7050t"&gt;http://www.aristanetworks.com/jp/products/7050series/7050t&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.aristanetworks.com/jp/products/7050series/7050s"&gt;http://www.aristanetworks.com/jp/products/7050series/7050s&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-1477720855047062028?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/05/10gbasetsfpdac.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-6443114581125459252</guid><pubDate>Thu, 10 May 2012 11:55:00 +0000</pubDate><atom:updated>2012-05-11T11:45:27.453+09:00</atom:updated><title>10GBaseTイーサネットに関して調べ物</title><description>10GbeのインターフェイスにはCX4、SFP+ファイバー、SFP+ダイレクトアタッチカッパー(DAC)、10GBaseTなどがある。&lt;br /&gt;&lt;br /&gt;CX4&lt;br /&gt;&lt;ul&gt;&lt;li&gt;古い技術で、ケーブルの太さやコネクタの大きさなどから、高集積化には向かない。ケーブル長15mまで。&lt;/li&gt;&lt;/ul&gt;SFP+ファイバー　10GBase-SR&lt;br /&gt;&lt;ul&gt;&lt;li&gt;高価である&lt;/li&gt;&lt;li&gt;低消費電力、ケーブル長300mまで。&lt;/li&gt;&lt;li&gt;サーバにネットワークカードの増設が必用。&lt;/li&gt;&lt;/ul&gt;SFP+DAC&lt;br /&gt;&lt;ul&gt;&lt;li&gt;比較的安価である。ケーブル長は7mまで。&lt;/li&gt;&lt;li&gt;サーバにネットワークカードの増設が必用。&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;10GBaseT&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;安価である。&lt;/li&gt;&lt;li&gt;従来、消費電力が大きく、高コストであると思われていたが、最近のプロセステクノロジーによりそうでもなくなった。NICの消費電力が初期の25W/portから6W/portに低下した。&lt;/li&gt;&lt;li&gt;1000BaseTイーサネット環境とポート互換性がある。1ギガビットのNICを持つサーバを10GBaseTのスイッチに接続でき、10GBaseTのNICを持つサーバを1ギガのスイッチに接続することができる。&lt;/li&gt;&lt;li&gt;サーバにネットワークカードの増設が必用。10GBaseTポートが搭載されたマザーが出始めている。&lt;/li&gt;&lt;li&gt;レイテンシー2μs～4μs。HPCユーザや高頻度な金融取引の用途では、気になるかもしれない。&lt;/li&gt;&lt;li&gt;普通はCPUの割り込み負荷低減のために、Interrupt Moderationが使われ、その場合には～100μsのレイテンシーが意図的に追加されるので問題ない。&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;以上、Intelのホワイトペーパーより&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.intel.com/content/www/us/en/network-adapters/10-gigabit-network-adapters/10-gigabit-ethernet-10gbase-t-paper.html"&gt;http://www.intel.com/content/www/us/en/network-adapters/10-gigabit-network-adapters/10-gigabit-ethernet-10gbase-t-paper.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;10GBaseTポート標準搭載のサーバの例&lt;/div&gt;&lt;div&gt;Supermicro&amp;nbsp;1027R-WRFT+&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.supermicro.com/products/system/1U/1027/SYS-1027R-WRFT_.cfm"&gt;http://www.supermicro.com/products/system/1U/1027/SYS-1027R-WRFT_.cfm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Supermicro&amp;nbsp;6017R-N3RFT+&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.supermicro.com/products/system/1U/6017/SYS-6017R-N3RFT_.cfm"&gt;http://www.supermicro.com/products/system/1U/6017/SYS-6017R-N3RFT_.cfm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;10GBaseT x 48ポートスイッチ&lt;br /&gt;Arista&amp;nbsp;7050T-52/7050T-64&lt;br /&gt;&lt;a href="http://www.aristanetworks.com/jp/products/7050series/7050t"&gt;http://www.aristanetworks.com/jp/products/7050series/7050t&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;いずれも弊社から、販売可能です！&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-6443114581125459252?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/05/10gbaset.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-551813297707162825</guid><pubDate>Tue, 08 May 2012 08:14:00 +0000</pubDate><atom:updated>2012-05-08T19:37:46.674+09:00</atom:updated><title>10ギガビットイーサネット</title><description>&lt;br /&gt;そろそろ、10ギガビットイーサネットの時代に入ってきました。&lt;br /&gt;&lt;br /&gt;データセンター向けのハイエンドソリューションやHPC向けの高速ネットワーク用途では、10ギガビットのソリューションは数年前から利用されてきたようです。&lt;br /&gt;しかし、数ある10ギガの規格のうちどれがが標準になるか見極めるのが難しく、機器も高価で、なかなか導入が広まらない状況にあったと思います。&lt;br /&gt;&lt;br /&gt;最近になって、SFP+ Direct Attach ケーブルを利用したソリューションや、10GBaseTソリューションで、比較的安価な製品が出始めています。&lt;br /&gt;&lt;br /&gt;今年は、一気に10ギガビットイーサネットのソリューションが普及するのではないでしょうか。&lt;br /&gt;&lt;br /&gt;弊社では、10GBaseT デュアルポートをオンボード搭載したサーバ、Arista Networks社の10GBaseTスイッチなどを、販売していきたいと思います。&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-551813297707162825?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/05/10.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-2819465512597980854</guid><pubDate>Sat, 14 Apr 2012 19:42:00 +0000</pubDate><atom:updated>2012-04-15T04:42:44.833+09:00</atom:updated><title>Intel SSD 520 240GB 購入しました</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;先日発売されたIntel 520 SSDを購入しました。&lt;br /&gt;インターフェースはSATA 6Gb/s、カタログスペックはシーケンシャルリード 550MB/s、シーケンシャルライト 520MB/s、4KB Random Read 50,000 IOPS、4KB Random Write 80,000 IOPSと大変高性能です。またMTBFは1,200,000時間でニアラインクラスのHDDと同等の信頼性です。&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-sjzWADssddU/T4gtr8Ih0SI/AAAAAAAACfM/TgC8Rp0zaj8/s1600/IMG_1885.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-sjzWADssddU/T4gtr8Ih0SI/AAAAAAAACfM/TgC8Rp0zaj8/s320/IMG_1885.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Intelのカッコいい箱はCPU等と同様のカラーリング。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-WwPjG7i6ufg/T4nK12qfxRI/AAAAAAAACgQ/aEf7vfvZO3E/s1600/IMG_1891.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-WwPjG7i6ufg/T4nK12qfxRI/AAAAAAAACgQ/aEf7vfvZO3E/s320/IMG_1891.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;同梱物の写真&lt;br /&gt;SSD本体、3.5インチマウンター、CD、説明書、シール、&lt;br /&gt;電源ケーブル、SATAケーブル、ネジが同梱されています。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZDV0fZTx5KA/T4gt1M6fFVI/AAAAAAAACf8/54RzpNikZdc/s1600/IMG_1895.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-ZDV0fZTx5KA/T4gt1M6fFVI/AAAAAAAACf8/54RzpNikZdc/s320/IMG_1895.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;3.5インチマウンタ。通常の電源ケーブルとSATAケーブルを利用する。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ycw5PB41lVA/T4nK3HLrrPI/AAAAAAAACgY/g22HkHNpn2s/s1600/IMG_1892.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-ycw5PB41lVA/T4nK3HLrrPI/AAAAAAAACgY/g22HkHNpn2s/s320/IMG_1892.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;SSD本体&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nSUcfnZB0w0/T4nK45Jd7AI/AAAAAAAACgg/40zRE0C2N_k/s1600/IMG_1896.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-nSUcfnZB0w0/T4nK45Jd7AI/AAAAAAAACgg/40zRE0C2N_k/s320/IMG_1896.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;カッコいいシールはパソコンに貼るも善し。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Raidカードに8本ぶら下げたら、FusionIOなんかよりもお得かも知れないですね。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-2819465512597980854?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/04/intel-ssd-520-240gb.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-sjzWADssddU/T4gtr8Ih0SI/AAAAAAAACfM/TgC8Rp0zaj8/s72-c/IMG_1885.JPG' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-5616313890400834144</guid><pubDate>Wed, 15 Feb 2012 16:53:00 +0000</pubDate><atom:updated>2012-03-23T02:19:10.634+09:00</atom:updated><title>Kernel Virtual Machine(kvm)のセットアップ</title><description>いくつもあるサーバを、仮想化によりまとめることができれば、サーバの保管場所や電気代の節約になる。私の会社ではいくつかのサーバを仮想マシン上で運用している。kvmによる仮想環境の再構築する機会があったので、備忘録的にノウハウというか、工夫した部分について、まとめておきたいと思う。&lt;br /&gt;&lt;br /&gt;kvmはそれ用に構築したLinuxカーネルをハイパーバイザーとする仮想マシンである。GuestOSはWindowsやLinuxのみならず、様々なOSがサポートされている。&lt;br /&gt;&lt;a href="http://www.linux-kvm.org/page/Guest_Support_Status" target="_blank"&gt;http://www.linux-kvm.org/page/Guest_Support_Status&lt;/a&gt;　&lt;br /&gt;&lt;br /&gt;今回はDebianLinux上で、バニラカーネルをkvmホスト用に自前でコンパイルしたものに入れ替え、ゲストOSとしてDebianLinuxを複数動かせるようにする。ゲストOSはWEBサーバなどのネットワークサーバ用途を想定しているので、GUI機能は必要ない。したがって、コンソールログインとSSHログインが可能になれば良しとすることにした。&lt;br /&gt;最近のDebianLinuxでは、おそらく標準でGUIを使ってkvmを利用可能である。しかし、仕事で使うとなると中身や仕組みをできるだけ熟知していたくもあるので、余分な機能で被われたディストリビューション標準のツールをあえて使わないことにした。&lt;br /&gt;&lt;br /&gt;ハードウェアは、ちょっと昔のDellT105が遊んでいたので、これを使うことにした。今となってはそれほど強力なマシンではないが、4コアのAMD Opteronを搭載しており、メモリスロットも4つある。これにDDR2 ECC 2GBを4本積んで、8GBのメモリを確保した。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-g8TSOFRRmAk/TzvcZAym4jI/AAAAAAAABi8/GO9hWcWKr_w/s1600/IMG_1596.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-g8TSOFRRmAk/TzvcZAym4jI/AAAAAAAABi8/GO9hWcWKr_w/s320/IMG_1596.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FZDi4mhN790/Tzvc6U-c4HI/AAAAAAAABjE/_lZaS4s4R00/s1600/IMG_1605.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-FZDi4mhN790/Tzvc6U-c4HI/AAAAAAAABjE/_lZaS4s4R00/s320/IMG_1605.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;1. ハードウェアスペック&lt;/b&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;CPU: Quad-Core AMD Opteron 1352, &amp;nbsp;2.1GHz,&amp;nbsp;cache 512 KB&lt;br /&gt;MEM: DDR2 800MHz ECC Unbuffered 4GB x8&lt;br /&gt;HDD: Seagate ST3320613AS 320GB SATA&lt;br /&gt;NIC:&amp;nbsp;Broadcom NetXtreme BCM5722&lt;/blockquote&gt;kvmで仮想マシンを作る場合、IntelのCPUであればIntel VT、AMDのCPUであればAMD-Vに対応している必要がある。CPUのそれらの仮想化支援機能が無ければただの低速エミュレーターになってしまう。&lt;br /&gt;&lt;br /&gt;CPUにそれらの機能が備わっているかどうかはメーカーのサイトで確認してもいいし、Linuxが既に動いている実機上で、以下のように確認しても良い。&lt;br /&gt;&lt;br /&gt;AMDのマシンであれば、/proc/cpuinfoのflagsを見て、svmというのがあれば良い。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;blockquote class="tr_bq"&gt;root@kvm:~# egrep flags /proc/cpuinfo |head -n 1&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;flags&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy &lt;b&gt;svm&lt;/b&gt; extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs npt lbrv svm_lock&lt;/blockquote&gt;&lt;/blockquote&gt;Intelのマシンの場合、vmxというのがあれば良い。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;ktaka@hana:~$ egrep flags /proc/cpuinfo |head -n 1&lt;br /&gt;flags&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl &lt;b&gt;vmx&lt;/b&gt; smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat epb dts tpr_shadow vnmi flexpriority ept vpid&lt;/blockquote&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;2. ホストカーネルの構築&lt;/b&gt;&lt;br /&gt;カーネルはkernel.orgにあるlinux-3.2.9をコンパイルして利用する。&lt;br /&gt;&lt;a href="http://www.linux-kvm.org/page/Tuning_Kernel" target="_blank"&gt;このページ&lt;/a&gt;にKVMのホストカーネルの構築に必要なコンパイルフラグがまとめてあるので、これを参考にカーネルを構築した。実際には以下の関連フラグを有効にした。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUPS=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_DEBUG=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_FREEZER=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_DEVICE=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_CPUACCT=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_MEM_RES_CTLR=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_PERF=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_CGROUP_SCHED=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_BLK_CGROUP=m&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_DEBUG_BLK_CGROUP=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HIGH_RES_TIMERS=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HPET_TIMER=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HPET_EMULATE_RTC=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_COMPACTION=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_MIGRATION=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KSM=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HPET=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HPET_MMAP=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HAVE_KVM=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HAVE_KVM_IRQCHIP=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_HAVE_KVM_EVENTFD=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KVM_APIC_ARCHITECTURE=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KVM_MMIO=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KVM_ASYNC_PF=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_VIRTUALIZATION=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KVM=m&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KVM_INTEL=m&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KVM_AMD=m&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_KVM_MMU_AUDIT=y&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;CONFIG_VHOST_NET=m&lt;/div&gt;&lt;/blockquote&gt;KVMホスト上でブリッジネットワークを利用するために必要な以下のフラグも有効にした。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;CONFIG_BRIDGE_NETFILTER=y&lt;br /&gt;CONFIG_BRIDGE=m&lt;br /&gt;CONFIG_BRIDGE_IGMP_SNOOPING=y&lt;br /&gt;CONFIG_STP=m&lt;br /&gt;CONFIG_LLC=m&lt;/blockquote&gt;カーネルコンパイル&amp;amp;インストール後、新規カーネルでブートしバージョン確認&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;root@kvm:~# uname &amp;nbsp;-a&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;Linux kvm 3.2.9-64kvmh01 #1 SMP Mon Mar 5 21:47:42 JST 2012 x86_64 GNU/Linux&lt;/blockquote&gt;関連モジュールの確認&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;root@kvm:~# lsmod |egrep "kvm|bridge"&lt;br /&gt;kvm_amd &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;71505 &amp;nbsp;0&lt;br /&gt;kvm &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 566158 &amp;nbsp;1 kvm_amd&lt;br /&gt;bridge &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;125971 &amp;nbsp;0&lt;br /&gt;stp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2987 &amp;nbsp;1 bridge&lt;br /&gt;llc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8862 &amp;nbsp;2 bridge,stp&lt;/blockquote&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. ホストOSのネットワーク設定&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;kvm用のブリッジインターフェースkbr0を作成する。&lt;br /&gt;以下の内容で設定ファイル/etc/network/interfacesを作成する。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;auto lo&amp;nbsp;kbr0&lt;br /&gt;iface lo inet loopback&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;iface kbr0 inet static&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bridge_ports &amp;nbsp; &amp;nbsp;eth0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bridge_stp &amp;nbsp; &amp;nbsp; &amp;nbsp;off&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bridge_maxwait &amp;nbsp;2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;address &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 192.168.20.9&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;netmask &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 255.255.252.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;network &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 192.168.20.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;broadcast &amp;nbsp; &amp;nbsp; &amp;nbsp; 192.168.20.255&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;gateway &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 192.168.20.1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;pre-up /sbin/ip link set dev eth0 up&lt;/blockquote&gt;ホストOSを再起動すると、以下の様な状態になります。&lt;br /&gt;&lt;br /&gt;ブリッジの状態確認&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;root@kvm:~# brctl show&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;bridge name&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;bridge id&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;STP enabled&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;interfaces&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;kbr0&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;8000.0022190601e3&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;no&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;eth0&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt;ブリッジインターフェースkbr0が作成され、eth0が接続されている。&lt;br /&gt;&lt;br /&gt;IPアドレスの確認&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;root@kvm:~# ip add&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;1: lo: &lt;loopback,up,lower_up&gt; mtu 16436 qdisc noqueue state UNKNOWN&amp;nbsp;&lt;/loopback,up,lower_up&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inet 127.0.0.1/8 scope host lo&lt;br /&gt;2: eth0: &lt;broadcast,multicast,up,lower_up&gt; mtu 1500 qdisc mq master kbr0 state UP qlen 1000&lt;/broadcast,multicast,up,lower_up&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;link/ether 00:22:19:06:01:e3 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;3: kbr0: &lt;broadcast,multicast,up,lower_up&gt; mtu 1500 qdisc noqueue state UP&amp;nbsp;&lt;/broadcast,multicast,up,lower_up&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;link/ether 00:22:19:06:01:e3 brd ff:ff:ff:ff:ff:ff&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inet 192.168.20.9/22 brd 192.168.20.255 scope global kbr0&lt;/div&gt;&lt;/blockquote&gt;ブリッジインターフェースkbr0に192.168.20.9というアドレスが割り当てられている。&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;4. qemuのコンパイル&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;kvmによる仮想マシンではLinuxハイパーバイザー上で、kvmに対応したqemuエミュレーターを動作させる。qemuエミュレータ上ではwindowsやlinuxなど、サポートされているOSをゲストOSとして起動することが可能である。&lt;br /&gt;&lt;br /&gt;当初はkvmに対応したqemuのソースをkvmプロジェクトのサイトから取得する必要があったが、最近ではqemuの本家のソースにkvmのパッチが既にマージされている。&lt;br /&gt;従って、kvmの開発の最先端のソースを利用したいと言うのでなければ、qemuの本家サイトからソースを取ってくれば良い。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;wget http://wiki.qemu.org/download/qemu-1.0.1.tar.gz&lt;/blockquote&gt;普通にtarボールを展開して、コンパイル＆インストールする。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;tar xf&amp;nbsp;qemu-1.0.1.tar.gz ; cd&amp;nbsp;qemu-1.0.1&lt;br /&gt;./configure &amp;nbsp;--prefix=/kvm/qemu/qemu-1.0.1/ --enable-kvm&lt;br /&gt;make install&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;tree -L 2 /kvm/qemu/&lt;br /&gt;/kvm/qemu/&lt;br /&gt;`-- qemu-1.0.1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;|-- bin&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;|-- etc&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;`-- share&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;root@kvm:~# /kvm/qemu/qemu-1.0.1/bin/qemu-x86_64 -version&lt;br /&gt;qemu-x86_64 version 1.0,1, Copyright (c) 2003-2008 Fabrice Bellard&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;5. ゲストOSイメージの作成&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;qemuエミュレーター上で動かすゲストLinuxOSイメージを作成する。手順は以下の通り。&lt;br /&gt;&lt;ol&gt;&lt;li&gt;スパースなイメージファイルを作成&lt;/li&gt;&lt;li&gt;ext4でファイルシステム作成&lt;/li&gt;&lt;li&gt;debootstrapでOSインストール&lt;/li&gt;&lt;li&gt;ネットワークやルートパスワードの設定等々細々としたを行う&lt;/li&gt;&lt;/ol&gt;イメージ作成&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;dd if=/dev/zero of=./kvm.img bs=1024 seek=9999999 count=1&lt;/blockquote&gt;ファイルシステム作成&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;mkfs.ext4 kvm.img&lt;/blockquote&gt;debootstrapでDebianインストール&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;mount -o loop kvm.img /mnt/tmp/&lt;br /&gt;debootstrap --include=openssh-server,openssh-client,rsync,pciutils,acpid &amp;nbsp;squeeze /mnt/tmp/&lt;/blockquote&gt;その他の細々した設定&lt;br /&gt;&lt;br /&gt;シリアルコンソール設定&lt;br /&gt;/mnt/tmp/etc/inittab にttyS0の設定を加える&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;T0:23:respawn:/sbin/getty -L ttyS0 19200 vt100&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;BIOSクロックをUTCと見做さない設定(JSTのsystem dateが終了時にBIOSに書き込まれる。仮想マシンでは関係ないかも？)&lt;br /&gt;&lt;br /&gt;/mnt/tmp/etc/default/rcS&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;UTC=no&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;ネットワーク設定(DHCPでアドレスを取得するようにする。)&lt;br /&gt;/mnt/tmp/etc/network/interfaces&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;blockquote class="tr_bq"&gt;&amp;nbsp;&amp;nbsp;auto lo eth0&lt;br /&gt;&amp;nbsp;&amp;nbsp;iface lo inet loopback&lt;br /&gt;&amp;nbsp;&amp;nbsp;iface eth0 inet dhcp&lt;/blockquote&gt;&lt;div&gt;余計なudevルールの削除&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;rm /mnt/tmp/etc/udev/rules.d/70-persistent-net.rules&amp;nbsp;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;パスワード初期設定、apt-cache掃除、timezoneをJSTに。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;chroot /mnt/tmp/&lt;br /&gt;passwd&lt;br /&gt;apt-get clean&lt;br /&gt;dpkg-reconfigure tzdata&amp;nbsp;&lt;/blockquote&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;6. ゲストカーネルのコンパイル&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;kvm上で仮想マシンを動かす場合、ゲストOSは改変不要でハードウェア上で動かす場合のカーネルがそのまま動く。これはしばしば完全仮想化と呼ばれる。しかしながら、仮想マシン用のドライバを使うようにしてやることで、ゲストOSの性能を大幅に向上することが可能である。仮想マシン用のドライバを利用した方法は、しばしば準仮想化と呼ばれる。&lt;br /&gt;&lt;br /&gt;今回も準仮想化を使いたいし、なるべく必要最小限のドライバのみを有効にした、シンプルなカーネルを使いたいので、バニラソースからカーネルをコンパイルする。&lt;br /&gt;&lt;br /&gt;必要なコンパイルフラグは、ホストカーネルの場合と同様に&lt;a href="http://www.linux-kvm.org/page/Tuning_Kernel" target="_blank"&gt;このページ&lt;/a&gt;を参考にして有効にした。結局以下の関連フラグが有効にしてある。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;CONFIG_HOTPLUG=y&lt;br /&gt;CONFIG_TICK_ONESHOT=y&lt;br /&gt;CONFIG_PARAVIRT_GUEST=y&lt;br /&gt;CONFIG_PARAVIRT_TIME_ACCOUNTING=y&lt;br /&gt;CONFIG_KVM_CLOCK=y&lt;br /&gt;CONFIG_KVM_GUEST=y&lt;br /&gt;CONFIG_PARAVIRT=y&lt;br /&gt;CONFIG_PARAVIRT_SPINLOCKS=y&lt;br /&gt;CONFIG_PARAVIRT_CLOCK=y&lt;br /&gt;CONFIG_PARAVIRT_DEBUG=y&lt;br /&gt;CONFIG_MEMORY_HOTPLUG=y&lt;br /&gt;CONFIG_MEMORY_HOTPLUG_SPARSE=y&lt;br /&gt;CONFIG_MEMORY_HOTREMOVE=y&lt;br /&gt;CONFIG_VIRT_TO_BUS=y&lt;br /&gt;CONFIG_HOTPLUG_CPU=y&lt;br /&gt;CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y&lt;br /&gt;CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y&lt;br /&gt;CONFIG_ACPI_HOTPLUG_CPU=y&lt;br /&gt;CONFIG_PCI_MSI=y&lt;br /&gt;CONFIG_VIRTIO_BLK=y&lt;br /&gt;CONFIG_VIRTIO_NET=y&lt;br /&gt;CONFIG_VIRTIO_CONSOLE=y&lt;br /&gt;CONFIG_HW_RANDOM_VIRTIO=y&lt;br /&gt;CONFIG_VIRTIO=y&lt;br /&gt;CONFIG_VIRTIO_RING=y&lt;br /&gt;CONFIG_VIRTIO_PCI=y&lt;br /&gt;CONFIG_VIRTIO_BALLOON=y&lt;br /&gt;CONFIG_VIRTIO_MMIO=y&lt;br /&gt;CONFIG_VIRT_DRIVERS=y&lt;br /&gt;CONFIG_HAVE_KVM=y&lt;/blockquote&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;今回、モジュールを使わずにモノリシックなカーネルにした。コンパイルしたカーネルは、適当決めたディレクトリ/kvm/bootに置いた。&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;root@kvm:~# ls -la /kvm/boot/&lt;br /&gt;total 8728&lt;br /&gt;drwxr-xr-x &amp;nbsp;2 root root &amp;nbsp; &amp;nbsp;4096 Mar &amp;nbsp;8 03:38 .&lt;br /&gt;drwxr-xr-x 10 root root &amp;nbsp; &amp;nbsp;4096 Mar &amp;nbsp;6 17:12 ..&lt;br /&gt;-rw-r--r-- &amp;nbsp;1 root root 1105677 Mar &amp;nbsp;8 03:38 System.map-3.2.9-64kvmg01&lt;br /&gt;-rw-r--r-- &amp;nbsp;1 root root &amp;nbsp; 44798 Mar &amp;nbsp;8 03:38 config-3.2.9-64kvmg01&lt;br /&gt;-rw-r--r-- &amp;nbsp;1 root root 3152304 Mar &amp;nbsp;8 03:38 vmlinuz-3.2.9-64kvmg01&amp;nbsp;&lt;/blockquote&gt;&lt;/div&gt;&lt;b&gt;7. ゲストOSの起動コマンド&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;ゲストOSはqemuエミュレーター上で動作する。ゲストOSを起動するには、qemuコマンドを適切なオプションで実行すれば良い。kvmによる仮想マシンは、ホストOS(Linuxハイパーバイザー)上からは単なるqemuプロセスに見える。従って、それぞれのゲストOSがどのくらいのCPU、メモリ等のリソースを消費しているかは、ホストOS上でqemuプロセスがどのくらいそれらのリソースを消費しているかを見れば良い。不要になったゲストOSはいざとなったら、qemuプロセスをkillコマンドでkillすることで、終了させることも可能である。(実際にはもう少し丁寧にshutdownすべきであるが。)&lt;br /&gt;&lt;br /&gt;さて、qemuのコマンドのオプションはqemu-system-x86_64 --helpで確認することが可能である。それぞれオプションを試行錯誤し、最終的に我々にとって使い易くしたものが、以下のものである。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;/kvm/qemu/qemu-kvm-1.0/bin/qemu-system-x86_64 ¥&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;--enable-kvm -nographic -daemonize ¥&lt;/div&gt;-drive file=/kvm/data/kvm.img,if=virtio -m 512 ¥&lt;br /&gt;-kernel /kvm/boot/vmlinuz-3.2.9-64kvmg01 ¥&lt;br /&gt;-append "console=ttyS0,19200n8 &amp;nbsp;root=/dev/vda" ¥&lt;br /&gt;-net nic,vlan=0,macaddr=52:54:00:21:00:01,model=virtio ¥&lt;br /&gt;-net tap,vlan=0,script=/kvm/etc/qemu-ifup,ifname=hoge ¥&lt;br /&gt;-serial unix:/tmp/con.sock,server,nowait ¥&lt;br /&gt;-monitor unix:/tmp/mon.sock,server,nowait&lt;/blockquote&gt;以下、それぞれのオプションについて説明する。&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;div&gt;&lt;b&gt;--enable-kvm&lt;/b&gt;　Intel-VT またはAMD-Vのハードウェア仮想化支援機能を利用する&lt;br /&gt;&lt;b&gt;-nographic&lt;/b&gt; &amp;nbsp;グラフィカルな出力を無効にし、シリアルをコンソールにリダイレクトする&lt;br /&gt;&lt;b&gt;-daemonize&lt;/b&gt;　qemuをデーモンとして起動する&lt;br /&gt;&lt;b&gt;-m 512&lt;/b&gt;　メモリを512MByte 割り当てる&lt;br /&gt;&lt;b&gt;-smp 1&lt;/b&gt; 　仮想マシンにプロセッサを一つ割り当てる&lt;br /&gt;&lt;b&gt;-kernel&lt;/b&gt;&amp;nbsp;&amp;nbsp; ゲストカーネルを指定。イメージの外、ホストOS上に置くことができる&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;-append&lt;/b&gt;&amp;nbsp;&amp;nbsp;カーネルに与えるオプションを指定&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;-drive&lt;/b&gt; &lt;b&gt;file=&lt;/b&gt;　イメージファイルの指定。if=virtioオプションによりパラヴァーチャルなブロックデバイスとして見せる&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;-net nic,vlan=0,macaddr= ,model=virtio&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;NICを作成しvlan=0に接続する。model=virtioオプションによりパラバーチャルなNICに見せる。&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;-net tap,vlan=0,script=/kvm/etc/qemu-ifup,ifname=hoge&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;ホストにtapデバイスhogeを作成しvlan=0に接続する。そしてスクリプト/kvm/etc/qemu-ifupを実行する。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;-serial unix:/tmp/con.sock,server,nowait&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;シリアルポートをUNIXドメインソケット/tmp/con.sockにリダイレクトする。&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;-monitor unix:/tmp/mon.sock,server,nowait&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;QemuのモニターをUNIXドメインソケット/tmp/mon.sockにリダイレクトする。&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;serial,monitorのUNIXドメインソケットへのリダイレクトがミソ。&lt;br /&gt;&lt;br /&gt;nographic, daemonizeオプションによりバックグラウンドで実行している仮想マシンを/tmp/mon.sock、/tmp/con.sockから制御することが可能である。serial、monitorをtcpやtelnetなどなどのネットワーク接続口にリダイレクトすることも可能であるが、その場合、認証無しでmonitorコンソールアクセスしqemuをコントロールすることができてしまう。UNIXドメインソケットを利用する場合、rootユーザのみにUNIXドメインソケットへの読み書き許可を与えることで、ホストOS上ののrootユーザのみにアクセス許可を与えることができるようになる。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8. script=/kvm/etc/qemu-ifupで何をしているのか&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;/kvm/etc/qemu-ifupの内容&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;#!/bin/sh&lt;br /&gt;/sbin/ip link set dev $1 up promisc off&lt;br /&gt;/usr/sbin/brctl addif kbr0 $1&lt;/blockquote&gt;タップデバイスhogeがブリッジkbr0に接続されている。&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;brctl show&lt;br /&gt;bridge name &amp;nbsp; &amp;nbsp; bridge id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; STP enabled &amp;nbsp; &amp;nbsp; interfaces&lt;br /&gt;kbr0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;8000.0022190601e3 &amp;nbsp; &amp;nbsp; &amp;nbsp; no &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;eth0&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hoge&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;9. UNIXドメインソケットへの接続方法&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;socatコマンドで接続可能である。&lt;br /&gt;&lt;br /&gt;QEMUモニタへの接続&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;socat -,icanon=0,echo=0 unix-connect:/tmp/mon.sock&lt;br /&gt;&lt;br /&gt;QEMU 1.0,1 monitor - type 'help' for more information&lt;br /&gt;(qemu)&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;シリアルコンソールへの接続&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;socat -,icanon=0,echo=0 unix-connect:/tmp/con.sock&lt;br /&gt;&lt;br /&gt;Debian GNU/Linux 6.0 (none) ttyS0&lt;br /&gt;&lt;br /&gt;(none) login:&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ただし、このままではctl-cでシリアルコンソール内のプロセスを終了しようとしても、socat自身がグナルを受け取ってしまうので、そのプロセスを終了することができない。その様な場合には、intrなを適当なキーに割り当てると良い。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;例えば、次の様なラッパスクリプトを利用することで、socatにinterruptシグナルを送る場合のキーバインディングをctl+]に変更することができる。ctl+cを叩いた場合、socat自身gはシグナルとして受け取らず、接続先のプロセスがctl+cをinterruptシグナルとして受け取ることになる。&lt;br /&gt;&lt;br /&gt;test_con.sh&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;#!/bin/bash&lt;br /&gt;tty_setting=`stty -g`&lt;br /&gt;stty intr ^]&lt;br /&gt;socat -,icanon=0,echo=0 unix-connect:/tmp/con.sock&lt;br /&gt;stty $tty_setting&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;A1. 素のqemuとkvmどのくらい速さが違うの？　&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;sysbenchと言うベンチマークツールを使って、簡単にCPUベンチマークを実行してみた。&lt;br /&gt;ベンチマークコマンド&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;sysbench --num-threads=24 --test=cpu --cpu-max-prime=10000 run&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;素のqemu　(qemu-system-x86_64 .... )&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;Test execution summary:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;total time: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;58.5005s&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;kvmオプション付き　(qemu-system-x86_64 &lt;b&gt;--enable-kvm&lt;/b&gt; .... )&lt;br /&gt;Test execution summary:&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;total time: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;17.3854s&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;約3.4倍高速であった。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A2. qemu-kvmと本家qemuどちらを使うべき？(2012/3現在)&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;以前は、kvmを使うためには、それ用にパッチの当たったqemuを使う必要があったが、現在kvmサポートパッチは本家qemuにマージされている。しかしながら、wiki.qemu.org/downloadの他にも、sourceforgeにqemu-kvmが存在している。&lt;br /&gt;&lt;div&gt;そこで、sysbenchでベンチマークしてみた。&lt;br /&gt;&lt;br /&gt;ベンチマークコマンド&lt;br /&gt;sysbench --num-threads=24 --test=cpu --cpu-max-prime=10000 run&lt;br /&gt;&lt;br /&gt;qemu-1.0.1の場合(--enable-kvmオプション付き)&lt;/div&gt;Test execution summary:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;total time: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;17.3854s&lt;br /&gt;&lt;br /&gt;qemu-kvm-1.0の場合&lt;br /&gt;Test execution summary:&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;total time: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;17.2720s&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;大きな差は見られない。&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以上、kvmによる仮想マシンの構築について、備忘録的にまとめた。&lt;br /&gt;部分的であれ記載した情報がお役に立てば幸いである。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-5616313890400834144?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/02/kvm.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-g8TSOFRRmAk/TzvcZAym4jI/AAAAAAAABi8/GO9hWcWKr_w/s72-c/IMG_1596.JPG' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-6141481991284644493</guid><pubDate>Thu, 12 Jan 2012 11:06:00 +0000</pubDate><atom:updated>2012-01-19T15:26:15.495+09:00</atom:updated><title>1U 4ノードサーバ　SR1640TH</title><description>Intelのクアッドノード、サーバベアボーン&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Xeon X3400系ですので、ちょっと古いですが…&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-O4mBwLwvv0s/Tw67N61m4qI/AAAAAAAAAt4/jBamBPwfg1w/s1600/IMG_1443.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-O4mBwLwvv0s/Tw67N61m4qI/AAAAAAAAAt4/jBamBPwfg1w/s320/IMG_1443.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1Uのシャーシに電源も独立したサーバユニットが二つ。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--WCCbXQ-yjk/Tw67acTuq5I/AAAAAAAAAtQ/QtK2RTTRulY/s1600/IMG_1450.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/--WCCbXQ-yjk/Tw67acTuq5I/AAAAAAAAAtQ/QtK2RTTRulY/s320/IMG_1450.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;それぞれのサーバユニットにはソケットが二つ。デュアルＣＰＵサーバ一台ではなく、独立したシングルＣＰＵのサーバ二台が、一枚のマザーに載っているという構成。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FchsYiEu6xY/Tw67iSUz-pI/AAAAAAAAAtY/nBt805Lv8B8/s1600/IMG_1451.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-FchsYiEu6xY/Tw67iSUz-pI/AAAAAAAAAtY/nBt805Lv8B8/s320/IMG_1451.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;サーバユニットは全面から引き出し可能。メンテナンスは2ノード毎に行うことになる。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-GLj3MXE6fKs/Tw67o-fGoBI/AAAAAAAAAtg/OmD9Rx2IyrU/s1600/IMG_1454.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-GLj3MXE6fKs/Tw67o-fGoBI/AAAAAAAAAtg/OmD9Rx2IyrU/s320/IMG_1454.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ServerEnginesのBMC&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-xOH_wmQMN5w/Tw671GXScJI/AAAAAAAAAto/eMzRhVAD0jg/s1600/IMG_1445.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-xOH_wmQMN5w/Tw671GXScJI/AAAAAAAAAto/eMzRhVAD0jg/s320/IMG_1445.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;サーバユニットを、シャーシの上に乗せてみました。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-6141481991284644493?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/01/1u-4sr1640th.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-O4mBwLwvv0s/Tw67N61m4qI/AAAAAAAAAt4/jBamBPwfg1w/s72-c/IMG_1443.JPG' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-8992827023759305750</guid><pubDate>Thu, 12 Jan 2012 10:05:00 +0000</pubDate><atom:updated>2012-01-12T19:05:29.573+09:00</atom:updated><title>1U Sandy Bridge Xeon ファイルサーバ</title><description>先日、お客様に納品した1Ｕサーバのご紹介です。&lt;br /&gt;1ＵシャーシにSandy Bridge Xeon　E3-1270を一個搭載しています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-l8M4yK3lTgo/TuBaJp4NAwI/AAAAAAAAASA/HUTLQYCkRpU/s1600/IMG_1500.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-l8M4yK3lTgo/TuBaJp4NAwI/AAAAAAAAASA/HUTLQYCkRpU/s320/IMG_1500.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-E1Dztpc5UFg/TuBaLc7KBmI/AAAAAAAAASA/JjPfKyIbvDU/s1600/IMG_1498.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-E1Dztpc5UFg/TuBaLc7KBmI/AAAAAAAAASA/JjPfKyIbvDU/s320/IMG_1498.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;フロントには2.5インチのＨＤＤベイが8個あり、SATA、SAS HDD、SSDなどを8本搭載可能です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-k-SksteW_ig/TuBZ4F-OFjI/AAAAAAAAASA/2oEuMnde_PQ/s1600/IMG_1510.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-k-SksteW_ig/TuBZ4F-OFjI/AAAAAAAAASA/2oEuMnde_PQ/s320/IMG_1510.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;マザーボードはSupermicro X8SIU-F。このマザーボードは横方向に短いため、1Uシャーシ内への拡張カードの装着が容易になります。今回は、キャパシタ付のRAIDカードASR-5805Zを装着しましたが、いつもは置き場所に困るキャパシタが、余裕で取り付けられました。PCIスロットを二つ占有する、Teslaなどにも向いているのではないかと思います。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-3uui5NbKGXQ/TuBZ9FS8IiI/AAAAAAAAASA/1DYwMU5rGEc/s1600/IMG_1507.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-3uui5NbKGXQ/TuBZ9FS8IiI/AAAAAAAAASA/1DYwMU5rGEc/s320/IMG_1507.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;6本あるメモリスロットは、4Ｇbyte DDR3 ECC Reg.モジュールで、フル実装。合計24GByteのメモリを搭載しています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-IdB721kyDRg/TuBaBSNcAVI/AAAAAAAAASA/UqcHGahJ53Q/s1600/IMG_1505.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-IdB721kyDRg/TuBaBSNcAVI/AAAAAAAAASA/UqcHGahJ53Q/s320/IMG_1505.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ASR-5805Zは1.2GHzのデュアルコアRAIDチップを搭載しているため、比較的発熱が大きいです。十分にカードを冷却するために、FANを二つ増設しています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1ZG_cRwTtrU/TuBaEA1qrXI/AAAAAAAAASA/bmQkRhr0mtM/s1600/IMG_1503.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-1ZG_cRwTtrU/TuBaEA1qrXI/AAAAAAAAASA/bmQkRhr0mtM/s320/IMG_1503.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回は冗長化電源付のシャーシをご希望されました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-8992827023759305750?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2012/01/1u-sandy-bridge-xeon.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-l8M4yK3lTgo/TuBaJp4NAwI/AAAAAAAAASA/HUTLQYCkRpU/s72-c/IMG_1500.JPG' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-7432053398785499241</guid><pubDate>Mon, 25 Apr 2011 07:08:00 +0000</pubDate><atom:updated>2011-04-25T16:09:28.449+09:00</atom:updated><title>HHKB Pro2</title><description>&lt;div&gt;&lt;p&gt;&amp;#24859;&amp;#29992;&amp;#12398;&amp;#12461;&amp;#12540;&amp;#12508;&amp;#12540;&amp;#12489;&amp;#12399;&amp;#12289;Happy Hacking Keyboard Professional 2&amp;#12391;&amp;#12377;&amp;#12290;&amp;#12461;&amp;#12540;&amp;#12479;&amp;#12483;&amp;#12481;&amp;#12364;&amp;#31168;&amp;#36920;&amp;#12391;&amp;#12377;&amp;#12290;&lt;/p&gt;&lt;br/&gt;&lt;img src='http://lh4.ggpht.com/_DU5F6Jtzx2E/TbUeJtm4MiI/AAAAAAAAAKI/68Scu7eYYgQ/1303715299194.png' /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-7432053398785499241?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2011/04/hhkb-pro2.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_DU5F6Jtzx2E/TbUeJtm4MiI/AAAAAAAAAKI/68Scu7eYYgQ/s72-c/1303715299194.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-2962841254650755781</guid><pubDate>Mon, 25 Apr 2011 07:05:00 +0000</pubDate><atom:updated>2011-04-25T16:05:35.498+09:00</atom:updated><title>Galaxy からBlogger アプリ</title><description>&lt;div&gt;&lt;p&gt;Galaxy &amp;#12363;&amp;#12425;Blogger &amp;#12450;&amp;#12503;&amp;#12522;&amp;#12434;&amp;#20351;&amp;#12387;&amp;#12390;&amp;#25237;&amp;#31295;&amp;#12290;&amp;#32232;&amp;#38598;&amp;#27231;&amp;#33021;&amp;#12399;&amp;#19981;&amp;#21313;&amp;#20998;&amp;#12384;&amp;#12364;&amp;#12289;&amp;#27671;&amp;#36605;&amp;#12395;&amp;#25237;&amp;#31295;&amp;#12391;&amp;#12365;&amp;#12427;&amp;#12398;&amp;#12399;&amp;#20415;&amp;#21033;&amp;#12290;&amp;#20889;&amp;#30495;&amp;#12418;&amp;#31777;&amp;#21336;&amp;#12395;&amp;#36028;&amp;#12426;&amp;#20184;&amp;#12369;&amp;#12427;&amp;#12371;&amp;#12392;&amp;#12364;&amp;#12391;&amp;#12365;&amp;#12427;&amp;#12290;&lt;br&gt;&amp;#12385;&amp;#12394;&amp;#12415;&amp;#12395;&amp;#12289;&amp;#24859;&amp;#29992;&amp;#12398;&amp;#12513;&amp;#12460;&amp;#12493;&amp;#12391;&amp;#12377;&amp;#12290;&lt;br&gt;&lt;/p&gt;&lt;br/&gt;&lt;img src='http://lh5.ggpht.com/_DU5F6Jtzx2E/TbUdHQ9-u2I/AAAAAAAAAKE/H-0rMWDAHyg/1303715069207.png' /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-2962841254650755781?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2011/04/galaxy-blogger.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_DU5F6Jtzx2E/TbUdHQ9-u2I/AAAAAAAAAKE/H-0rMWDAHyg/s72-c/1303715069207.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-425761799112987500</guid><pubDate>Mon, 25 Apr 2011 06:39:00 +0000</pubDate><atom:updated>2011-04-25T15:40:14.684+09:00</atom:updated><title>今日は自転車通勤</title><description>&lt;div&gt;&lt;p&gt;&amp;#26262;&amp;#12363;&amp;#12367;&amp;#12394;&amp;#12387;&amp;#12390;&amp;#12365;&amp;#12383;&amp;#12398;&amp;#12391;&amp;#12289;&amp;#33258;&amp;#36578;&amp;#36554;&amp;#12364;&amp;#27671;&amp;#25345;&amp;#12385;&amp;#33391;&amp;#12356;(^^)&lt;/p&gt;&lt;br/&gt;&lt;img src='http://lh4.ggpht.com/_DU5F6Jtzx2E/TbUXTUvplZI/AAAAAAAAAKA/OPnSMP7njX4/2011-04-25%2012.31.16.png' /&gt;&lt;br/&gt;&lt;img src='http://lh6.ggpht.com/_DU5F6Jtzx2E/TbUXPeyHl0I/AAAAAAAAAJ8/OaX98nwqo70/2011-04-25%2012.24.35.png' /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-425761799112987500?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2011/04/blog-post.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_DU5F6Jtzx2E/TbUXTUvplZI/AAAAAAAAAKA/OPnSMP7njX4/s72-c/2011-04-25%2012.31.16.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-1371661805151552199</guid><pubDate>Wed, 13 Apr 2011 15:10:00 +0000</pubDate><atom:updated>2011-04-14T00:10:54.120+09:00</atom:updated><title>rsync --updateオプションで悩む</title><description>rsyncの--updateオプションは、転送先ファイルのmtimeが転送元よりも新しい場合に、そのファイルのコピーをスキップするオプションである。&lt;br /&gt;しかしながら、シンボリックリンクやスペシャルファイルの場合は、このオプションがあっても、コピーはスキップされない。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;-u, --update&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;This forces rsync to skip any files which exist on the destination  and  have  a modified  time  that is newer than the source file.  (If an existing destination file has a modification time equal to the source file’s, it will be  updated  if the sizes are different.)&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;b&gt;Note that this does not affect the copying of symlinks or other special files.&lt;/b&gt;  Also, a difference of file format between the sender and receiver is always considered to be important enough for an update, no matter what date is on the objects.  In other words, if the source has a directory where the destination has a file, the transfer would occur regardless of the timestamps.&lt;/blockquote&gt;&lt;/blockquote&gt;コピー先のシンボリックの方が新しい場合には、コピーをスキップしたいのだが、どうすれば良いのでしょう？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-1371661805151552199?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2011/04/rsync-update.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-345152562417010227</guid><pubDate>Sat, 09 Apr 2011 13:46:00 +0000</pubDate><atom:updated>2011-04-10T00:44:27.686+09:00</atom:updated><title>aufs2.1を試してみる。</title><description>Aufs(AnotherUnionfs)は、複数のディレクトリを単一のディレクトリに見せるスタッカブルなファイルシステムです。Aufsを用いると、リードオンリーなディレクトリの上に、読み書き専用のディレクトリを重ねてマウントすることができます。&lt;br /&gt;今回、これについて試してみました。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;インストール手順&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aufs.sourceforge.net/"&gt;http://aufs.sourceforge.net/&lt;/a&gt;にあるドキュメントを参考にインストールします。&lt;br /&gt;&lt;br /&gt;レポジトリの同期とチェックアウト&lt;br /&gt;今回はバニラカーネルにパッチを当てて、カーネルモジュールとしてコンパイルするので、aufs2-standalone.gitのみ同期します。&lt;br /&gt;&lt;blockquote&gt;root@hana:~/tmp# git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git aufs2-standalone.git&lt;br /&gt;Cloning into aufs2-standalone.git...&amp;nbsp;&lt;/blockquote&gt;使用するバニラカーネルのバージョンは2.6.38.2なので、aufs2.1-&lt;u&gt;38&lt;/u&gt;&amp;nbsp;をチェックアウトします。&lt;br /&gt;&lt;blockquote&gt;root@hana:~/tmp# cd aufs2-standalone.git/&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;root@hana:~/tmp/aufs2-standalone.git# git checkout origin/aufs2.1-38&lt;br /&gt;Note: checking out 'origin/aufs2.1-38'.&lt;br /&gt;You are in 'detached HEAD' state. You can look around, make experimental&lt;br /&gt;changes and commit them, and you can discard any commits you make in this&lt;br /&gt;state without impacting any branches by performing another checkout.&lt;br /&gt;If you want to create a new branch to retain commits you create, you may&lt;br /&gt;do so (now or later) by using -b with the checkout command again. Example:&lt;br /&gt;&amp;nbsp;&amp;nbsp;git checkout -b new_branch_name&lt;br /&gt;HEAD is now at 4c5ce8c... aufs2.1 standalone version for linux-2.6.38&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;root@hana:~/tmp/aufs2-standalone.git# ls -la&lt;br /&gt;total 356&lt;br /&gt;drwxr-xr-x 7 root root &amp;nbsp; 4096 Apr &amp;nbsp;8 14:08 .&lt;br /&gt;drwxr-xr-x 3 root root &amp;nbsp; 4096 Apr &amp;nbsp;8 14:06 ..&lt;br /&gt;drwxr-xr-x 8 root root &amp;nbsp; 4096 Apr &amp;nbsp;8 14:08 .git&lt;br /&gt;-rw-r--r-- 1 root root &amp;nbsp;17990 Apr &amp;nbsp;8 14:07 COPYING&lt;br /&gt;-rw-r--r-- 1 root root 268285 Apr &amp;nbsp;8 14:08 ChangeLog&lt;br /&gt;drwxr-xr-x 3 root root &amp;nbsp; 4096 Apr &amp;nbsp;8 14:08 Documentation&lt;br /&gt;-rw-r--r-- 1 root root &amp;nbsp; 1365 Apr &amp;nbsp;8 14:07 Makefile&lt;br /&gt;-rw-r--r-- 1 root root &amp;nbsp;14421 Apr &amp;nbsp;8 14:08 README&lt;br /&gt;-rw-r--r-- 1 root root &amp;nbsp; 2971 Apr &amp;nbsp;8 14:08 aufs2-base.patch&lt;br /&gt;-rw-r--r-- 1 root root &amp;nbsp; &amp;nbsp;978 Apr &amp;nbsp;8 14:08 aufs2-kbuild.patch&lt;br /&gt;-rw-r--r-- 1 root root &amp;nbsp; 8732 Apr &amp;nbsp;8 14:08 aufs2-standalone.patch&lt;br /&gt;-rw-r--r-- 1 root root &amp;nbsp; 2793 Apr &amp;nbsp;8 14:08 config.mk&lt;br /&gt;drwxr-xr-x 2 root root &amp;nbsp; 4096 Apr &amp;nbsp;8 14:08 design&lt;br /&gt;drwxr-xr-x 3 root root &amp;nbsp; 4096 Apr &amp;nbsp;8 14:08 fs&lt;br /&gt;drwxr-xr-x 3 root root &amp;nbsp; 4096 Apr &amp;nbsp;8 14:07 include&lt;/blockquote&gt;&lt;div&gt;linux-2.6.38用のパッチが作成されました。&lt;br /&gt;&lt;br /&gt;カーネルソースディレクトリに移動し、パッチを当てます。&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;blockquote&gt;root@hana:~/Kernel/linux-2.6.38.2# patch -p1 &amp;lt; ~/tmp/aufs2-standalone.git/aufs2-base.patch patching file fs/namei.c&lt;br /&gt;patching file fs/splice.c&lt;br /&gt;patching file include/linux/namei.h&lt;br /&gt;patching file include/linux/splice.h&lt;br /&gt;root@hana:~/Kernel/linux-2.6.38.2# patch -p1 &amp;lt; ~/tmp/aufs2-standalone.git/aufs2-kbuild.patch&lt;br /&gt;patching file fs/Kconfig&lt;br /&gt;patching file fs/Makefile&lt;br /&gt;patching file include/linux/Kbuild&lt;br /&gt;root@hana:~/Kernel/linux-2.6.38.2# patch -p1 &amp;lt; ~/tmp/aufs2-standalone.git/aufs2-standalone.patch&lt;br /&gt;patching file fs/file_table.c&lt;br /&gt;patching file fs/inode.c&lt;br /&gt;patching file fs/namei.c&lt;br /&gt;patching file fs/namespace.c&lt;br /&gt;patching file fs/notify/group.c&lt;br /&gt;patching file fs/notify/mark.c&lt;br /&gt;patching file fs/open.c&lt;br /&gt;patching file fs/splice.c&lt;br /&gt;patching file security/commoncap.c&lt;br /&gt;patching file security/device_cgroup.c&lt;br /&gt;patching file security/security.c&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;必要なファイルもコピーします。&lt;br /&gt;&lt;blockquote&gt;root@hana:~/Kernel/linux-2.6.38.2# cp -R ~/tmp/aufs2-standalone.git/Documentation ./&lt;br /&gt;root@hana:~/Kernel/linux-2.6.38.2# cp -R ~/tmp/aufs2-standalone.git/fs ./&lt;br /&gt;root@hana:~/Kernel/linux-2.6.38.2# cp -R ~/tmp/aufs2-standalone.git/include/linux/aufs_type.h ./include/linux/&amp;nbsp;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;make menuconfig で必要な設定をします。aufsに関する設定パラメータは以下の通りです。&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;root@hana:~/Kernel/linux-2.6.38.2# egrep AUFS .config&lt;br /&gt;CONFIG_AUFS_FS=m&lt;br /&gt;CONFIG_AUFS_BRANCH_MAX_127=y&lt;br /&gt;# CONFIG_AUFS_BRANCH_MAX_511 is not set&lt;br /&gt;# CONFIG_AUFS_BRANCH_MAX_1023 is not set&lt;br /&gt;# CONFIG_AUFS_BRANCH_MAX_32767 is not set&lt;br /&gt;CONFIG_AUFS_SBILIST=y&lt;br /&gt;CONFIG_AUFS_HNOTIFY=y&lt;br /&gt;CONFIG_AUFS_HFSNOTIFY=y&lt;br /&gt;CONFIG_AUFS_RDU=y&lt;br /&gt;CONFIG_AUFS_SP_IATTR=y&lt;br /&gt;CONFIG_AUFS_SHWH=y&lt;br /&gt;CONFIG_AUFS_BR_RAMFS=y&lt;br /&gt;CONFIG_AUFS_BR_FUSE=y&lt;br /&gt;CONFIG_AUFS_POLL=y&lt;br /&gt;CONFIG_AUFS_BDEV_LOOP=y&lt;br /&gt;CONFIG_AUFS_DEBUG=y&lt;br /&gt;CONFIG_AUFS_MAGIC_SYSRQ=y&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;カーネルをコンパイル、インストールして再起動します。&lt;br /&gt;&lt;blockquote&gt;root@hana:~# modprobe aufs&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;root@hana:~# lsmod |grep auf&lt;br /&gt;aufs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;464609 &amp;nbsp;0&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;root@hana:~# modinfo aufs&lt;br /&gt;filename: &amp;nbsp; &amp;nbsp; &amp;nbsp; /lib/modules/2.6.38.2-64aufs01/kernel/fs/aufs/aufs.ko&lt;br /&gt;version: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2.1-standalone.tree-38-20110404&lt;br /&gt;description: &amp;nbsp; &amp;nbsp;aufs -- Advanced multi layered unification filesystem&lt;br /&gt;author: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Junjiro R. Okajima &lt;aufs-users@lists.sourceforge.net&gt;&lt;br /&gt;license: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GPL&lt;br /&gt;srcversion: &amp;nbsp; &amp;nbsp; D52E89D4B96A545C9E3E064&lt;br /&gt;depends: &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;vermagic: &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.6.38.2-64aufs01 SMP mod_unload modversions&lt;br /&gt;parm: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sysrq:MagicSysRq key for aufs (charp)&lt;br /&gt;parm: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; debug:debug print (int)&lt;br /&gt;parm: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; brs:use &lt;sysfs&gt;/fs/aufs/si_*/brN (int)&lt;/sysfs&gt;&lt;/aufs-users@lists.sourceforge.net&gt;&lt;/blockquote&gt;インストールは以上です。Debian squeezeだとmountコマンドは最初からaufsをサポートしているようです（？要確認）&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;試してみます。&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;テストディレクトリを作成する。&lt;/div&gt;&lt;blockquote&gt;mkdir /tmp/{base,cover,mnt}&lt;/blockquote&gt;&lt;blockquote&gt;/tmp/base ベースディレクトリ、リードオンリーマウントする&lt;br /&gt;/tmp/cover &amp;nbsp;上から重ねるディレクトリ。書き込み可能&lt;br /&gt;/tmp/mnt マウントポイント&lt;/blockquote&gt;&lt;div&gt;ベースディレクトリにテストディレクトリdir1、テストファイルfile1、file11を作成する。&lt;/div&gt;&lt;blockquote&gt;mkdir /tmp/base/dir1&lt;br /&gt;echo 1 &amp;gt; /tmp/base/file1&lt;br /&gt;echo 11 &amp;gt; /tmp/base/dir1/file11&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;aufsでマウントする。&lt;/div&gt;&lt;blockquote&gt;mount -t aufs -o br=/tmp/cover=rw:/tmp/base=ro none /tmp/mnt/&lt;br /&gt;mount|grep aufs&lt;br /&gt;none on /tmp/mnt type aufs (rw,br=/tmp/cover=rw:/tmp/base=ro)&lt;/blockquote&gt;&lt;div&gt;ディレクトリ構造は、それぞれ次のようになる。&lt;/div&gt;&lt;blockquote&gt;tree -a /tmp/{base,cover,mnt}&lt;br /&gt;/tmp/base&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/cover&lt;br /&gt;|-- .wh..wh.aufs&lt;br /&gt;|-- .wh..wh.orph&lt;br /&gt;`-- .wh..wh.plnk&lt;br /&gt;/tmp/mnt&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;4 directories, 5 files&lt;/blockquote&gt;&lt;div&gt;マウントしたディレクトリに新たにファイルを作成する。&lt;/div&gt;&lt;blockquote&gt;echo 2 &amp;gt; /tmp/mnt/file2&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;リードオンリーの/tmp/baseは変わらずに、書き込み可能な/tmp/coverにfile2が作成される。&lt;/div&gt;&lt;blockquote&gt;tree -a /tmp/{base,cover,mnt}&lt;br /&gt;/tmp/base&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/cover&lt;br /&gt;|-- .wh..wh.aufs&lt;br /&gt;|-- .wh..wh.orph&lt;br /&gt;|-- .wh..wh.plnk&lt;br /&gt;`-- file2&lt;br /&gt;/tmp/mnt&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;|-- file1&lt;br /&gt;`-- file2&lt;br /&gt;4 directories, 7 files&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;ファイルの削除&lt;/div&gt;&lt;div&gt;/tmp/mnt/file1を削除すると、/tmp/cover/.wh.file1が作成され、/tmp/mnt/file1が見えなくなる。&lt;/div&gt;&lt;div&gt;/tmp/mnt/file2を削除すると、単純に/tmp/coverからfile2が消える。&lt;/div&gt;&lt;blockquote&gt;rm /tmp/mnt/file{1,2}&lt;br /&gt;tree -a /tmp/{base,cover,mnt}&lt;br /&gt;/tmp/base&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/cover&lt;br /&gt;|-- .wh..wh.aufs&lt;br /&gt;|-- .wh..wh.orph&lt;br /&gt;|-- .wh..wh.plnk&lt;br /&gt;`-- .wh.file1&lt;br /&gt;/tmp/mnt&lt;br /&gt;`-- dir1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;`-- file11&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;4 directories, 5 files&lt;/blockquote&gt;元とは違う内容で/tmp/mnt/file1を作成すると、/tm/cover/にもfile1が作成される。&lt;br /&gt;&lt;blockquote&gt;echo x &amp;gt; /tmp/mnt/file1&lt;br /&gt;tree -a /tmp/{base,cover,mnt}&lt;br /&gt;/tmp/base&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/cover&lt;br /&gt;|-- .wh..wh.aufs&lt;br /&gt;|-- .wh..wh.orph&lt;br /&gt;|-- .wh..wh.plnk&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/mnt&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;4 directories, 6 files&lt;/blockquote&gt;&lt;div&gt;それぞれのファイルの内容を確認すると、/tmp/base/file1のみが元の内容のままで、/tmp/cover/file1、/tmp/mnt/file1は新しい内容になっていることがわかる。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;head /tmp/{base,cover,mnt}/file1&lt;br /&gt;==&amp;gt; /tmp/base/file1 &amp;lt;==&lt;br /&gt;1&lt;br /&gt;==&amp;gt; /tmp/cover/file1 &amp;lt;==&lt;br /&gt;x&lt;br /&gt;==&amp;gt; /tmp/mnt/file1 &amp;lt;==&lt;br /&gt;x&lt;/blockquote&gt;&lt;div&gt;ディレクトリの削除&lt;/div&gt;&lt;div&gt;/tmp/mnt/dir1を削除すると/tmp/mntからはdir1が消え、/tmp/coverに.wh.dir1が作成される。&lt;/div&gt;&lt;blockquote&gt;rm -r /tmp/mnt/dir1&lt;br /&gt;tree -a /tmp/{base,cover,mnt}&lt;br /&gt;/tmp/base&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/cover&lt;br /&gt;|-- .wh..wh.aufs&lt;br /&gt;|-- .wh..wh.orph&lt;br /&gt;|-- .wh..wh.plnk&lt;br /&gt;`-- .wh.dir1&lt;br /&gt;/tmp/mnt&lt;br /&gt;`-- file1&lt;br /&gt;3 directories, 5 files&lt;/blockquote&gt;&lt;div&gt;もう一度/tmp/mnt/dir1を作成してみると、/tmp/coverにあった.wh.dir1が無くなり、新たに/tmp/cover/dir1、/tmp/cover/dir1/.wh..wh..opqが作成される。&lt;/div&gt;&lt;blockquote&gt;mkdir /tmp/mnt/dir1&lt;br /&gt;tree -a /tmp/{base,cover,mnt}&lt;br /&gt;/tmp/base&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/cover&lt;br /&gt;|-- .wh..wh.aufs&lt;br /&gt;|-- .wh..wh.orph&lt;br /&gt;|-- .wh..wh.plnk&lt;br /&gt;`-- dir1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;`-- .wh..wh..opq&lt;br /&gt;/tmp/mnt&lt;br /&gt;|-- dir1&lt;br /&gt;`-- file1&lt;br /&gt;5 directories, 5 files&lt;/blockquote&gt;/tmp/cover/dir1/.wh..wh..opq　の中身は空である。&lt;br /&gt;&lt;blockquote&gt;file /tmp/cover/dir1/.wh..wh..opq&lt;br /&gt;/tmp/cover/dir1/.wh..wh..opq: empty&lt;/blockquote&gt;&lt;div&gt;/tmp/mnt/dir1/file11を作成してみると、/tmp/cover/dir1/file11が作成される。&lt;/div&gt;&lt;blockquote&gt;echo xx &amp;gt; /tmp/mnt/dir1/file11&lt;br /&gt;tree -a /tmp/{base,cover,mnt}&lt;br /&gt;/tmp/base&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;/tmp/cover&lt;br /&gt;|-- .wh..wh.aufs&lt;br /&gt;|-- .wh..wh.orph&lt;br /&gt;|-- .wh..wh.plnk&lt;br /&gt;`-- dir1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;|-- .wh..wh..opq&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;`-- file11&lt;br /&gt;/tmp/mnt&lt;br /&gt;|-- dir1&lt;br /&gt;| &amp;nbsp; `-- file11&lt;br /&gt;`-- file1&lt;br /&gt;5 directories, 7 files&lt;/blockquote&gt;&lt;div&gt;それぞれのディレクトリにあるfile11の内容は以下の通りで、/tmp/base/dir1/file11が元の内容、/tmp/cover/dir1/file11、/tmp/mnt/dir1/file11が新しい内容である。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;head /tmp/{base,cover,mnt}/dir1/file11&lt;br /&gt;==&amp;gt; /tmp/base/dir1/file11 &amp;lt;==&lt;br /&gt;11&lt;br /&gt;==&amp;gt; /tmp/cover/dir1/file11 &amp;lt;==&lt;br /&gt;xx&lt;br /&gt;==&amp;gt; /tmp/mnt/dir1/file11 &amp;lt;==&lt;br /&gt;xx&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;まとめ&lt;/b&gt;&lt;br /&gt;スタッカブルなファイルシステムaufsについて試してみた。リードオンリーなディレクトリの上に、読み書き専用のディレクトリを重ねてマウントできることが確認できた。&lt;br /&gt;また、簡単な例のみであるが、ファイルの作成、削除、ディレクトリの作成、削除を行った際に、どのような動作をするのか何となくわかった。&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-345152562417010227?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2011/04/aufs21.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-9198144161358247754</guid><pubDate>Thu, 07 Apr 2011 18:59:00 +0000</pubDate><atom:updated>2011-04-08T04:22:32.555+09:00</atom:updated><title>GNU tarでシンボリックリンクのタイムスタンプが保存されない - 1.24以降ならOK</title><description>&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;GNU tar 1.24以降であれば、タイムスタンプが保存されるようである。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://git.savannah.gnu.org/cgit/tar.git/plain/NEWS?id=release_1_24"&gt;http://git.savannah.gnu.org/cgit/tar.git/plain/NEWS?id=release_1_24&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;** Symbolic link attributes When extracting symbolic links, tar now restores attributes such as last-modified time and link permissions, if the operating system supports this.  For example, recent versions of the Linux kernel support setting times on symlinks, and some BSD kernels also support symlink permissions.&lt;/blockquote&gt;&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;&lt;/pre&gt;Debian squeeze のtarは1.23である。&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;ktaka@hana:~$ tar --version&lt;br /&gt;tar (GNU tar) 1.23&lt;br /&gt;Copyright (C) 2010 Free Software Foundation, Inc.&lt;br /&gt;License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;.&lt;/http://gnu.org/licenses/gpl.html&gt;&lt;br /&gt;This is free software: you are free to change and redistribute it.&lt;br /&gt;There is NO WARRANTY, to the extent permitted by law.&lt;br /&gt;&lt;br /&gt;Written by John Gilmore and Jay Fenlason.&lt;/div&gt;&lt;/blockquote&gt;タイムスタンプがApr 1 00:00のシンボリックリンクを作成。&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;ktaka@hana:~$ mkdir p &lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;div&gt;ktaka@hana:~$ for i in  a b c d e f g ; do ln -s /tmp/$i p/$i; touch -ht 04010000 p/$i ; done&lt;br /&gt;ktaka@hana:~$ ls -la p&lt;br /&gt;total 8&lt;br /&gt;drwxr-xr-x  2 ktaka ktaka 4096 Apr  8 03:03 .&lt;br /&gt;drwx------ 79 ktaka ktaka 4096 Apr  8 03:03 ..&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 a -&amp;gt; /tmp/a&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 b -&amp;gt; /tmp/b&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 c -&amp;gt; /tmp/c&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 d -&amp;gt; /tmp/d&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 e -&amp;gt; /tmp/e&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 f -&amp;gt; /tmp/f&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 g -&amp;gt; /tmp/g&lt;/div&gt;&lt;/blockquote&gt;tarアーカイブを作成&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;ktaka@hana:~$ (cd p; tar cf - .)|gzip &amp;gt; p.tgz&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;中身を確認すると、確かに正しいタイムスタンプでアーカイブが作成されている。&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;ktaka@hana:~$ tar ztvf p.tgz &lt;/div&gt;&lt;div&gt;drwxr-xr-x ktaka/ktaka       0 2011-04-08 03:03 ./&lt;br /&gt;lrwxrwxrwx ktaka/ktaka       0 2011-04-01 00:00 ./f -&amp;gt; /tmp/f&lt;br /&gt;lrwxrwxrwx ktaka/ktaka       0 2011-04-01 00:00 ./c -&amp;gt; /tmp/c&lt;br /&gt;lrwxrwxrwx ktaka/ktaka       0 2011-04-01 00:00 ./g -&amp;gt; /tmp/g&lt;br /&gt;lrwxrwxrwx ktaka/ktaka       0 2011-04-01 00:00 ./a -&amp;gt; /tmp/a&lt;br /&gt;lrwxrwxrwx ktaka/ktaka       0 2011-04-01 00:00 ./e -&amp;gt; /tmp/e&lt;br /&gt;lrwxrwxrwx ktaka/ktaka       0 2011-04-01 00:00 ./d -&amp;gt; /tmp/d&lt;br /&gt;lrwxrwxrwx ktaka/ktaka       0 2011-04-01 00:00 ./b -&amp;gt; /tmp/b&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;アーカイブをqディレクトリに展開&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;ktaka@hana:~$ mkdir q; (cd q; tar zxf ../p.tgz) ; date &lt;/div&gt;&lt;div&gt;Fri Apr  8 03:16:26 JST 2011&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;タイムスタンプがアーカイブを展開した時刻になってしまう。&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;ktaka@hana:~$ ls -la q/&lt;br /&gt;total 8&lt;br /&gt;drwxr-xr-x  2 ktaka ktaka 4096 Apr  8 03:03 .&lt;br /&gt;drwx------ 79 ktaka ktaka 4096 Apr  8 03:16 ..&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  8 03:16 a -&amp;gt; /tmp/a&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  8 03:16 b -&amp;gt; /tmp/b&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  8 03:16 c -&amp;gt; /tmp/c&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  8 03:16 d -&amp;gt; /tmp/d&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  8 03:16 e -&amp;gt; /tmp/e&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  8 03:16 f -&amp;gt; /tmp/f&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  8 03:16 g -&amp;gt; /tmp/g&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;GNU tar 1.24で試してみる。&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;ktaka@hana:~$ ./tar-1.24/_inst/bin/tar --version&lt;br /&gt;tar (GNU tar) 1.24&lt;br /&gt;Copyright (C) 2010 Free Software Foundation, Inc.&lt;br /&gt;License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;.&lt;/http://gnu.org/licenses/gpl.html&gt;&lt;br /&gt;This is free software: you are free to change and redistribute it.&lt;br /&gt;There is NO WARRANTY, to the extent permitted by law.&lt;br /&gt;&lt;br /&gt;Written by John Gilmore and Jay Fenlason.&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&amp;nbsp;ディレクトリrに展開してみる。&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;ktaka@hana:~$ mkdir r; (cd r; ../tar-1.24/_inst/bin/tar zxf ../p.tgz) ; date &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Fri Apr  8 03:35:37 JST 2011&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;ktaka@hana:~$ ls -la r&lt;br /&gt;total 8&lt;br /&gt;drwxr-xr-x  2 ktaka ktaka 4096 Apr  8 03:03 .&lt;br /&gt;drwx------ 81 ktaka ktaka 4096 Apr  8 03:35 ..&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 a -&amp;gt; /tmp/a&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 b -&amp;gt; /tmp/b&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 c -&amp;gt; /tmp/c&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 d -&amp;gt; /tmp/d&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 e -&amp;gt; /tmp/e&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 f -&amp;gt; /tmp/f&lt;br /&gt;lrwxrwxrwx  1 ktaka ktaka    6 Apr  1 00:00 g -&amp;gt; /tmp/g&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;正しいタイムスタンプで シンボリックリンクを展開することができた。&lt;br /&gt;&lt;br /&gt;参考リンク&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mail-archive.com/bug-tar@gnu.org/msg02281.html"&gt;http://www.mail-archive.com/bug-tar@gnu.org/msg02281.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-9198144161358247754?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2011/04/gnu-tar124ok.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-8039439834624403616</guid><pubDate>Thu, 07 Apr 2011 17:40:00 +0000</pubDate><atom:updated>2011-04-08T02:41:43.632+09:00</atom:updated><title>BloggerのDynamic viewがおしゃれ</title><description>このブログのは&lt;a href="http://ktaka.blog.clustcom.com/"&gt;http://ktaka.blog.clustcom.com/&lt;/a&gt;ですが、&lt;br /&gt;末尾に/viewを追加すると、おしゃれなページに早変わり。&lt;br /&gt;現在、用意されているviewは以下の５つ。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ktaka.blog.clustcom.com/view/flipcard"&gt;http://ktaka.blog.clustcom.com/view/flipcard&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ktaka.blog.clustcom.com/view/mosaic"&gt;http://ktaka.blog.clustcom.com/view/mosaic&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ktaka.blog.clustcom.com/view/sidebar"&gt;http://ktaka.blog.clustcom.com/view/sidebar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ktaka.blog.clustcom.com/view/snapshot"&gt;http://ktaka.blog.clustcom.com/view/snapshot&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ktaka.blog.clustcom.com/view/timeslied"&gt;http://ktaka.blog.clustcom.com/view/timeslied&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;詳しくは&lt;a href="http://www.google.com/support/blogger/bin/answer.py?answer=1229061"&gt;ここ&lt;/a&gt;と&lt;a href="http://www.google.com/support/blogger/bin/answer.py?hl=en&amp;amp;answer=1227173"&gt;ここ&lt;/a&gt;にアナウンスがあります。&lt;br /&gt;今後、ユーザーがview自体をカスタマイズできるようにもなるようです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-8039439834624403616?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2011/04/bloggerdynamic-view.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-296468587081372180</guid><pubDate>Wed, 15 Sep 2010 06:08:00 +0000</pubDate><atom:updated>2011-03-04T14:51:58.805+09:00</atom:updated><title>ファイル編集前の簡易バックアップ</title><description>Linuxの設定ファイルなどを編集する際に、編集前のファイルのバックアップを取って置きたいことがある。設定をしくじったりした場合に、元の設定に戻したいからだ。&lt;br /&gt;&lt;br /&gt;私は、そのために、次のようなシェルコマンドを自作して利用している。&lt;br /&gt;&lt;br /&gt;以下の内容で、~/.functionsを作成する。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;bk () &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; file=${1##*/};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dir=${1%${1##*/}};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( if [ "$dir" = "" ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ -d "$dir" ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo cd $dir;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cd $dir;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "No such directory: $dir ";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ -f "$file" ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir -p .bk;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo cp -p $file .bk/$file.$(date +"%Y%m%d%H%M" -r $file);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp -p $file .bk/$file.$(date +"%Y%m%d%H%M" -r $file);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "No such file: $file ";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi )&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;この関数は、以下のような動作をするものである。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;バックアップを取りたいファイルが存在するディレクトリに.bk/とサブディレクトリを作成する。&lt;/li&gt;&lt;li&gt;ファイルの最終変更日時(mtime)をサフィックスにもつコピーを作成する。 &lt;/li&gt;&lt;/ul&gt;使用例 &lt;br /&gt;&lt;blockquote&gt;ktaka@hana:~$ . ~/.functions &lt;br /&gt;ktaka@hana:~$ ls -la /home/ktaka/hello &lt;br /&gt;-rw-r--r-- 1 ktaka ktaka 1048576000 May 27&amp;nbsp; 2009 /home/ktaka/hello&lt;br /&gt;ktaka@hana:~$ bk /home/ktaka/hello &lt;br /&gt;cd /home/ktaka/&lt;br /&gt;cp -p hello .bk/hello.200905270208&lt;br /&gt;ktaka@hana:~$ ls -la /home/ktaka/.bk/hello.200905270208 &lt;br /&gt;-rw-r--r-- 1 ktaka ktaka 1048576000 May 27&amp;nbsp; 2009 /home/ktaka/.bk/hello.200905270208&lt;/blockquote&gt;&amp;nbsp;ファイルの更新時をサフィックスに持つので、複数のバックアップファイルが存在する場合でも便利である。&lt;br /&gt;&lt;br /&gt;~/.bashrcで.functionsを読み込むようにしておくと良い。&lt;br /&gt;&lt;blockquote&gt;if [ -f ~/.functions ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . ~/.functions&lt;br /&gt;fi&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-296468587081372180?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2010/09/blog-post.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-4477688336802720624</guid><pubDate>Sat, 16 Jan 2010 07:28:00 +0000</pubDate><atom:updated>2010-01-16T16:31:01.274+09:00</atom:updated><title>i3200でedacを使うには、カーネルを2.6.32にしなければならない。</title><description>メモリが壊れているかな？&lt;br /&gt;&lt;br /&gt;BIOSより、DMIログを覗いてみると。。。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;                    Phoenix cME FirstBIOS Pro Setup Utility                    &lt;br /&gt;             Advanced                                                          &lt;br /&gt;+---------+----------------------------------------------------------+---------+&lt;br /&gt;|         |                      DMI Event Log                       | Help    |&lt;br /&gt;|---------|----------------------------------------------------------|---------|&lt;br /&gt;|         |                                                          |         |&lt;br /&gt;|   Event | 01/16/2010  14:44:12  Pre-Boot Error:                  ^ |ts of    |&lt;br /&gt;|   Event |     Keyboard Not Functional                            . |og.      |&lt;br /&gt;|         |                                                        . |         |&lt;br /&gt;|   View D| 01/16/2010  14:44:46  Single-Bit ECC Errors in DIMM#   . |         |&lt;br /&gt;|   Event | 01/16/2010  14:45:45  Single-Bit ECC Errors in DIMM#   . |         |&lt;br /&gt;|         | 01/16/2010  14:45:45  Pre-Boot Error:                  : |         |&lt;br /&gt;|   Mark D|     Keyboard Not Functional                            : |         |&lt;br /&gt;|   Clear |                                                        : |         |&lt;br /&gt;|         | 01/16/2010  14:46:28  Single-Bit ECC Errors in DIMM#   : |         |&lt;br /&gt;|         | 01/16/2010  14:47:00  Single-Bit ECC Errors in DIMM#   : |         |&lt;br /&gt;|         | 01/16/2010  14:47:00  Pre-Boot Error:                  : |         |&lt;br /&gt;|         |     Keyboard Not Functional                            . |         |&lt;br /&gt;|         |                                                          |         |&lt;br /&gt;|         |                       [Continue]                         |         |&lt;br /&gt;|         +----------------------------------------------------------+         |&lt;br /&gt;|                                                    |                         |&lt;br /&gt;+------------------------------------------------------------------------------&lt;br /&gt;&lt;/blockquote&gt;せっかくなので、linuxのedacで検出してみる。&lt;br /&gt;&lt;br /&gt;i3200でedacを使うには、カーネルを2.6.32にしなければならない。&lt;br /&gt;ずっと前からコードはあったので、とっくにマージされていたと思っていました。&lt;br /&gt;&lt;br /&gt;モジュールはこれ&lt;br /&gt;&lt;blockquote&gt;lenny64:~# lsmod |grep edac&lt;br /&gt;i3200_edac              3599  0&lt;br /&gt;&lt;/blockquote&gt;エラー出力&lt;br /&gt;&lt;blockquote&gt;lenny64:~# dmesg |tail&lt;br /&gt;EDAC DEBUG: i3200_check: MC0: i3200_check()&lt;br /&gt;EDAC MC0: CE page 0x0, offset 0x0, grain 1073741824, syndrome 0x54, row 1, channel 0, label "": i3200 CE&lt;br /&gt;EDAC DEBUG: i3200_check: MC0: i3200_check()&lt;br /&gt;EDAC MC0: CE page 0x0, offset 0x0, grain 1073741824, syndrome 0x54, row 1, channel 0, label "": i3200 CE&lt;br /&gt;EDAC DEBUG: i3200_check: MC0: i3200_check()&lt;br /&gt;EDAC MC0: CE page 0x0, offset 0x0, grain 1073741824, syndrome 0x54, row 1, channel 0, label "": i3200 CE&lt;br /&gt;EDAC DEBUG: i3200_check: MC0: i3200_check()&lt;br /&gt;EDAC MC0: CE page 0x0, offset 0x0, grain 1073741824, syndrome 0x54, row 1, channel 0, label "": i3200 CE&lt;br /&gt;EDAC DEBUG: i3200_check: MC0: i3200_check()&lt;br /&gt;EDAC MC0: CE page 0x0, offset 0x0, grain 1073741824, syndrome 0x54, row 1, channel 0, label "": i3200 CE&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-4477688336802720624?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2010/01/i3200edac2632.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-8153740561772833385</guid><pubDate>Mon, 09 Nov 2009 01:47:00 +0000</pubDate><atom:updated>2009-11-09T11:54:01.751+09:00</atom:updated><title>VAIO X linuxでの輝度調整</title><description>&lt;a href="http://garin.jp/doc/%E6%A9%9F%E7%A8%AE%E5%88%A5/vaio_type_p/bright"&gt;ここ&lt;/a&gt;を参考に。&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;setpci コマンドで直接設定を行います。 VAIO type P では 00:02.0 F4.B が輝度用のデバイスです。&lt;br /&gt;輝度の範囲は 00〜FF(暗い〜明い) です。&lt;/p&gt; &lt;/blockquote&gt;VAIO Xでも同じだろうということでやってみると、やはりその通り。輝度調節できました。&lt;br /&gt;&lt;br /&gt;最小はB=0だけど、そうすると真っ暗になってしまう。B=10前後がいいところか。&lt;br /&gt;setpci -s 00:02.0 F4.B=10&lt;br /&gt;&lt;br /&gt;最大はB=FF。&lt;br /&gt;setpci -s 00:02.0 F4.B=FF&lt;br /&gt;&lt;br /&gt;B=10の時の消費電力&lt;br /&gt;&lt;blockquote&gt;# grep rate  /proc/acpi/battery/BAT0/state&lt;br /&gt;present rate:            6104 mW&lt;br /&gt;&lt;/blockquote&gt;B=FFの時の消費電力&lt;br /&gt;&lt;blockquote&gt;# grep rate  /proc/acpi/battery/BAT0/state&lt;br /&gt;present rate:            7628 mW&lt;br /&gt;&lt;/blockquote&gt;Lバッテリの場合"design capacity: 33590 mWh"なので、B=10にすれば、5時間ちょっとは使えそうです。&lt;br /&gt;&lt;br /&gt;追記 cpufreqdの設定で、ACプラグON/OFFで輝度が変わるようにしました。&lt;br /&gt;/etc/cpufreqd.conf&lt;br /&gt;&lt;blockquote&gt;[Profile]&lt;br /&gt;name=Performance High&lt;br /&gt;minfreq=100%&lt;br /&gt;maxfreq=100%&lt;br /&gt;policy=performance&lt;br /&gt;exec_post=/usr/bin/setpci -s 00:02.0 F4.B=ff&lt;br /&gt;[/Profile]&lt;br /&gt;&lt;br /&gt;[Profile]&lt;br /&gt;name=Powersave Low&lt;br /&gt;minfreq=40%&lt;br /&gt;maxfreq=40%&lt;br /&gt;policy=powersave&lt;br /&gt;exec_post=/usr/bin/setpci -s 00:02.0 F4.B=10&lt;br /&gt;[/Profile]&lt;br /&gt;&lt;br /&gt;[Rule]&lt;br /&gt;name=AC Rule&lt;br /&gt;ac=on&lt;br /&gt;profile=Performance High&lt;br /&gt;[/Rule]&lt;br /&gt;&lt;br /&gt;[Rule]&lt;br /&gt;name=AC Off - Low Battery&lt;br /&gt;ac=off&lt;br /&gt;battery_interval=0-100&lt;br /&gt;profile=Powersave Low&lt;br /&gt;[/Rule]&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-8153740561772833385?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/11/vaio-x-linux.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-3566623709541499126</guid><pubDate>Wed, 04 Nov 2009 04:53:00 +0000</pubDate><atom:updated>2009-11-04T14:01:32.673+09:00</atom:updated><title>vaio x + d31hw 電池の持ちは3.5時間</title><description>イーモバイルD31HWでロマンスカー車内から接続中。&lt;br /&gt;&lt;br /&gt;消費電力は約10W。この調子だと、せいぜい3.5時間がいいところです&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;vaiox:~# cat /proc/acpi/battery/BAT0/state&lt;br /&gt;present:                 yes&lt;br /&gt;capacity state:          ok&lt;br /&gt;charging state:          discharging&lt;br /&gt;present rate:            10101 mW&lt;br /&gt;remaining capacity:      32240 mWh&lt;br /&gt;present voltage:         7992 mV&lt;/blockquote&gt;vaio xは店頭販売モデルなのでLバッテリが標準ですが、Xバッテリが欲しくなります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-3566623709541499126?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/11/vaio-x-d31hw-35.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-3250330542637742155</guid><pubDate>Tue, 03 Nov 2009 10:36:00 +0000</pubDate><atom:updated>2009-11-03T20:27:14.680+09:00</atom:updated><title>vaio xの駆動時間は実質4時間位か</title><description>メーカーのページにL型バッテリ駆動時間は約10時間とあるので期待して購入したvaio xですが、私の環境では、4時間位がいいところのようです。&lt;br /&gt;&lt;br /&gt;環境　Debian Linux(カーネル2.6.31.5)&lt;br /&gt;&lt;br /&gt;電池の容量は、33590 mWh&lt;br /&gt;&lt;blockquote&gt;vaiox:/home/ktaka# cat /proc/acpi/battery/BAT0/info&lt;br /&gt;present:                 yes&lt;br /&gt;design capacity:         33590 mWh&lt;br /&gt;last full capacity:      33590 mWh&lt;br /&gt;battery technology:      rechargeable&lt;br /&gt;design voltage:          7400 mV&lt;br /&gt;design capacity warning: 3350 mWh&lt;br /&gt;design capacity low:     120 mWh&lt;br /&gt;capacity granularity 1:  0 mWh&lt;br /&gt;capacity granularity 2:  1 mWh&lt;br /&gt;model number:          &lt;br /&gt;serial number:         &lt;br /&gt;battery type:            Lion&lt;br /&gt;OEM info:                Sony Corporation&lt;br /&gt;&lt;/blockquote&gt;800MHz動作時の、消費電力は、7669mW&lt;br /&gt;&lt;blockquote&gt;# cat /proc/acpi/battery/BAT0/state&lt;br /&gt;present:                 yes&lt;br /&gt;capacity state:          ok&lt;br /&gt;charging state:          discharging&lt;br /&gt;present rate:            7669 mW&lt;br /&gt;remaining capacity:      4710 mWh&lt;br /&gt;present voltage:         6928 mV&lt;br /&gt;&lt;/blockquote&gt;よって33590/7669 = 4.38 時間が駆動時間。&lt;br /&gt;&lt;br /&gt;CPUのクロックは、cpufreqdのおかげで、バッテリ駆動時は800MHzになっている。&lt;br /&gt;ACアダプタ使用時 1.87GHz&lt;br /&gt;&lt;blockquote&gt;# cat  /sys/devices/system/cpu/cpu{0,1}/cpufreq/cpuinfo_cur_freq&lt;br /&gt;1866000&lt;br /&gt;1866000&lt;br /&gt;&lt;/blockquote&gt;バッテリ駆動時 800MHz&lt;br /&gt;&lt;blockquote&gt;# cat  /sys/devices/system/cpu/cpu{0,1}/cpufreq/cpuinfo_cur_freq&lt;br /&gt;800000&lt;br /&gt;800000&lt;br /&gt;&lt;/blockquote&gt;cpufreqd.confの内容&lt;br /&gt;&lt;blockquote&gt;[General]&lt;br /&gt;pidfile=/var/run/cpufreqd.pid&lt;br /&gt;poll_interval=2&lt;br /&gt;verbosity=4&lt;br /&gt;[/General]&lt;br /&gt;&lt;br /&gt;[Profile]&lt;br /&gt;name=Performance High&lt;br /&gt;minfreq=100%&lt;br /&gt;maxfreq=100%&lt;br /&gt;policy=performance&lt;br /&gt;#exec_post=echo 8 &gt; /proc/acpi/sony/brightness&lt;br /&gt;[/Profile]&lt;br /&gt;&lt;br /&gt;[Profile]&lt;br /&gt;name=Powersave Low&lt;br /&gt;minfreq=40%&lt;br /&gt;maxfreq=40%&lt;br /&gt;policy=powersave&lt;br /&gt;[/Profile]&lt;br /&gt;&lt;br /&gt;[Rule]&lt;br /&gt;name=AC Rule&lt;br /&gt;ac=on                    # (on/off)&lt;br /&gt;profile=Performance High&lt;br /&gt;[/Rule]&lt;br /&gt;&lt;br /&gt;[Rule]&lt;br /&gt;name=AC Off - Low Battery&lt;br /&gt;ac=off                   # (on/off)&lt;br /&gt;battery_interval=0-100&lt;br /&gt;#exec_post=echo 3 &gt; /proc/acpi/sony/brightness&lt;br /&gt;profile=Powersave Low&lt;br /&gt;[/Rule]&lt;br /&gt;&lt;/blockquote&gt;Poulsbo (GMA 500)のグラフィックドライバ(psb)がバニラカーネルに取り込まれていない。&lt;br /&gt;Ｕｂｕｎｔｕでは、カーネル2.6.28用のドライバが存在するようである。&lt;br /&gt;&lt;br /&gt;今はLCDの輝度調節が効かないが、psbが使えれば、輝度を落とすことができ、もう少し長く使えるようになるかもしれない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-3250330542637742155?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/11/vaio-x4.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-5319982719074251075</guid><pubDate>Sun, 01 Nov 2009 15:28:00 +0000</pubDate><atom:updated>2009-11-02T01:09:50.438+09:00</atom:updated><title>Debian Linux でイーモバイルD31HW使う</title><description>下り最大21Mbps、上り最大5.8Mbpsのデータ通信カード(スティック)イーモバイルのD31HWを使ってみる。&lt;br /&gt;&lt;br /&gt;事前調査によると、このカードは、ストレージとモデムの両方の機能を持っていて、とあるコマンドを送ることによりモードを切り替えられるとのこと。ストレージは、Windowsなどで最初に接続したときに、自動的にデバイスドライバをインストールするためのものであるとのこと。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.37to.net/2009/01/ubuntuemobiled21lc/"&gt;http://blog.37to.net/2009/01/ubuntuemobiled21lc/&lt;br /&gt;&lt;/a&gt;&lt;a href="http://show-cha.seesaa.net/article/125815364.html"&gt;http://show-cha.seesaa.net/article/125815364.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;カードを接続しlsusb で見ると、以下のエントリが現れる。&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Bus 001 Device 004: ID 12d1:1446 Huawei Technologies Co., Ltd.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.draisberghof.de/usb_modeswitch/#download"&gt;ここ&lt;/a&gt;から、usb_modeswitchをダウンロードしインストール。&lt;br /&gt;/etc/usb_modeswitch.conf を以下の内容で作成。&lt;br /&gt;&lt;blockquote&gt;# Emobile D31HW&lt;br /&gt;DefaultVendor=  0x12d1&lt;br /&gt;DefaultProduct= 0x1446&lt;br /&gt;TargetVendor=   0x12d1&lt;br /&gt;TargetProduct=  0x1429&lt;br /&gt;&lt;br /&gt;MessageEndpoint=0x01&lt;br /&gt;MessageContent="55534243000000000000000000000011060000000000000000000000000000"&lt;br /&gt;&lt;/blockquote&gt;usb_modeswitchを実行すると&lt;br /&gt;&lt;blockquote&gt;vaiox:~# usb_modeswitch&lt;br /&gt;&lt;br /&gt;Looking for target devices ...&lt;br /&gt;No devices in target mode or class found&lt;br /&gt;Looking for default devices ...&lt;br /&gt;Found default devices (1)&lt;br /&gt;Accessing device 005 on bus 001 ...&lt;br /&gt;Using endpoints 0x01 (out) and 0x81 (in)&lt;br /&gt;Inquiring device details; driver will be detached ...&lt;br /&gt;Looking for active driver ...&lt;br /&gt;OK, driver found ("usb-storage")&lt;br /&gt;OK, driver "usb-storage" detached&lt;br /&gt;&lt;br /&gt;Received inquiry data (detailed identification)&lt;br /&gt;-------------------------&lt;br /&gt;Vendor String: HUAWEI&lt;br /&gt; Model String: Mass Storage &lt;br /&gt;Revision String: 2.31&lt;br /&gt;-------------------------&lt;br /&gt;&lt;br /&gt;Device description data (identification)&lt;br /&gt;-------------------------&lt;br /&gt;Manufacturer: Huawei Technologies&lt;br /&gt;   Product: HUAWEI Mobile&lt;br /&gt;Serial No.: not provided&lt;br /&gt;-------------------------&lt;br /&gt;Setting up communication with interface 0 ...&lt;br /&gt;Trying to send the message to endpoint 0x01 ...&lt;br /&gt;OK, message successfully sent&lt;br /&gt;-&gt; Run lsusb to note any changes. Bye.&lt;br /&gt;&lt;/blockquote&gt;lsusbで見てみると&lt;br /&gt;&lt;blockquote&gt;Bus 001 Device 006: ID 12d1:1429 Huawei Technologies Co., Ltd.&lt;br /&gt;&lt;/blockquote&gt;デバイスIDが1446から1429に変わっている。&lt;br /&gt;&lt;br /&gt;カーネルモジュールをロードすると、/dev/ttyUSB0,1,2が作成される。&lt;br /&gt;&lt;blockquote&gt;# ls -la /dev/ttyUSB*&lt;br /&gt;ls: cannot access /dev/ttyUSB*: No such file or directory&lt;br /&gt;&lt;br /&gt;# modprobe usbserial vendor=0x12d1 product=0x1429&lt;br /&gt;&lt;br /&gt;# ls -la /dev/ttyUSB*&lt;br /&gt;crw-rw---- 1 root dialout 188, 0 Nov  2 01:02 /dev/ttyUSB0&lt;br /&gt;crw-rw---- 1 root dialout 188, 1 Nov  2 01:02 /dev/ttyUSB1&lt;br /&gt;crw-rw---- 1 root dialout 188, 2 Nov  2 01:02 /dev/ttyUSB2&lt;br /&gt;&lt;/blockquote&gt;そして、pppの設定ファイルを作成&lt;br /&gt;&lt;br /&gt;/etc/ppp/peers/provider&lt;br /&gt;&lt;blockquote&gt;user "em@em"&lt;br /&gt;connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T *99***1#"&lt;br /&gt;/dev/ttyUSB0&lt;br /&gt;115200&lt;br /&gt;defaultroute&lt;br /&gt;persist&lt;br /&gt;noauth&lt;br /&gt;usepeerdns&lt;br /&gt;&lt;/blockquote&gt;接続してみる&lt;br /&gt;&lt;blockquote&gt;# pon&lt;br /&gt;# ps -ef |grep ppp&lt;br /&gt;root      2404     1  0 01:08 ttyUSB0  00:00:00 /usr/sbin/pppd call provider&lt;br /&gt;root      2410  2088  0 01:08 pts/5    00:00:00 grep ppp&lt;br /&gt;# ip add show dev ppp0&lt;br /&gt;6: ppp0: &lt;pointopoint,multicast,noarp,up,lower_up&gt; mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3&lt;br /&gt;    link/ppp&lt;br /&gt;    inet 114.48.27.146 peer 10.64.64.64/32 scope global ppp0&lt;br /&gt;&lt;/blockquote&gt;接続できました。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-5319982719074251075?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/11/debian-linux.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-8341161855431172857</guid><pubDate>Sun, 01 Nov 2009 08:55:00 +0000</pubDate><atom:updated>2009-11-02T12:01:03.005+09:00</atom:updated><title>ＶＡＩＯ X用Linuxカーネルコンフィグ</title><description>VAIO Xの各デバイスを認識させるためにとりあえず必要そうなもの。&lt;br /&gt;&lt;br /&gt;PATA ＳＳＤ用のドライバ　(8086:811a System Controller Hub (SCH Poulsbo) IDE Controller)&lt;br /&gt;&lt;blockquote&gt;CONFIG_PATA_SCH=y&lt;/blockquote&gt;ＮＩＣドライバ(11ab:4380  Ethernet controller: Marvell Technology Group Ltd. Device 4380)&lt;br /&gt;&lt;blockquote&gt;CONFIG_SKY2=m&lt;br /&gt;CONFIG_SKY2_DEBUG=y&lt;br /&gt;&lt;/blockquote&gt;無線LANドライバ(168c:002b AR9285 Wireless Network Adapter (PCI-Express) )&lt;br /&gt;&lt;blockquote&gt;CONFIG_CFG80211=m&lt;br /&gt;CONFIG_CFG80211_REG_DEBUG=y&lt;br /&gt;CONFIG_CFG80211_DEBUGFS=y&lt;br /&gt;CONFIG_LIB80211=m&lt;br /&gt;CONFIG_LIB80211_DEBUG=y&lt;br /&gt;CONFIG_MAC80211=m&lt;br /&gt;CONFIG_MAC80211_DEFAULT_PS=y&lt;br /&gt;CONFIG_MAC80211_DEFAULT_PS_VALUE=1&lt;br /&gt;CONFIG_MAC80211_RC_PID=y&lt;br /&gt;CONFIG_MAC80211_RC_MINSTREL=y&lt;br /&gt;CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y&lt;br /&gt;CONFIG_MAC80211_RC_DEFAULT="minstrel"&lt;br /&gt;CONFIG_MAC80211_LEDS=y&lt;br /&gt;CONFIG_MAC80211_DEBUGFS=y&lt;br /&gt;CONFIG_MAC80211_DEBUG_MENU=y&lt;br /&gt;CONFIG_WLAN_PRE80211=y&lt;br /&gt;CONFIG_WLAN_80211=y&lt;br /&gt;CONFIG_ATH_COMMON=m&lt;br /&gt;CONFIG_ATH5K=m&lt;br /&gt;CONFIG_ATH5K_DEBUG=y&lt;br /&gt;CONFIG_ATH9K=m&lt;br /&gt;CONFIG_ATH9K_DEBUG=y&lt;/blockquote&gt;イーモバイルＤ３１ＨＷのために...&lt;br /&gt;&lt;blockquote&gt;CONFIG_USB_ACM=m&lt;br /&gt;CONFIG_USB_SERIAL=m&lt;br /&gt;CONFIG_USB_SERIAL_GENERIC=y&lt;/blockquote&gt;イーモバイルのデータカードはこれだけではダメで、usb_modeswitchによるモード切替が必要。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-8341161855431172857?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/11/x.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-7166386420199296913</guid><pubDate>Sat, 31 Oct 2009 12:02:00 +0000</pubDate><atom:updated>2009-11-01T17:19:50.370+09:00</atom:updated><title>VAIO X 購入しました</title><description>薄くて、軽くて、電池が長持ち、SonyのネットブックVAIO Xを購入しました。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;CPU Intel Atom Z540 (1.86GHz)&lt;/li&gt;&lt;li&gt;メモリー2GByte&lt;/li&gt;&lt;li&gt;SSD 64GByte&lt;/li&gt;&lt;li&gt;Lバッテリで約10時間駆動&lt;/li&gt;&lt;li&gt;重量　0.765kg&lt;/li&gt;&lt;li&gt;厚み　13.9mm&lt;/li&gt;&lt;li&gt;無線 IEEE802.11b/g/n&lt;/li&gt;&lt;li&gt;ＬＡＮ 1000Base-T&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;スペックは必要にして十分。CPUが64ビット対応でないのだけが残念。(仕事で必要なので。)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DU5F6Jtzx2E/Su1Ef_tK96I/AAAAAAAAAHY/igmz2zZi64c/s1600-h/img_0860.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://1.bp.blogspot.com/_DU5F6Jtzx2E/Su1Ef_tK96I/AAAAAAAAAHY/igmz2zZi64c/s320/img_0860.jpg" alt="" id="BLOGGER_PHOTO_ID_5399046844754622370" border="0" /&gt;&lt;/a&gt;写真は、Let’ｓ note T7と、大きさを比較したもの。Let's noteも1.2kgで電池の持ちも良かったんですが、VAIO Xはそれよりも上を(下を？)行く大きさと、軽さです。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DU5F6Jtzx2E/Su1AAKtpliI/AAAAAAAAAHQ/ErvODmM0YQQ/s1600-h/img_0858.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 146px;" src="http://1.bp.blogspot.com/_DU5F6Jtzx2E/Su1AAKtpliI/AAAAAAAAAHQ/ErvODmM0YQQ/s320/img_0858.jpg" alt="" id="BLOGGER_PHOTO_ID_5399041899907094050" border="0" /&gt;&lt;/a&gt;本当にノートを持ち歩く感覚です。&lt;br /&gt;&lt;br /&gt;ソニーの宣伝文句は「余分はいらない。十分がほしい。」ということみたいなので、&lt;br /&gt;早速、Windows 7を消して、Debianを入れました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-7166386420199296913?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/10/vaio-x.html</link><author>noreply@blogger.com (ktaka)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DU5F6Jtzx2E/Su1Ef_tK96I/AAAAAAAAAHY/igmz2zZi64c/s72-c/img_0860.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-4481174790988050380</guid><pubDate>Mon, 26 Oct 2009 15:19:00 +0000</pubDate><atom:updated>2009-10-27T00:34:05.573+09:00</atom:updated><title>[備忘録] テキストコンソールでWeb閲覧</title><description>LinuxのテキストコンソールでWeb閲覧したい件&lt;br /&gt;結局、/dev/tty1ならば、ssh-agent -&gt; jfbterm -&gt; screenと自動起動するようにしました。&lt;br /&gt;&lt;br /&gt;export LC_ALL=ja_JP&lt;br /&gt;export LANG=ja_JP.UTF-8&lt;br /&gt;&lt;br /&gt;if [ `tty` == "/dev/tty1" ] ; then&lt;br /&gt;        exec ssh-agent jfbterm -e screen&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;screenのwindowでemacsを開き、そこで'M-x w3m'とすれば、Webが閲覧できる。&lt;br /&gt;日本語入力もemacs+skkのおかげでほぼ問題無さそうです。&lt;br /&gt;&lt;br /&gt;screenの中からstartxでXが起動できないので、Xを使いたい時は、Alt+F[2-6]で他のttyに切り替えて使用することにします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-4481174790988050380?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/10/web.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4279971486311743746.post-1372393413756303798</guid><pubDate>Mon, 26 Oct 2009 14:00:00 +0000</pubDate><atom:updated>2009-10-27T00:15:29.090+09:00</atom:updated><title>[備忘録] jfbterm終了時に固まることがある件</title><description>ここを参考に、以下のように変更&lt;br /&gt;&lt;br /&gt;ktaka@lets:~/SRC$ diff -c jfbterm-0.4.7_orig/term.c jfbterm-0.4.7/term.c&lt;br /&gt;*** jfbterm-0.4.7_orig/term.c   2003-09-16 00:45:31.000000000 +0900&lt;br /&gt;--- jfbterm-0.4.7/term.c        2009-10-26 23:09:54.000000000 +0900&lt;br /&gt;***************&lt;br /&gt;*** 76,82 ****&lt;br /&gt;  void sigchld(sig) int sig; {&lt;br /&gt;        int st;&lt;br /&gt;        int ret;&lt;br /&gt;!       ret = wait(&amp;st);&lt;br /&gt;        if (ret == gChildProcessId || ret == ECHILD) {&lt;br /&gt;                tvterm_unregister_signal();&lt;br /&gt;                tterm_final(&amp;gTerm);&lt;br /&gt;--- 76,82 ----&lt;br /&gt;  void sigchld(sig) int sig; {&lt;br /&gt;        int st;&lt;br /&gt;        int ret;&lt;br /&gt;!       ret = waitpid(gChildProcessId, &amp;st, WNOHANG);&lt;br /&gt;        if (ret == gChildProcessId || ret == ECHILD) {&lt;br /&gt;                tvterm_unregister_signal();&lt;br /&gt;                tterm_final(&amp;gTerm);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;但し、asm/page.hが無といわれたり、コンパイルが通らないので、&lt;br /&gt;最新のデビアン用の&lt;a href="http://ftp.de.debian.org/debian/pool/main/j/jfbterm/jfbterm_0.4.7-8.diff.gz"&gt;パッチ&lt;/a&gt;を当て、コンパイルを通す。&lt;br /&gt;&lt;br /&gt;今のところ直っているようにみえる。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4279971486311743746-1372393413756303798?l=ktaka.blog.clustcom.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ktaka.blog.clustcom.com/2009/10/jfbterm.html</link><author>noreply@blogger.com (ktaka)</author><thr:total>0</thr:total></item></channel></rss>
