優雅な生活の設計と実装

The Design and Implementation of the Gracious Days


LAST MODIFIED: 2014/02/21 13:35:54 UTC

新しい秩序の確立は、他の何にも増して難しく、
成功する可能性が低く、危険な事業である。
改革者は旧秩序から利益を得ている
全ての者を敵にまわし、
新秩序から利益を受けるはずの者からは
及び腰の支持しか集められない。
--- Niccolo Machiavelli, The Prince

この種の「保護」は初心者を保護するかも知れないが、
熟練ユーザを窮地に追い込むことになる。
というのは、何が親切であり、何が適切でないかかという
オペレーティングシステムの考え方の裏をかくことばかりに
かなりの労力を費やさなければならないからである。
--- A.S.Tannenbaum, Modern Operating Systems


不定期更新の日記です。ディスクスペースの関係上、 あまりに古くなったものは順次消していきます。 この日記の更新は、今野さんの *BSD Diary Links から取得することが可能です。

February, 2014

感想はこちらまで (内容は匿名のメールで送られます)

コメント:

注: お返事が必要な場合は直接メールください。 ただし、確実にお返事するかどうかはわかりませんのであしからず。

Friday, February 21

* AsiaBSDCon チュートリアル

チュートリアル講演の概要です。

T1A+T2A: Networking from the Bottom Up (Packet Processing Frameworks)

BSD カーネルのネットワークサブシステムの構造を、 ソースコードレベルで読み解いていく講座です。講師は Design and Implementation of FreeBSD の著者のひとりであり、 ACM Queue の名物連載コラムの著者でもある George Neville-Neil です。 BPF, IPFW, Dummynet, pf, Netgraph, Netmap という 6 種類のサブシステムを、6 時間で解説します。

主な対象は、ネットワークのコード開発に携わる開発者や、 カーネル内でどのようにパケットが処理されているのかに興味を持つ システム管理者です。

T1B: IPv6 Basics, T4B: IPv6 Advanced

すでに実用段階にある IPv6 の運用について、基礎から実例までを扱う講座です。 講師は RIPE NCC で研修講師を務める Massimiliano Stucchi、 RIPE Address Policy Working Group の co-chair を務める Sander Steffann、 組み込みシステムの専門家である Philip Paeps が担当します。

Basics と Advanced は、それぞれ独立しており、 参加者の到達度に応じて選択できます。Basics は基礎知識や IPv4 ネットワークとの違いを学び、 最終的に IPv6 のみで /64 の LAN を構成するための設定法を身に付けます。 一方、Advanced が想定するのは、/48 の割り当てを受けた組織の管理者です。 どのようにサブネットを割り当てるべきなのか、ルーティング、 ホストのアドレスの自動設定、DNS 等を効率良く管理するための方法論を学びます。

どちらのチュートリアルも、演習用仮想マシンへ実際にアクセスし、 設定を体験しながら進みますので、参加者は PC を持参ください。 自習ができるよう、仮想マシンへのアクセスはチュートリアル後も提供されます。

T3A: Kerberos 認証サービスの設定と運用(日本語)

認証サービスのデファクト標準である Kerberos の原理・設定・応用に関する講座です。 講師は佐藤が担当します。具体的には、FreeBSD ベースシステムに含まれている Heimdal と呼ばれる Kerberos V5 実装を扱います。

近年の仮想マシンを使ったシステム運用では、物理マシンの数を少なく抑える一方で、 ひとつの仮想マシンあたりの機能を単純化させ、多数の仮想マシンで連係動作させることで、 セキュリティの確保や保守管理の単純化を狙う例が増えています。 そのような場合、複数の仮想マシン間でのユーザ認証情報の共有と効率的な管理が要求されます。

Kerberos は認証情報を一元管理可能で、 特にスケーラビリティや耐故障性に優れています。同様の技術には LDAP や NIS, SQL でデータベースに問い合わせるものなど、 プロトコルとバックエンドデータベースの組み合わせに様々なものが存在します。 Kerberos は Windows や MacOS など、今日使われている PC 用の OS で日常的に使われている技術ですが、原理や利点、 設定方法に関する日本語の資料が少ないのが現状です。

このチュートリアルでは、他の技術・実装との比較をしながら、 具体的な設定方法や、どのような場面で有用なのかを解説します。 Kerberos を、システム構築の道具として身に付けたいと考えている管理者におすすめです。

