| 座右の銘 【実際にやってみるのが一番】 Fernando Vazquez (ふぇるなんど ばすけす) fernando NTTデータ先端技術オープンソース事業部技術開発ビジネスユニット |
「OSSの開発者として、一番大事なのは、会社のプレゼンスを向上させること。その為には、とにかく行動することが重要。誰かが開発したものを利用するだけではなく、自ら積極的にコードを書いて公開したり、カンファレンスで発表したりすることが非常に重要だと思います。コミュニティに貢献することで、所属企業のプレゼンスが向上します。実際にコードを投稿し、論文や記事を執筆し、論文を発表し、OSSのリーダと議論し、コミュニティの一員として評価されるのはとても良い刺激になりますし、やる気に繋がります。」
SELinuxに於いて各アプリケーションの振舞はセキュリティコンテクストというラベル情報により制御されます。つまり、プロセスが実行されると、カーネルがそのセキュリティコンテキストに相当する適切なSID(Security ID)をプロセスに付け、アクセス制御を行う為にそのSIDを使います。SIDの変更(いわゆるセキュリティコンテクストの遷移)に関しては当時のSELinuxではexecveの実行のみで変更が可能でした。その為にSamba 3のようなマルチスレッドアプリケーションについてはアプリケーション自身による防御が失敗すると、OSでの対策は不可能。その穴を埋める為に、setuid的なSELinuxの拡張を開発し、論文を執筆してJapan Linux Conferenceで発表しました。
Mini Kernel Dumpというカーネルクラッシュダンプ取得の仕組みを開発していました。クラッシュダンプとは、OS(カーネル)が故障した瞬間の物理メモリの情報を吐き出して保存する仕組みです。クラッシュダンプが故障したマシンの状態を正確に反映するので、それを解析すれば、ほぼ確実に原因の究明ができます(注意:アプリケーションの情報を吐き出すのはコアダンプです)。従来のクラッシュダンプ取得の仕組みが抱えていた信頼性の限界を打破する為に、Mini Kernel Dumpはシステム異常が発生した際に保護領域で動作するダンプ取得専用のカーネルに制御を移し、破綻したホストカーネルの資源と無関係にダンプの取得を行います。2005年のLinux Kernel Dump SummitでMini Kernel Dumpを紹介しました。
ダンプ取得の確率と精度を測る為に人為的に故障を発生させるLinux Kernel Dump Test Tool (LKDTT)というテストツールを作成しました。そこでLKDTTを利用して、カーネルクラッシュダンプのツールを調査して評価しました。予想通りにMini Kernel Dumpやkdumpのようなkexecを使ったツールの優位性が明らかになりました。上記の調査の結果を論文の形で纏めてOttawa Linux Symposium 2006へ投稿しました。尚、kexec/kdumpリブート後のデバイスの再初期化の問題をどのように解決するかについて議論する為にBOFも提案しました。幸運にも論文もBOFの提案もともに採用されたので、当年のOttawa Linux Symposiumで論文の発表をして、それと別に前述のBOFも主催しました。その直後にOSDL Japan Linux SymposiumでOttawa Linux Symposiumでの議論について報告することになりました。
Kdumpが本家のカーネルに取り込まれたことをきっかけに、mkdumpのより優れたところをkdumpへ移植し、kdumpのコミュニティに入りました。前述のBOFでの議論を踏まえてデバイスの再初期化の問題に取り掛かり、Linux Storage & Filesystem 2007で解決案を出しました。尚、旧OSDL・Linux Foundationにおいて「Kdump Test Project」の管理者を務めました。このプロジェクトの過程で発見したバグについてバグリポートを出し、最後にkdumpが正常に動かないデバイスのブラックリストを作りました。デバイスのブラックリストに基づいて、Linuxのデバイスドライバの欠陥とその解決方法について論文を執筆し、LinuxConf Europe 2007で発表しました。Kdumpのプレスリリースの執筆に参加する等、PR的な活動も味わいました。
今は、デバイスが暴走している場合(ダンプ取得用のカーネルに制御が移った時に有りがちな状態です)でも当該デバイスドライバがデバイスを静止させて初期化できるように、Linuxのデバイスドライバの仕組みを改善しようとしています。
新しいコンテナ技術の講師を務め、貢献者になろうと努力しているところです。コンテナは軽量仮想化システムで、全てのゲストが一つのカーネルを共用します。言い換えれば、ハイパーバイザ系の技術はHWを仮想化の対象とするのに対して、コンテナはOSを対象とします。
| 業務内容 | NTTグループの研究所とSI4社が共同で設立したNTT OSSセンタにてOSに関係する業務に携わっています。OSサポートチームのスーパーバイザーを務めると同時に、kdumpと仮想化技術の推進、開発に取り組んでいます。OSグループは、Linuxカーネルからglibcやgccに到るまで多岐に渡るソフトを網羅しています。 |
| 主な著書 | 「The need for setuid-like functionality in SELinux environments」(Japan Linux Conference) 「Evaluating Linux Kernel Crash Dumping Mechanisms」(Ottawa Linux Symposium) 「Generating a white list for hardware which works with kexec/kdump」(LinuxConf Europe) 「Using LOTOS in the Specification of Industrial Bus Communication Protocols」(Computer Networks) コンファレンス、雑誌等への寄稿多数 |
| いま興味がある技術・分野 | 仮想化技術全般。 コンパイラ。 |
| 趣味 | 文学、音楽、演劇・映画、旅行、料理、散歩(必ずしも優先順序とは限りません)。 |