<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>sous le grand arbre</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/" />
    <link rel="self" type="application/atom+xml" href="http://www.grandarbre.net/atom.xml" />
    <id>tag:www.grandarbre.net,2008-08-18://4</id>
    <updated>2008-10-14T11:29:14Z</updated>
    <subtitle>本を読むもよし、昼寝するもよし...</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.2-ja</generator>

<entry>
    <title>グラハン運動会</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/11/post-116.html" />
    <id>tag:www.grandarbre.net,2008://4.408</id>

    <published>2008-11-16T10:48:18Z</published>
    <updated>2008-10-14T11:29:14Z</updated>

    <summary>PPGは空を飛ぶスポーツでグラハンはそのための地上練習なのだが、スクールOBの主...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="アウトドア" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ppg" label="ppg" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>PPGは空を飛ぶスポーツでグラハンはそのための地上練習なのだが、スクールOBの主催でグラハンの運動会が開かれた。空を飛ぶ技術では僕ら初心者はどうやってもベテランにはかなわないし、飛び方をようやくマスターしたようなレベルの人間が競争で一生懸命になってしまうと安全面で問題がある。その点グラハンなら安全の心配はないし、技術だけじゃなくて体力勝負の部分もあるのでがんばれば誰にもチャンスがある。それに初心者用のキャノピーは実はとても扱いやすく有利なのだ。</p>]]>
        <![CDATA[<p>天気予報はちょっと微妙で朝から霧雨が降っていた。とはいえ何週間も前から告知されていた行事だったので半分駄目でもいいやと思って出かけた。雨の日曜朝は道もすいていて早めに着いた。10時開始の予定だったが、その時間にはまだ時々雨が落ちてきて、人もあまり集まっていない。11時頃に雨は大体あがり、20人くらい集まったので競技を開始した。</p>

<p>最初の競技はグラハンのスピード競争。70m位の距離をグラハンをして走りぬけ、タイムを競う。風の有無でだいぶタイムにばらつきが出るが、幸いほとんど無風なので問題はなかった。この競技は技術というよりは脚力とキャノピーの性能で決まる気がするが、下は30代中頃(僕)から上は60代中頃の方まで、年甲斐もなく全速力で走り抜けていた。上位者の順位はトーナメント戦で決めたので、勝ち抜いた人はふらふらだ。</p>

<p>次の競技はフライトしてターゲットを狙う。僕の苦手とするところであり、うまい人は本当にうまい。ところがなぜか、いつもはあんなにばっちりターゲットにおりられる上級者の人が、誰もぴったりおりられない。たいてい10mくらい手前におりてしまう。僕も飛んだが、予想以上に伸びなくてやっぱり手前におりてしまった。この競技は予想外の勝者なし。</p>

<p>次にやったのがグラハンの滞空時間競争。一斉に立ち上げて、一番長くキャノピーを浮かしていられた人の勝ち。風が弱いので前に走らなければならず、どれだけゆっくり走れるか、前にいる人をよけてコントロールできるかという意外と技術の要る勝負になった。僕のキャノピーは初心者向きの扱いが簡単な奴ではあるが、この種目は意外と得意。上位に食い込んだ。</p>

<p>最後の種目はやはりグラハンの滞空時間。さっきのはフロント(前向き)でやったが今度はクロスハンド(後ろ向き)でやる。風が弱いので後ろ向きに走らなければならず結構たいへん。転びそうだ。これも散々練習したのでいちおう思い通りにできた。2回やる予定だったが風が弱くてできなくなってしまったので2回目はフロントでやった。</p>

<p>ここまでで予定の競技は終了。スコアを集計したところ僕は同点で1位になっていたので、もう一度スピード競争で決勝戦。特別ルールで相手妨害を含む何をやってもいいよといわれたので、トリムを開放した。よーいドンでスタート。相手の人のほうが一歩早くて追いつけない。必死に走ったがそのままゴール。そのときは気づかなかったが、後で聞いたらコントローラを離して両手を振って全力疾走したらしい。なるほど...。</p>

<p>そんな経緯で思わぬ準優勝をいただくことになった。1位から3位までスクール生で独占で、初級機の有利さが出た形だけど正直にうれしい。しかし逆に、もっと扱いのデリケートな新しいキャノピーもほしくなるなぁ。</p>]]>
    </content>
</entry>

<entry>
    <title>LPICレベル1合格</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/11/lpic1.html" />
    <id>tag:www.grandarbre.net,2008://4.404</id>

    <published>2008-11-14T11:36:00Z</published>
    <updated>2008-10-10T08:02:36Z</updated>

    <summary>Linuxをはじめて触ったのはたしかWindows95が出る前。学生時代に初めて...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="資格" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>Linuxをはじめて触ったのはたしかWindows95が出る前。学生時代に初めて買ったPC(486DX2)をWindows3.1とSlackwareのデュアルブートにして夢中で遊んだ。Linuxの持つFreeで発展途上なイメージはネットワークやITが世界を変えるという期待感と同じベクトルを持つものでもあり、るんるんLinuxという名著のほかには入手容易な情報も少なく、Linux JapanというLinux関係者の愛の詰まった日本初のLinux専門誌を立ち読みしながら(買わなかった自分が情けない...)、わくわくしながらWindowsなら簡単にできることをLinux上で一生懸命やっては喜んでいた。</p>]]>
        <![CDATA[<p>それから10年以上が経ち、Linuxは当時とは比べ物にならない(しかし期待と予想はされていた)ほどの発展と成功を収めている。僕も仕事として直接扱うことこそないものの、数年に一度は話題の最新ディストリビューションを入れてみたり、会社で部門サーバを立ち上げたりして1ユーザとして触れてきた。昨年は自宅サーバも立てて、安定稼動そっちのけでいろいろ遊んでいる。</p>

<p>完全に趣味的な動機ではあったが、合計すればそれなりの時間をかけて勉強してきた。せっかくなので体系的に勉強したい、身に付けたスキルを可視化したいという思いはあり、2002年頃にLPICの試験ができたときからいつかは挑戦しようと思っていた。数年前には受験申し込みまでしたのだが、都合が悪くなり直前キャンセル。今日まで先延ばしになっていた。</p>

<p>今回受験しようと思い立ったのは約2週間前。茶本、黒本は2006年に買ったものをそのまま使い、当時間違えた(×印の残っている)問題のみをチェックした。それに加えて今回は秀和システムの青本を買い、怒涛の模擬問題720問を解いた。青本は同じ様な問題が角度を変えて何回も出るので、学習効果が高いと思う。ただし異常なほど誤植が多いので、出版社のサポートページで正誤表を入手する必要がある。今回あらためて勉強した時間は20～30時間くらいだと思うが、問題集は9割以上解けるように準備した。</p>

<p>試験会場はCisco系の試験などでもおなじみのプロメトリック。101試験と102試験を連続で約120問3時間の試験だ。自腹で受験費用\31,500を出しているので気合も入る。まず101の試験が始まる。しょっぱなから見たこともない問題が5問くらい続いてかなり焦る。不安のある問題にマークを付けていったら、60問中15問くらいマークがついてしまった。見直してもわからないものはわからないので、一通り終わったら思い切って試験終了ボタンを押す。800点満点、合格レベル500点のところ僕は680点で合格。出だしの印象が悪かったので苦戦するかと思ったが、ひとまず安心した。</p>

<p>間に休憩などはとれず、引き続き102の試験が始まる。こちらは101よりも実務に近い問題が出るのでだいぶやりやすい。いいペースで回答をしていき、手ごたえはあったので見直しもしないで終了ボタン。結果は720点で合格。時計を見ると101をはじめてから1時間とちょっとだった。</p>

<p>スコアの傾向を見ると、101試験ではHardware&Architectureが57%、102試験ではPrintingが33%(^^;)、Documentationが40%と悪い。それ以外は70%～100%と十分な得点が取れている。悪かったセクションはぶっちゃけどうでもいいと自分で考えている分野でもあるので、とりあえずは満足な結果だった。</p>

<p>さてレベル1は無事に合格したが、これははじめから通過点としか見ていない。レベル2をとってはじめてまあまあがんばったと言えるかなというイメージを持っている。この勢いでレベル2も取っておかないと次に思い立つのが何年後かわからないので、帰りに早速問題集を買ってきた。</p>]]>
    </content>