T4A+T5A: An Introduction to the FreeBSD Open-Source Operating System

Design and Implementation of BSD の主著者である Marshall Kirk McKusick による、 FreeBSD カーネルの講座です。具体的には、カーネルソースコードの構造、プロセス、ロック、スケジューラ、メモリ管理、I/Oサブシステム、ファイルシステム、プロセス間通信について、データ構造とアルゴリズムを中心に、ソースコードを参照しながら解説します。

参加者は、C 言語と基本的なアルゴリズムに関する知識を持っていることを前提としています。6 時間という短い時間のため、すべてを網羅することはできませんが、BSD カーネルにおけるプログラミングを理解する入口として最適です。

ちなみに Kirk は、カーネルの解説講座をビデオ教材としても販売しています。1 枚 3 時間程度の DVD で 20 枚以上あり、本講座と同様の方法でカーネルのソースコードを詳説するというものです。また BSD Research では、この教材の日本語翻訳版の検討を行なっており、どれくらい需要があるのかを調査中です。興味をお持ちの方は、お問い合わせください。

T5B: Testing on FreeBSD

NetBSD, FreeBSD 開発者のひとりである Julio Merino による、テストフレームワークに関する講座です。 Julio は Kyua と呼ばれるテストフレームワークを開発しており、NetBSD ではすでに標準として統合されています。

ソフトウェア開発では、規模が大きくなればなるほど、網羅的なテストケースの記述や、 テスト結果の集約・可視化を効率的に行なえることが求められます。 Kyua は、ソースツリーに含まれる様々なプログラムのユニットテストや結合テストを、 統一的なインタフェースで記述できる機能を提供するものです。 FreeBSD や NetBSD の開発に応用しつつ、改良が加えられてきました。

この講座では、Kyua の使い方やテストケースの記述方法等の実例を、 仮想マシンとして用意した FreeBSD を使った演習形式で学びます。

Thursday, February 20

* AsiaBSDCon 基調講演

今年も AsiaBSDCon 2014 の開催が近付いてきました。 毎年開催費用の捻出に四苦八苦していて、運営面で十分に手が回っていないところもありますが、 開催を継続していきたいと考えています。 当日のストリーミング配信も予定していますが、 今後の開催継続には、当日の参加人数が確保できていることが重要です。

AsiaBSDCon 2014 の参加費の早期割引は、2 月 25 日(火)で終了します。 奮ってご参加ください。 開催概要や参加方法などは、公式ウェブページにまとめられています。

プログラムは英語だから読むのが大変、 という声もよく聞きますので、 基調講演について内容を簡単にまとめてみました。 近日中にチュートリアル講演についても日本語にしたものをアナウンスする予定です。 チュートリアルへの登録は、参加登録後にも変更可能です。

K1: OpenZFS ensures the continued excellence of ZFS on FreeBSD, Linux, and illumos

元 Sun Microsystems の技術者で、ZFS の設計者である Matthew Ahrens の講演です。 ZFS 開発の第一人者である Matthew が、開発プロジェクトの歴史や さまざまな周囲状況の変化への対応、OpenZFS プロジェクトを 立ち上げるに至った経緯などを詳説します。

FreeBSD プロジェクトは OpenSolaris から ZFS のコードを移植し、 現在は実用レベルの安定動作をするまでに至りました。 一方、OpenSolaris は 2010 年に Oracle が Sun Microsystems を 買収したことにより、開発が事実上終了してしまいました。

ZFS の開発はコミュニティベースで OpenSolaris のクローンを保守していた Illumos OS のチームに引き継がれました。FreeBSD や Linux の ZFS 実装開発者は、Illumos OS を ZFS 開発の中心と位置付けて、 そこから移植するという形で ZFS の保守と改良を続けます。 しかし、ZFS を必要としているグループには、企業も含んで 他にもさまざま存在します。各々が別個に改良・拡張を加えてしまい、 ZFS の実装間での互換性を失うのではないかという危険性が 指摘されていました。

OpenZFS は、Matthew が ZFS 開発の新しい中心となるべく 2013 年に立ち上げたプロジェクトです。ZFS を必要としている グループの交流を促進し、開発を支援することを目的としています。

K2: Bambi Meets Godzilla: They Elope - Open Source Meets the Commercial World