</entry>

<entry>
    <title>遅い夏休みでPPGの一人合宿</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/10/ppg-3.html" />
    <id>tag:www.grandarbre.net,2008://4.407</id>

    <published>2008-10-25T23:39:21Z</published>
    <updated>2008-10-11T01:07:26Z</updated>

    <summary>PPGをはじめてもうすぐ1年。ここまでスクールに通った回数は22回。飛んだ本数は...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="アウトドア" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ppg" label="PPG" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>PPGをはじめてもうすぐ1年。ここまでスクールに通った回数は22回。飛んだ本数は24本。予定ではそろそろ一人前になっているつもりだったのに、テイクオフもランディングもまだ不安が多い。天候や他の用事のため1～2本しか飛べなかった月やまったく飛べなかった月もあって、絶対的な飛行数が足りない。(グラハン数は十分だと思うが...。)そこで夏に取れていなかった休みを天候の安定するこのタイミングでとって、一週間PPG漬けの毎日をおくることにした。</p>]]>
        <![CDATA[<p>10/18(土)、10/19(日)は情報処理試験の追い込みと本番。10/20(月)からスクールに通いつめる。平日はお客の人数も少ないので、効率的なスクーリングが出来ると思う。</p>

<p>月曜日は思ったよりもお客が多く、4人くらいいた。いずれも何回か会ったことのある人だし、そうでなくてもこのスクールはみな気持ちよく挨拶できる雰囲気なのでリラックスできる。この日は3本飛んで、はじめてローリングの練習をした。ローリングとはキャノピーを左右に揺らすことで高度処理をする技術で、まず右手を肩くらいまでぐっと引き、進行方向が45度くらい変わったタイミングですばやく戻す。ゆれが戻って垂直になったくらい(ちょっと曖昧。信じないように)のタイミングで左手を肩まで引き、ちょうどいい傾きになったら戻す。これを数回繰り返す。ここでやりすぎたり揺れがだんだん増幅していくと危ないので注意。ローリングを終了するときは、水平線を見てゆっくり回復させる。ここの部分の操作は体では出来てると思うが文章に出来るほど理解していないので書くのはやめておこう。</p>

<p>火曜日も別のメンバで数人いた。平日も意外と人が多いようだ。この日も3本。高度処理の技術として片翼折りと翼端折りを教わった。片翼折りは左手で左側Aライザーのラピッドリングあたりを握って下に引き、翼の一部を潰すというもの。当然機体は左に傾こうとするので右手を引いて水平と直進飛行を保つ。右手はかなり引かないとバランスが取れない。回復時は普通は左手のAライザーを離すだけでOK。左手のAライザーをコントローラだと思って、しっかり水平線をみてまっすぐ飛び続けるという意識が大切。高度400mくらいあれば落ち着いて練習する時間が取れる。ちなみに僕はAライザを引く際の思い切りがいまひとつ中途半端で、この日はあまり上手にはできなかった。</p>

<p>次のフライトで教わったのが翼端折り。左右のAライザーのさらに一番前のリングは両翼端につながっている。シンフォニーはそこが他とはマジックテープで束ねられており独立させることが出来る。そしてそこにテープ製のループがついているので、指を入れて左右同時に引っ張りおろす。そうすると左右両方の翼端だけが折れる。この状態ではコントローラは効かないので、Aライザーで左右のバランスを取って直進する。片翼折りよりも安全性が高いが、強い上昇気流の中ではぜんぜん効かない(降りられない)という話も聞いた。こちらも最初は腰が引けたが、難しいことはほとんどない。ただしコントローラとスロットルを持ったままAライザーのループを引くので、おもわずスロットルも吹かしそうになってしまう。慣れと落ち着きは必要だ。</p>

<p>高度処理の練習(および実践)をする際には、当然ながら安全高度を確保して行う。進行方向は風上に正対し(そのほうが安定する)、エンジンはアイドリング状態で、高度100mくらいまでには終了、回復をする。ランディングのための高度処理をする場合は、エリアによって(および風向によって)やる場所が決まっているので頭に入れておく。練習は風が安定しているときに行ったが、本当に必要になるのは強い上昇気流のある乱れた時だと思うので、日ごろから練習してよく身に付けておいたほうがいいと思う。</p>

<p>毎日往復100キロを車で通うのは大変だし無駄なので、テントを持ち込んでエリアでキャンプをした。久しぶりのテント泊で夕食は焼肉。ゆっくりできてなかなかいい。</p>

<p>水曜日は2人だった。フライトは3本。僕のテイクオフ時の癖として、エンジンパワーをかけるタイミングが遅く、かつパワーをかけた後にエンジンにもたれて(多少のけぞって)走ることが出来ず前のめりで走ってしまうという2点がある。エンジンパワーをかけるのが遅いとせっかく立ち上がったキャノピーのテンションが緩んで不安定になってしまう。また前のめりだといくら走っても離陸できず、エンジンの力を利用できないのでスピードも上がらず(足もついていかず...)、最終的にエンジンにもたれるときにまたテンションが緩んで不安定になりがちで、結果として長距離を走り、離陸方向が定まらないという悪いことだらけになってしまう。僕が感じている離陸の不安感はまさにここから来ている。今回のひとり合宿ではこれを克服すべく意識して練習をした。校長から2回くらい無線でリアルタイムの操作指示をしてもらい、少しずつわかってきた気もする。</p>

<p>木曜日は天気予報が悪く、お客はなんと僕一人だった。校長とアシスタントさんでスタッフ2人に対してお客は僕だけなのでなんとも贅沢だと思ったが、二人とも事務所の補修や草刈りをしていて、気兼ねがなくてかえってよかった。この日は天気が崩れる予定だったので早めに2本飛び、昼過ぎには撤収した。</p>

<p>金曜日は定休日で、次に来たのは土曜日。いつもの面々が集まっている。テイクオフもランディングもすこしずつコツが掴めてきて、納得のいく操作ができる回数が増えてきた。この日は混んでいたのでフライトは2本。</p>

<p>土曜の夜もテント泊。夕食はキムチ鍋。すこし大目に酒を飲んでいい気持ちだった。</p>

<p>夏休み最後の日曜日。この日もフライト2本。この休みでまとめて15本飛ぶことができた。続けて練習できたので、自分としてはかなり効果は上がったと思う。フライト数は通算で39本になった。この調子なら、年内に50本くらいにまで伸ばしてスクール卒業を狙えそうだ。</p>

]]>
    </content>
</entry>

<entry>
    <title>テクニカルエンジニア（ネットワーク）受験</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/10/post-114.html" />
    <id>tag:www.grandarbre.net,2008://4.405</id>

    <published>2008-10-19T11:59:27Z</published>
    <updated>2008-10-10T22:45:59Z</updated>

    <summary>ネットワークエンジニアとして飯を喰って12年近くになり、ベンダ系資格もいくつか取...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="資格" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>ネットワークエンジニアとして飯を喰って12年近くになり、ベンダ系資格もいくつか取った。情報処理技術者試験もセキュアドや情報セキュリティを取った。にもかかわらず、本業のネットワークだけが未取得だった。実はこれまで3～4回くらい申し込んだことはあったものの、未受験だったのだ。</p>]]>
        <![CDATA[<p>言い訳はある。まず試験当日(10月の第三日曜日)に仕事が入ったことが2回ほど。当日は空いていても前週まで忙しくてまったく準備が出来なかったこともあった。でも最大の理由は、いまいちやる気が出にくい試験であったこと。僕にとっては新しい分野の勉強ではないので、準備をするのは楽な反面おもしろみが少ない。また技術力の証明という面ではCCIEの方がだいぶ格上なのでチャレンジ感もない。こういってはなんだが、取りこぼしを拾うような感覚なのだ。<p>

<p>とはいえいつまでも先送りにしているのも気分がよろしくない。過去に受験を思い立つたびに購入して本棚に数冊たまってしまった参考書/問題集類が、ノドにつかえた小骨のように何とかしろと訴える。いまどき新入社員や2年目社員でもCCNPやネットワーク試験を取る時代なので、片付けてしまうことにした。</p>

<p>9月中旬まで出張がらみの仕事で多忙だったため、準備は10月にはいってからすればいいだろうと思っていた。ところが10月にはいってからも忙しく(その忙しさを克服するほどにはモチベーションもあがらず)、結局最後の1～2週間でやっつける形になってしまった。いつものパターンだ。</p>

<p>主に使用した参考書はiTECの予想問題集。同じようなデザインでテキストと過去問集も出ているがテキストはいまさら要らないし過去問までやる時間はなさそうなのでまずはこれ一冊でいくことにした。ところが試験3日前くらいに一通り終わってしまったので、日経出版社の問題集も追加で購入。大急ぎで半分くらいまで解いたところで時間切れとなった。</p>

<p>いざ勉強をはじめてみると、仕事で使っている知識などは造作もなく答えられるが、関係なかったり知っている必要のない部分は意外と難しい。待ち行列や呼損率の計算は昔勉強したこともあったが完全に忘れているのでやりなおし。プロトコルヘッダのフィールド値やVPN接続時のシーケンスなど、そこまでは覚えてないよというものも出てくる。問題をやってみると意外と難しいものもあり、多少の危機感を覚えてまじめに勉強した。</p>

<p>それから、DNSサーバの設定やメールヘッダの解読など、"それってネットワーク?"と思う分野も出てくる。ネットワーク専業のうちの会社では業務範囲外だが、SI系の会社のネットワーク担当者はインフラ系のサーバもまとめて面倒を見ているのかもしれない。</p>

<p>試験の会場は池袋の立教大学。なかなか趣のあるレトロな学舎だが、机と椅子が固くて窮屈だ。いまどきの学生にはうけないかもしれない。午前の問題(多肢選択)は範囲が広いので知らない問題が数問出るが、それを落としても通過することはわかっているのでリラックスして取り組む。1問に1分もかからないので、退出可能時間になったら早々と出た。</p>

<p>午後Iの問題は記述式で4問中3問選択。電子メールの誤送信対策、遠隔地バックアップ、スループット計算、LANとWANの冗長化の4つが出たが、手計算が苦手なのでメール、バックアップ、冗長化を選んだ。特に難しい問題もなく、1時間で退出。気持ち的に楽なので、まだあまり疲れは感じない。</p>

<p>午後IIは論述式で2問中1問選択。どちらを選ぶかで大きな違いが出る可能性もあるので、ざっと目を通して不得意分野などが含まれていないほうを探す。問1はリモートアクセスVPNとPCの仮想化、問2はファイアウォールとロードバランサとSIP。問2のほうが実務に近い内容だが、SSLの細かい動作と仕事で関与していないSIPが含まれているので避けた。問1のPC仮想化は業務経験はないが、逆にこういった新技術については前提条件などがちゃんと提示されることが多いので、知らなくてもよく考えれば答えられる。さすがに午後IIは退出時間ちょうどでは出られなかったが、1時間ちょっとで終えた。</p>

<p>セキュアド、情報セキュリティの時にも思ったが、試験勉強で解いた問題よりも本番の方が簡単だった気がする。勉強中は出来ない問題の印象が強く残るからそうなのか、本番は集中力が上がるからなのか、あるいは単に選択問題で苦手なものを解かないですむからなのか。どれが本当かはわからないが、ちゃんと準備をしたことのご褒美のような気がしてすがすがしい。手ごたえは十分あったので、合格できると思う。</p>]]>
    </content>
</entry>

<entry>
    <title>remapkeyでwindowsのキーバインドを換える </title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/10/remapkeywindows.html" />
    <id>tag:www.grandarbre.net,2008://4.403</id>

    <published>2008-10-11T07:07:51Z</published>
    <updated>2008-09-28T07:07:51Z</updated>

    <summary>PCのキーバインドというものは意外と合理的ではない。頻繁に使うENTERキーやB...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="ホビー" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>PCのキーバインドというものは意外と合理的ではない。頻繁に使うENTERキーやBSキーがキーボードの右端に追いやられているし、日本語入力と英数字入力を切り替える半角/全角キーは左上にある。viで大切な役割をもつESCキーなどはノートPCでははみだしてしまっている。それでも慣れれば手元を見ないで打つことはできるが、手首や指に無理な動きを強いるしキー入力のリズムが崩れてしまう。Microsoftが提供するツールで簡単に変えることができるようなので、試してみよう。</p>]]>
        <![CDATA[<p>このツールはremapkeyという名前で、Windows Server 2003 Resource Kit Toolsに含まれており、無償でダウンロードできる。対象OSはXPと2003と書いてあるが、NT4.0からVistaまで大丈夫のようだ。インストールしたフォルダ内のremapkey.exeを起動すると、上下にキーボードが二つ並んだ形のGUI画面が表示される。使い方は簡単で、上のキーボード（ベースキーボード）から下のキーボード（リマップキーボード）に変更したいキーをドラッグすることにより、キーボードの配列を編集することができる。望む配列を作ったらツールを終了し、Windowsを再起動することにより反映される。</p>

<p>このツールはレジストリを書き換え、スキャンコードを入れ替えることによりキー入力そのものを入れ替えてしまう。そのため他のソフトウェアとの干渉などは起きにくい。ただしキー入力の組み合わせを設定することはできない。</p>

<p>注意点としては、CTLやALT、DELを誤って使えなくしてしまうとCTL+ALT+DELが入力できなくなるのでログインができなくなる。設定を初期化したい場合は、コマンドラインオプション-cをつけて起動する。</p>

<p>どのようにキーバインドを換えるかは好みしだいだが、私はあまり極端な変更は行わず、普段使わないキーによく使うキーを割り当ててみた。</p>

<ul>
<li>Windowsキー=>ESCキー</li>
<li>無変換キー=>半角/全角キー</li>
<li>変換キー=>ENTERキー</li>
<li>ひらがなキー=>BSキー</li>
</ul>

<p>まだ打つときに一瞬考えてしまったり無意識に本来のキーを打ってしまうことも多いが、親指だけで主要な制御キーを打てるのはかなり快適。</p>]]>
    </content>