sendmail の開発者として知られる Eric Allman の講演です。 本講演は、起業から収益確保、オープンソースソフトウェア プロジェクトとビジネスとの関係はどうあるべきかといった側面を、 Eric の長年の経験を踏まえて分かりやすく紹介します。

sendmail は、オープンソースソフトウェアを企業の立場で 商業利用するというビジネスモデルに挑んだ、最も初期の例のひとつです。 営利企業である Sendmail, Inc. と、開発コミュニティにおける 中心的な役割を担う Sendmail Consortium という組織によって、 sendmail は 1998 年から今日に至るまで、信頼性の高い SMTP 実装が 誰でも使える状態で提供されています。Sendmail, Inc. は、 昨年 10 月に Proofpoint, Inc. に買収されましたが、 オープンソースモデルによる利益共有と、営利企業としての利益確保という 相反しやすい課題に対し、さまざまな試行錯誤を重ねてきた歴史があります。

講演タイトルにある「バンビ、ゴジラに出会う」とは、1969 年にカナダで 製作された非常に短い映画のことです。企業経営の考え方と オープンソースプロジェクト運営の考え方は、同じようなソフトウェアを 開発していても大きく異なります。オープンソースソフトウェアの開発を スタート地点として、そこから起業するという例は、今日では珍しいもの ではなくなりました。しかし、ゴジラに踏みつぶされるが如く、失敗に 終るものも少なくありません。Sendmail, Inc. の経営から学んだ教訓を 踏まえて、何が問題になりやすいのか、どうすれば回避できるのかといった 実践的な内容が魅力的な講演です。

K3: Modifying the FreeBSD kernel Netflix streaming servers

元 FreeBSD リリースエンジニアであり、デバイスドライバや ストレージサブシステムの専門家でもある Scott Long の講演です。 Scott は現在、Netflix の技術者として、高速・大容量の ストリーミング配信サービスの設計に携わっています。 本講演は、そこで使われている FreeBSD について紹介するものです。

Netflix は米国のビデオレンタル業者としてスタートした企業で、 近年は、その事業を会員制の映像ストリーミング配信を 中心としたものに移行させています。会員数は 3,500 万人を超え、 単独一社で全米の下り方向トラフィックのおよそ 3 割を発生させるまでに 成長しています。

Netflix の配信ネットワークは、同社が開発した Open Connect Content Delivery Network という名前の CDN とのピアリングを、 主要 ISP に対して非常に安価なコストで提供することで構成されています。 その CDN の実現に使われているのは FreeBSD 9.0, nginx, BIRD の組み合せです。

特に FreeBSD は、高速・大容量という用途に対応できるよう、 カーネルレベルでの機能強化もいくつか行なわれています。 本講演は、CDN の構築における技術的な課題、FreeBSD で構成した際に 直面した課題、そしてその課題に対してどのように取り組んだのかという 話題を扱っています。

K4: An Overview of Security in the FreeBSD Kernel

元 CSRG メンバーで BSD 開発の中心人物のひとりであり、今もなお FFS ファイルシステムをはじめ、BSD カーネルの開発を続けている Marshall Kirk McKusick の講演です。

4.4BSD の時代以降、Unix 系 OS ではセキュリティを強化するための さまざまな機能が議論され、実装されています。本講演で扱うのは、 乱数発生器、強制アクセス制御、root 権限の細分化、 セキュリティ監査、権限のサンドボックス化です。

FreeBSD は、それぞれの要素技術に対して特徴的な実装を持っており、 伝統的な Unix のセキュリティモデルとの矛盾を最小限にしながら、 システムへの悪意のある攻撃を防ぐ手段を提供しています。 本講演では、歴史をたどりながら、各々のリスクモデルと 対応策・実装技術を解説し、現在の議論と将来的な改良の方向性にも 触れていきます。

ごく最近も、Linux コミュニティにおいて RDRAND 命令のような ハードウェア乱数発生器の信頼性と、カーネルで直接使うことの是非が 騒動になりましたが、「ではその問題に対して FreeBSD での取り組みが どうなっているのか」といった、最新の話題も豊富です。

感想はこちらまで (内容は匿名のメールで送られます)

コメント:

注: お返事が必要な場合は直接メールください。 ただし、確実にお返事するかどうかはわかりませんのであしからず。