</entry>

<entry>
    <title>クロスハンドで初テイクオフ</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/10/post-115.html" />
    <id>tag:www.grandarbre.net,2008://4.406</id>

    <published>2008-10-10T23:16:49Z</published>
    <updated>2008-10-10T23:38:19Z</updated>

    <summary>PPGは風が弱いときは風に向かって走ってキャノピーを立ち上げるが、風が強い時は風...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="アウトドア" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ppg" label="PPG" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>PPGは風が弱いときは風に向かって走ってキャノピーを立ち上げるが、風が強い時は風に背を向けて(キャノピーに正対して)立ち上げ、その後で回れ右をして風に向かい、走って離陸する。この立ち上げ技術をクロスハンドという。ちなみにリバースライズアップといっている人もいて、どれが正式なのかは不明。</p>]]>
        <![CDATA[<p>この立ち上げ方は春先に風が強くてぜんぜん飛べなかった頃から散々練習した。スポーツカイトみたいな面白さがあるし、全身運動の爽快さもあるし、ちょっと風が強くなると体が中に浮くスリルもあったりして楽しいのだ。</p>

<p>今日はいつもどおりフライト準備をしていたところ、校長に風が強いのでクロスハンドでやってみましょうといわれた。内心待ってましたと小躍りをして、ライザーのセッティングを変える。練習時に使っている山飛び用のハーネスよりもカラビナの位置がだいぶ高いので、構える腕もだいぶ高くなる。右手にスロットルを持っているのでごちゃごちゃしてしまうし、立ち上げで力を入れるときに誤ってエンジンを吹かさない様に注意しないといけない。</p>

<p>立ち上げそのものは、一発でOKとはいかなかったがおちついて出来た。ところが回れ右をして走り出すときにうまくコントロールできず、キャノピーを地面に落としてしまった。ちゃんと空中で静止させてから動きはじめないとキャノピーに追い越されてしまうのだ。</p>

<p>2回目は走り出すことは出来たが、まっすぐ風上ではなく斜めに走ってしまい離陸時に傾いて大きく揺れてしまった。これは離陸を失敗するありがちな理由のひとつ。そもそも風が強いときはほとんど走る必要はないので、落ち着いて風上にあわせてパワーをかけるべきなのだ。</p>

<p>そんな感じで技術的には課題ばかりの結果だったが、コツがつかめれば自然に出来るようになると思う。今日はずっとやりたかった技術に挑戦できて大満足。</p>]]>
    </content>
</entry>

<entry>
    <title>記憶術</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/09/post-113.html" />
    <id>tag:www.grandarbre.net,2008://4.402</id>

    <published>2008-09-28T07:07:51Z</published>
    <updated>2008-09-28T07:07:51Z</updated>

    <summary>ある本を読んでいたら、記憶術のことが書いてあった。いろいろな方法があるらしいが、...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="思索" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>ある本を読んでいたら、記憶術のことが書いてあった。いろいろな方法があるらしいが、たとえば数字の0から9を特定のアルファベットの子音に割り振り、それをもとに0から99までに対応する英単語を覚えて...云々。とても面白いのだが当方残念ながら英単語にはなじんでいないのでハードルが高い。そこで日本語で似たようなことを考えてみた。</p>
]]>
        <![CDATA[<p>1、2、3、4、5、6、7、8、9、10は、ひ、ふ、み、よ、い、む、な、や、と、と数える。これを数霊というらしい。四桁の数字を覚えるために、一桁目にいつ、二桁目にどこで、三桁目に誰が、四桁目にどうした、という言葉を作ることにする。何を、をという言葉と組み合わせれば9999個の言葉も覚えられる(かも...)。使う言葉は自分がよくイメージできる人、場所がいいと思う。</p>

<table border=1>
<tr><th width=100px>数字</th><th width=100px>数霊</th><th width=100px>いつ</th><th width=100px>どこで</th><th width=100px>誰が</th><th width=150px>どうした</th></tr>
<tr><td>1</td><td>ひ(とつ)</td><td>正月</td><td>広島</td><td>日野</td><td>拾った</td></tr>
<tr><td>2</td><td>ふ(たつ)</td><td>雪祭り</td><td>福岡</td><td>藤原</td><td>踏んだ</td></tr>
<tr><td>3</td><td>み(っつ)</td><td>雛祭り</td><td>宮崎</td><td>三上</td><td>見つけた</td></tr>
<tr><td>4</td><td>よ(っつ)</td><td>入学式</td><td>横浜</td><td>吉田</td><td>汚した、読んだ</td></tr>
<tr><td>5</td><td>い(つつ)</td><td>GW</td><td>岩手</td><td>池田</td><td>祈った、悪戯した</td></tr>
<tr><td>6</td><td>む(っつ)</td><td>梅雨</td><td>陸奥</td><td>村井</td><td>結んだ</td></tr>
<tr><td>7</td><td>な(なつ)</td><td>七夕</td><td>名古屋</td><td>中村</td><td>投げた、失くした</td></tr>
<tr><td>8</td><td>や(っつ)</td><td>夏休み</td><td>山形</td><td>山田</td><td>破いた、やめた</td></tr>
<tr><td>9</td><td>こ(このつ)</td><td>新学期</td><td>高知</td><td>小島</td><td>壊した、転がした</td></tr>
<tr><td>0</td><td>と(う)</td><td>運動会</td><td>富山</td><td>戸塚</td><td>飛ばした、溶かした</td></tr>
</table><br>

<p>たとえば暗証番号8643を覚えたければ『夏休みに陸奥で吉田が(暗証番号を)見つけた』とか、車のナンバー6539を覚えたければ『梅雨に岩手で三上が(車を)壊した』とか。</p>

<p>数字の順番を間違えると致命的なので、自分がしっくり来る順番を確認する。覚える際には最初に誰が、を結びつけてイメージで覚えたほうがよさそう。使えるかな？</p>

]]>
    </content>
</entry>

<entry>
    <title>CentOS5のRails2でrestful_authenticationによる認証をする</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/09/centos5rails2restful-authentic.html" />
    <id>tag:www.grandarbre.net,2008://4.401</id>

    <published>2008-09-08T12:07:43Z</published>
    <updated>2008-09-08T12:41:59Z</updated>

    <summary>まともなWebプログラムであればユーザ認証処理は必須である。ApacheのBas...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="プログラミング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="rails" label="rails" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>まともなWebプログラムであればユーザ認証処理は必須である。ApacheのBasic認証に任せても良いが、ログアウトができなかったり、Webプログラム上でユーザ管理ができなかったりといろいろいろ不満がある。Look&FeelをそろえるためにもWebプログラムに実装したいのだが、以前perlでCGI::Sessionをつかってごりごり作ったときはけこう面倒だった。ところがRuby on Railsでは、プラグインを使ってとても簡単に認証機能を追加することができる。</p>]]>
        <![CDATA[<p>最初に試したのはacts_as_authenticatedというプラグインだったのだが、どうやらこれはメンテナンスが停止していて、今であればrestful_authenticationを使うものらしい。細かい違いはよくわからないが、基本的な使い方はだいたい同じような感じだ。</p>

<p>まずプラグインをインストールする。プロジェクトのディレクトリ内で以下のコマンドを打つ。</p>

<pre class="example">ishii@dev1:~/sample $　script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/</pre>

<p>つぎにインストールされたジェネレータを使ってコントローラ、モデル、ビューを生成する。コントローラはusers_controller.rbとsessions_controller.rb、モデルはuser.rb、ビューはsessions/new.html.erbとviews/users/new.html.erbが生成される。</p>

<pre class="example">ishii@dev1:~/sample $　script/generate authenticated user sessions</pre>

<p>usersコントローラにはnewとcreateというメソッドがあり、newが新規ユーザ登録画面となる。sessionsコントローラにはnew、create、destroyというメソッドがあり、newでログイン画面となる。destroyはログアウト処理だが画面はない。</p>

<p>usersテーブルのスキーマは以下のとおり。</p>

<pre class="example">  create_table "users", :force => true do |t|
    t.string   "login"
    t.string   "email"
    t.string   "crypted_password",          :limit => 40
    t.string   "salt",                      :limit => 40
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "remember_token"
    t.datetime "remember_token_expires_at"
  end</pre>

<p>そうしたらデータベースをマイグレーションする。</p>

<pre class="example">ishii@dev1:~/sample $ rake db:migrate </pre>

<p>そして、アプリケーションに認証システムを使うことを指示する。users/sessions_controller.rbに書いてある以下の一行を削除(コメントアウト)して、同じ内容をapplication.rbに追加する。</p>

<pre class="example">include AuthenticatedSystem</pre>

<p>ここまでくれば、script/serverでWEBrickを起動すれば動作確認をすることが出来る。ユーザ登録画面は/users/new、ログイン画面は/sessions/new、ログアウト処理は/sessions/destroyで行う。</p>

<p>アプリケーションを使用する際に認証を必要にするためには、コントローラに以下を追加する。</p>

<pre class="example">before_filter :login_required</pre>

<p>特定のメソッドだけを除外(認証無しで利用可能)にしたい場合は以下のようにする。</p>

<pre class="example">  before_filter :login_required, :except => [:index, :show]</pre>

<p>ログインをしているかどうかは、logged_in?で確認できる。またログインしている場合にはユーザ名をcurrent_user.loginで参照できる。</p>

]]>
    </content>
</entry>

<entry>
    <title>Ubuntu8.04 on ML115に玄人志向RH3450-LE256H/HSを載せかえる</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/08/ubuntu804-on-ml115rh3450-le256.html" />
    <id>tag:www.grandarbre.net,2008://4.400</id>

    <published>2008-08-24T12:36:45Z</published>
    <updated>2008-08-24T12:48:33Z</updated>

    <summary>CentOS5に入れたもののVESAドライバで動かしていたRH3450だが、やは...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>CentOS5に入れたもののVESAドライバで動かしていたRH3450だが、やはり動きが重い。サーバでXを動かしてデスクトップ代わりにつかうのもあまりよくないので、Ubuntu8.04に移植してこちらをデスクトップPCにしてしまおう。</p>

<p>Ubuntuは初期インストールをした当初から問題なくXが動いていたが、RH3450を差し替えて起動したら自動的に認識して、ATIのプロプライエタリなドライバをインストールするかと聞いてきた。何回か適当に質問に答えると、インストールは完了。まったく問題なくアクセラレーションが効いている。</p>

<p>ハードウェア周りの対応は、おなじLinuxでディストリビューションによってだいぶ違うなと思った次第。</p>]]>
        
    </content>
</entry>

<entry>
    <title>AWstatsで複数サーバのアクセスログをマージする</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/08/awstats.html" />
    <id>tag:www.grandarbre.net,2008://4.399</id>

    <published>2008-08-24T03:32:05Z</published>
    <updated>2008-08-31T02:06:54Z</updated>

    <summary>当サイトは(意味もなく)Webサーバを2重化して、lvsで負荷分散している。よっ...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>当サイトは(意味もなく)Webサーバを2重化して、lvsで負荷分散している。よってapacheのログもバラバラになっている。これではアクセス解析をするときにうまくないので、2台分のログをマージしてから解析してやろう。</p>

]]>
        <![CDATA[<p>おおまかな流れを説明すると、まず各Webサーバでログローテーションをするときにアクセスログを別ファイルに書き出す。このサーバ達にはAWstatsをインストールする必要はない。次に監視サーバで、定期的にrsyncを使って各サーバのアクセスログを取ってくる。そしてAWstatsに付属しているログファイルマージツールですべてのサーバのログをマージする。最後にAWstatsでマージ済みのログファイルを解析する。この方法だと解析をするのが週に一回になってしまうが、即時性は求めていないので構わないだろう。</p>

<p>まずはWebサーバの設定。各サーバの/etc/logrotate.d/httpdを以下のように修正する。追加したのはprelotateからendscriptまでの3行。</p>

<pre class="example">[root@www1 ~]# cat /etc/logrotate.d/httpd
/var/log/httpd/*log {
    prerotate
        cp -f /var/log/httpd/access_log /tmp/access_log
    endscript
    missingok
    notifempty
    sharedscripts
    postrotate
	/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
    endscript
}</pre>

<p>次に、解析サーバの設定。以下のようなスクリプトを作って実行権限を付与する。中身は一目瞭然だとおもう。</p>

<pre class="example">[root@manager1 ~]# cat  /usr/local/bin/awstatsmerge
#!/bin/sh

rsync www1:/tmp/access_log /tmp/access_log1
rsync www2:/tmp/access_log /tmp/access_log2

logresolvemerge.pl /tmp/access_log1 /tmp/access_log2 > /tmp/access_log

/usr/bin/perl /var/www/awstats/awstats.pl -update -config=www.grandarbre.net > /dev/null</pre>

<p>次に解析サーバのcronで、上記のスクリプトを定期的に回すように設定する。下記のようにすると毎週日曜日の5:00に起動するはず。<p>

<pre class="example">[root@manager1 ~]# cat /etc/cron.d/awstats 

0 5 * * 0 root /usr/local/bin/awstatsmerge</pre>

<p>AWstatsの設定としては、参照するログファイルのパスを変えるだけ。</p>

<pre class="example">[root@manager1 ~]# cat /etc/awstats/awstats.www.grandarbre.net.conf 
...
LogFile="/tmp/access_log"
...</pre>]]>
    </content>
</entry>

<entry>
    <title>iptablesで総当たり攻撃を止める</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/08/iptables.html" />
    <id>tag:www.grandarbre.net,2008://4.398</id>

    <published>2008-08-23T05:29:23Z</published>
    <updated>2008-08-23T12:13:12Z</updated>

    <summary>サーバをインターネットに公開していると、一日に何百回となくsshで不正アクセス攻...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>サーバをインターネットに公開していると、一日に何百回となくsshで不正アクセス攻撃が来る。RSA鍵がないとsshできないようにしているのでパスワードの総当たり攻撃(ブルートフォース攻撃)は効かないのだが、ログファイルが肥大化するし気持ちのいいものはない。iptablesのrecentオプションでそういった通信を遮断することができるらしいので、試してみる。</p>]]>
        <![CDATA[<p>CentOSではiptablesの設定は/etc/sysconfig/iptablesにある。その中に従来のsshを許可する行も記述されているが、その直前に下記のようなrecentを含んだ2行を追加する。</p>

<pre class="example">-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --rcheck --seconds 60
 /--hitcount 5 --name SSH -j DROP
-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT</pre>

<p>1行目では、tcpの22番ポートに接続してきた新規通信のソースIPをSSHという名前のテーブルに載せる。既にSSHテーブルに同じソースIPがあった場合はアップデートする。この行には-j ACCEPT(許可)も-j DROP(破棄)もないので、次の行へ行く。</p>

<p>2行目では引き続き同じ通信を扱う。このソースIPが過去60秒間に5回以上アクセスをして来ている場合、-j DROPで破棄される。</p>

<p>3行目では、2行目で破棄されなかった場合に-j ACCEPTで許可される。もともとあった単なる許可設定である。</p>

<p>上記のように書き換えてservice iptables reloadとすると反映される。iptables -Lで動作状態を確認する。</p>

<pre class="example">[root@ml115 ~]# iptables -L 
target  prot opt source    destination 
...
        tcp  --  anywhere  anywhere  tcp dpt:ssh state NEW recent: SET name: SSH side: source 
DROP    tcp  --  anywhere  anywhere  tcp dpt:ssh state NEW recent: CHECK seconds: 60 hit_count: 5 name: SSH side: source 
ACCEPT  tcp  --  anywhere  anywhere  tcp dpt:ssh state NEW 
...</pre>

<p>上記のSSHというテーブルは/proc/net/ipt_recentに記録されている。さっそく引っかかっていた。</p>

<pre class="example">[ishii@ml115 ~]$ cat /proc/net/ipt_recent/SSH
src=221.143.x.x ttl: 111 last_seen: 4490427483 oldest_pkt: 1 4490427483</pre>]]>
    </content>
</entry>

<entry>
    <title>Ubuntu8.04でXenを動かした場合のいくつかの不具合(未解決)</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/08/ubuntu804xencpufreq.html" />
    <id>tag:www.grandarbre.net,2008://4.396</id>

    <published>2008-08-23T01:53:35Z</published>
    <updated>2008-08-23T03:29:58Z</updated>

    <summary>UbuntuにXenを入れたのだが、3つの不具合が見付かった。ひとつ目はCPUの...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="xen" label="Xen" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>UbuntuにXenを入れたのだが、3つの不具合が見付かった。ひとつ目はCPUの動作周波数が800MHzに張りついているように見えること。ふたつ目はshutdownをした際に自動的に電源が落ちないこと。みっつ目はwake on lanが使えないことだ。</p>]]>
        <![CDATA[<p>CPU周波数の方はcpufreq-selecterで変更しようとしてもダメ。/sys/devices/system/cpu/cpu0/cpufreqあたりに値を書き込んでもダメ。dmesgを調べてみると下記のようなエラーが出ていた。</p>

<pre class="example">ishii@ubuntu:~$ dmesg | grep cpu
[    0.479820] failed to set up cpufreq notifier</pre>

<p>起動後も以下のようなエラーメッセージがひっきりなしに出ている。</p>
<pre class="example">[ 1213.666150] powernow-k8: ignoring illegal change in lo freq table-0 to 0x2
[ 1213.666158] powernow-k8: transition frequency failed</pre>

<p>では本当に800MHzという劇遅で動いているのか？Super pi(ftp://pi.super-computing.org/)でベンチマークをとってみた。</p>

<pre class="example">Athlon 64 3500+ with Xen Kernel
ishii@ubuntu:~$ ./super_pi 20
...
Total calculation(I/O) time=      33.218(       0.796) Sec.
...

Athlon 64 3500+ with Normal Kernel
ishii@ubuntu:~$ ./super_pi 20
..
Total calculation(I/O) time=      33.466(       0.960) Sec.
...

</pre>

<p>Xenのカーネルでも普通のカーネルでも早さは変わらないようだ。単に表示とアイドル時に省電力にならない問題か。</p>

<p>電源が切れない方は、コンソールメッセージを見るとshutdown処理は一通り終わっている様子。対処としては電源ボタンを押すしかない。</p>

<p>WoLは、設定しようとすると以下のようなエラーがでる。</p>

<pre class="example">ishii@ubuntu:~$ sudo /usr/sbin/ethtool -s eth0 wol g
Cannot get current wake-on-lan settings: Operation not supported
  not setting wol</pre>

<p>ちなみにWoLの不具合はCentOS5.2 with Xenを入れた別のML115でも同様だった。</p>
]]>
    </content>
</entry>

<entry>
    <title>Ubuntu8.04でCisco7200シミュレータdynamipsを動かす</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/08/ubuntu804cisco7200dynamips.html" />
    <id>tag:www.grandarbre.net,2008://4.395</id>

    <published>2008-08-22T11:55:40Z</published>
    <updated>2008-08-22T13:40:27Z</updated>

    <summary>世の中にはCiscoルータのシミュレータがあると聞いたことがあったが、仕事がらC...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="ネットワーク" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>世の中にはCiscoルータのシミュレータがあると聞いたことがあったが、仕事がらCiscoルータは自由に触れるのであまり興味はなかったし、どうせ不完全な動作しかしないのだろうと思っていた。しかしdynamipsというそのオープンソースソフトウェアは、Cisco7200のハードウェアをエミュレートして本物のIOSを走らせるのだという。しかもPCのメモリさえ十分にあれば何台も起動させて、ルーティングプロトコルの動作やパケット転送までできる。さらにPCのLANポートを介して外部の本物のルータと通信もできる。これは検証(おもちゃ)用ML115#2で動かしてみるしかない。</p>]]>
        <![CDATA[<p>たまたまなのだが、Ubuntuにはdynamipsのパッケージが用意されていて、フロントエンドのdynagenともどもaptitudeコマンド一発でインストールすることができる。インストールは以下のようにする。</p>

<pre class="example">ishii@ubuntu:~$ sudo aptitude install dynagen dynamips</pre>

<p>dynagenをインストールすると、設定サンプルもインストールされる。内容は以下のような感じ。</p>

<pre class="example">ishii@ubuntu:~$ cat /usr/share/doc/dynagen/examples/sample_labs/simple1/simple1.net
# Simple lab

[localhost]

    [[7200]]
    image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
    # On Linux / Unix use forward slashes:
    # image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image
    npe = npe-400
    ram = 160

    [[ROUTER R1]]
    s1/0 = R2 s1/0

    [[ROUTER R2]]
    # No need to specify an adapter here, it is taken care of
    # by the interface specification under Router R1</pre>

<p>[[7200]]というのがCisco7200のハードウェアに対する設定。複数のルータをシミュレートする場合でもここの設定は共通だ。image=には自分が持っているIOSイメージのパスを書く。つまりIOSを持っていないとdynamipsは使えない。npe=npe-400というのはCisco7200のCPUボードの型番。特に変える必要はないだろう。ram=はCisco7200に(仮想的に)実装させるメモリ容量で、必要な最小容量はIOSイメージによって決まる。NPE400用のIOSであれば256MBもあれば十分だろう。多くても特にうれしいことはない。</p>

<p>[[Router XX]]というのは各ルータの設定。s1/0というのはシリアルポート名で、=で接続先のルータ名とポート名を書く。これだけでR1のs1/0とR2のs1/0がつながった状態をシミュレートできる。</p>

<p>上記を参考に、私の環境では以下のような設定を用意した。</p>

<pre class="example">[localhost]

    [[7200]]
    image = /home/ishii/dynamips/ios/c7200-adventerprisek9-mz.124-20.T.bin
    npe = npe-400
    ram = 256

    [[ROUTER R1]]
    s1/0 = R2 s1/0

    [[ROUTER R2]]</pre>

<p>いよいよ動かしてみよう。まずdynamipsを起動する。この時点では設定は読み込んでいない。オプションなしでコマンドを打つと利用可能なオプションが表示される。7200はポート番号で任意に選べるが、dynagenが接続するポートは7200(たぶん変更可能)なので、このとおりに打とう。</p>

<pre class="example">ishii@ubuntu:~$ dynamips -H 7200
Cisco Router Simulation Platform (version 0.2.8-RC2-x86)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Nov 26 2007 06:40:51

ILT: loaded table "mips64j" from cache.
ILT: loaded table "mips64e" from cache.
ILT: loaded table "ppc32j" from cache.
ILT: loaded table "ppc32e" from cache.
Hypervisor TCP control server started (port 7200).</pre>

<p>dynamipsコマンドはこのままコンソールを開放せず、随時動作状態を表示する。</p>

<p>次に、別のコンソールからdynagenコマンドを設定ファイルを引数として起動する。</p>

<pre class="example">ishii@ubuntu:~$ dynagen ~/dynamips/config/simple1.net

Reading configuration file...

Warning: Starting R1 with no idle-pc value
Warning: Starting R2 with no idle-pc value
Network successfully loaded

Dynagen management console for Dynamips
Copyright (c) 2005-2007 Greg Anuzelli

=> list
Name       Type       State      Server          Console
R1         7200       running    localhost:7200  2000
R2         7200       running    localhost:7200  2001
=></pre>

<p>=>というプロンプトが出ていくつかのコマンドを使うことができるので、listでシミュレートされているルータを表示させてみた。Consoleと書いてあるのが、そのルータのアクセスするためのTCPポート番号だ。</p>

<p>そうして、R1へのアクセスはまたさらに別のコンソールからlocalhostのポート2000にtelnetする。これは別のPCからでもかまわない。R2へはポート2001だ。</p>

<pre class="example">ishii@ubuntu:~$ telnet localhost 2000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connected to Dynamips VM "R1" (ID 0, type c7200) - Console port

Cisco 7206VXR (NPE400) processor (revision A) with 245760K/16384K bytes of memory.
Processor board ID 4294967295
R7000 CPU at 150MHz, Implementation 39, Rev 2.1, 256KB L2, 512KB L3 Cache
6 slot VXR midplane, Version 2.1
...</pre>

<p>最初にアクセスしたときは起動画面から表示されるだろう。そのまま待っているとプロンプトが出てきて、普通に設定等ができる。</p>

<p>最後に、笑ってしまうほど簡単な設定だが、R1とR2が通信できていることを確認しよう。</p>

<pre class="example">R1#show run
Building configuration...

Current configuration : 1308 bytes
!
..
!
hostname R1
!
...
!
interface Serial1/0
 ip address 192.168.0.1 255.255.255.0
 encapsulation ppp
 serial restart-delay 0
!
...
!
line con 0
 stopbits 1
line aux 0
 stopbits 1
line vty 0 4
 login
!
end</pre>

<pre class="example">R2#show run
Building configuration...

Current configuration : 1323 bytes
!
...
!
hostname R2
!
...
!
interface Serial1/0
 ip address 192.168.0.2 255.255.255.0
 encapsulation ppp
 serial restart-delay 0
!
...
!
line con 0
 stopbits 1
line aux 0
 stopbits 1
line vty 0 4
 login
!
end</pre>

<p>この状態でR1からR2へpingを打ってみよう。</p>

<pre class="example">R1#ping 192.168.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/12/36 ms</pre>

<p>大成功。次はもうちょっと複雑な構成を作ってみよう。</p>]]>
    </content>
</entry>

<entry>
    <title>Ubuntu8.04でXenを動かす</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/08/ubuntu804xen.html" />
    <id>tag:www.grandarbre.net,2008://4.394</id>

    <published>2008-08-21T12:37:55Z</published>
    <updated>2008-08-21T22:31:53Z</updated>

    <summary>当初の目的どおり、Ubuntu8.04でXenを動かそう。CentOS5のXen...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="xen" label="Xen" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>当初の目的どおり、Ubuntu8.04でXenを動かそう。CentOS5のXenは3.0だがUbuntu8.04では3.2になっている。このあたりの最新技術はマイナーバージョンが違うだけで操作がだいぶ違う(基本的に楽になる)のだが、さて、どうなることか。</p>]]>
        <![CDATA[<p>まずXenのパッケージをインストールする。</p>

<pre class="example">ishii@ubuntu:~$ sudo aptitude install ubuntu-xen-server</pre>

<p>これでXen対応のカーネルとツール類がインストールされるので、一度再起動する。うちの環境では再起動後にネットワークがつながらなくなり、ifconfigを見るとeth0がなくてpeth0にDHCPでアドレスが振られた状態になっていた。GUIのツールでネットワーク設定を見ると、eth0がローミングモード(?)になっていたので、DHCPモードに変更した。peth0にIPが振られたままだとルーティングができないので、『ローカルのZeroconfネットワーク』に変えておく。(それが正しいのかはよくわかない。)</p>

<p>とりあえず再起動後のカーネルバージョンを確認する。</p>

<pre class="example">ishii@ubuntu:~$ uname -a
Linux ubuntu 2.6.24-19-xen #1 SMP Sat Jul 12 03:55:08 UTC 2008 i686 GNU/Linux</pre>

<p>CentOS5 (Xen3.0)ではvirt-installコマンドでDomain-Uの環境を作って、CD-ROM等の場所を指定してOSをインストールしていたが、Ubuntu8.04 (Xen3.2)ではxen-create-imageコマンドを使うと、デフォルトでUbuntuのOSが設定済みのイメージを作ってくれる。最低限必要な指定をしたコマンドは以下のとおり。</p>

<pre class="example">ishii@ubuntu:~$ sudo xen-create-image --hostname vserver --dhcp --dir /var/lib/xen/images --passwd</pre>

<p>こうすると/(ルート)のサイズが4GB、swapが128MB、メモリが128MBのDomain-Uを自動的に作ってくれる。最後に--passwdオプションをつけているので、インストール中にrootパスワードを聞かれる。インストールログはコンソールに表示されるし、/var/log/xen-tools/vserver.logというファイルにも記録される。</p>

<pre class="example">ishii@ubuntu:~$ sudo cat /var/log/xen-tools/vserver.log

General Information
--------------------
Hostname       :  vserver
Distribution   :  etch
Partitions     :  swap            128Mb (swap)
                  /               4Gb   (ext3)
Image type     :  sparse
Memory size    :  128Mb
Kernel path    :  /boot/vmlinuz-2.6.24-19-xen
Initrd path    :  /boot/initrd.img-2.6.24-19-xen

Networking Information
----------------------
IP Address     : DHCP [MAC: 00:16:3E:1F:F1:58]
The partition image already exists.  Aborting.
Specify '--force' to overwrite, or remove the following file
/var/lib/xen/images/domains/vserver/swap.img
...</pre>


<p>このままxm create /etc/xen/vserver.cfgとしても、以下のようなメッセージを出して起動に失敗する。</p>

<pre class="example">ishii@ubuntu:/etc/xen$ sudo xm create -c ubuntu.cfg
Using config file "./ubuntu.cfg".
ishii@ubuntu:/etc/xen$ Error: Device 51713 (vbd) could not be connected. losetup /dev/loop12 /var/lib/xen/images/domains/ubuntu/swap.img failed</pre>

<p>これを回避するために、設定ファイル(/etc/xen/vserver.cfg)を編集する。</p>
<p>修正前</p>
<pre class="example">ishii@ubuntu:~$ sudo cat /etc/xen/vserver.cfg
...
disk        = [
                  'file:/var/lib/xen/images/domains/vserver/swap.img,xvda1,w',
                  'file:/var/lib/xen/images/domains/vserver/disk.img,xvda2,w',
              ]
...</pre>
<p>修正後</p>
<pre class="example">ishii@ubuntu:~$ sudo cat /etc/xen/vserver.cfg
...
disk        = [
                  'tap:aio:/var/lib/xen/images/domains/vserver/swap.img,xvda1,w',
                  'tap:aio:/var/lib/xen/images/domains/vserver/disk.img,xvda2,w',
              ]
...</pre>

これで気を取り直して起動すると、確かに起動をするのだがStarting periodic command scheduler: crond.というメッセージで止まってしまう。他のサイトを見るとこの直後にログインプロンプトが出るはずのようなので、起動はちゃんとしているのだがコンソール関係の設定か何かに問題があるようだ。これを直すために再度設定ファイル(/etc/xen/vserver.cfg)を編集する。</p>

<p>修正前</p>
<pre class="example">ishii@ubuntu:~$ sudo cat /etc/xen/vserver.cfg
...
extra = '2 console=xvc0'
...</pre>

<p>修正後</p>
<pre class="example">ishii@ubuntu:~$ sudo cat /etc/xen/vserver.cfg
...
extra = 'xencons=tty'
...</pre>

Domain-Uの作成時に--passwdオプションでrootパスワードを設定したので、rootでログインもsshもできる。--passwdオプションを使わない場合はパスワード未設定状態で、コンソールからはパスワード無しでログインできるがsshはできない。</p>
]]>
    </content>
</entry>

<entry>
    <title>Ubuntu8.04 on ML115をWake on LANで遠隔起動する</title>
    <link rel="alternate" type="text/html" href="http://www.grandarbre.net/2008/08/ubuntu804-on-ml115wake-on-lan.html" />
    <id>tag:www.grandarbre.net,2008://4.397</id>

    <published>2008-08-20T14:50:17Z</published>
    <updated>2008-08-23T04:25:35Z</updated>

    <summary>Ubuntuサーバを必要な時だけ起動するのであれば、Wake on LANで遠隔...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.grandarbre.net/">
        <![CDATA[<p>Ubuntuサーバを必要な時だけ起動するのであれば、Wake on LANで遠隔起動できるようにした方がいいだろう。常時起動しているCentOS5 on ML115なサーバから、Ubunt8.04 on ML115なサーバを遠隔起動させてみる。</p>
]]>
        <![CDATA[<p>まずUbuntu側の設定。ML115はBIOSのバージョンによってはWoLの有効/無効設定があるらしいが、うちの機材では特に設定項目はなかった。WoLはOSの機能ではなくてNICの機能であり、BIOSやOS上のツールからNICのレジスタ値を設定するかたちでの設定となる。Linuxではインターフェーススピードなどを指定する時につかうethtoolで設定する。ethtoolが入っていない場合は以下のようにしてインストールする。</p>

<pre class="example">ishii@ubuntu:~$ sudo aptitude install ethtool</pre>

<p>WoLを有効にするコマンドは次の一行だ。</p>

<pre class="example">ishii@ubuntu:~$ sudo /usr/sbin/ethtool -s eth0 wol g</pre>

<p>インターフェースの設定状態を見てみる。</p>

<pre class="example">ishii@ubuntu:~$ sudo ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
        Link detected: yes</pre>

<p>Wake-on: gとあれば、Magic Packetを受け取ったときに起動する設定になっている。</p>

<p>この設定は起動するたびに再設定をしなければならない。そこでインターフェース設定の中にいっしょに書いてしまう。</p>

<pre class="example">ishii@ubuntu:~$ cat /etc/network/interfaces 
auto lo
iface lo inet loopback

iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.2
ETHTOOL_OPTS="wol g"
auto eth0</pre>

<p>ここまでできたらshutdown -h nowでUbuntuをシャットダウンする。</p>

<p>ではCentOSからUbuntuを遠隔起動しよう。ethtoolは標準でインストールされているはずだ。まずUbuntuのMACアドレスを調べる(一部伏せてます)。</p>

<pre class="example">[root@ml115 ~]# arp -a | grep 192.168.0.1
? (192.168.0.1) at 00:1E:0B:C1:XX:XX [ether] on eth0</pre>

<p>そしてMACアドレスを引数にしてether-wakeコマンドをうつ。</p>

<pre class="example">[root@ml115 ~]# ether-wake 00:1E:0B:C1:XX:XX </pre>

<p>これだけでUbuntuは起動してくる。あとは上記のether-wakeコマンドを引数込みでスクリプトにしておけば、いちいちMACアドレスを調べなくてもコマンド一発で起動できるようになる。</p>]]>
    </content>
</entry>

</feed>
