[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002809] Re: OSC2007



塩谷様

森川です

> たまたま以下のサイトに行き当たったんですが,OSCってどんな感じなんで
> しょうかね?
> 
> 	http://www.ospn.jp/osc2007-kansai/

つい先々週に OSC 北海道に出てきました. 参加者の層はオタッキーな人から
企業っぽい (?) 人までいろいろだった気がしますが, 全体として自由で和気
藹々とした雰囲気だった気がします. 発表内容もいろいろで, 「オープンソー
スなソフトウェアの話で無ければならない」みたいな拘束もないようでした.
(講演と質疑応答の時間の配分も話者が決めていいみたいでした).

そういった雰囲気ですので, ぱっと覗いて面白いのだけつまみ食いして帰る, 
といったこともしやすい (?) と思います. (確か参加には登録が必要ですが, 
全然チェックとかなかったです... )


ちなみに, 後は余談ですが, 今回私は Xen, 電脳倶楽部の紹介 (話者: 石渡さ
ん), Linux サーバセキュリティ, Haskell, Samba の話を聞いてきました.

以下, テキトーにとったメモ書きですが, 参考になりましたら幸いです. (サ
サっと書いた後, 整形すらしていないので読みづらい上, ウソもいろいろ書い
てあるかもしれませんが...)

# 初めは元気があったけれども, 後半どんどんいい加減に...

################ OSC DO 2007 森川 メモ #####################

= Xen, SUSE

== 仮想化友の会

仮想化技術に関して熱い思いを持つ人が集まっているコミュニティ.

ちょくちょく勉強会, 飲み会, セミナーを開いているとのこと

つい先日に仮想化友の会と Debian 勉強会とをあわせておこなったイベントでは
80 名以上の参加があった.


== IA サーバの仮想化と仮想化ソフトウェア

: 基本

  1 台のサーバ上で複数の OS (仮想マシン) を実行する

: 応用 (目指すところ)

  複数の物理サーバを統合し, 単一のリソースとして利用


== 仮想化ソフトウェアの必要性

そもそも1つのサーバ上に複数のOS をインストールできないのか?

答え=できる。 でも。。。

x86アーキテクチャ向けのOSはOSを占有しているという前提で動作

仮にOSを複数動かしたとすると, リソースの競合が発生


仮想化ソフトウェアは、複数のOSを動作させつつ、リソースの競合を
回避するためのソフトウェアといえる。


== よく聞く仮想ソフトウェア

VMware、Virtual PC、Xen

== Xen とは

* 高性能
  * 動作速度が高い(オーバーヘッドが小さい)
  * ダウンタイム無しでのマイグレーション

* オープンソース
  * 誰もが開発に参加可能 ⇒ 現在ホットに開発されているらしい
  * 無料で使える
  * 特定のメーカーの製品に依存しない

* 完全仮想化対応
  * Xen 3.0 から完全仮想化対応

== Xen の仕組み  準仮想化

管理用のゲストOSが1つ存在し、その他のゲストOSを制御する。
デバイスドライバ、バックエンドドライバは管理用ゲストOSがもち、
他のゲストOSはフロントエンドドライバのみ持つ

「Xen用のOS」でないと準仮想化できない。
またゲストOS化するための修正も必要。

== Xen の仕組み  完全仮想化

Intel VT (仮想化の機能を持つCPU)でさえあれば、
どのようなOSも仮想化できる「完全仮想化」が可能。
ゲストOSにするための修正も不要

Xenは準仮想化、完全仮想化が必要。

== ドメイン

管理するのを Domain-0、その他を Domain-U と呼ぶ


== 完全仮想化と準仮想化

完全仮想化の方がラクである反面、パフォーマンスが落ちるという
問題があったが、最近は改善されつつあるらしい。


== Xen 環境 (ドメイン0) の構築方法

まず、現ホストOSがXen対応のOSである必要がある。
そこにXenをインストールした後、ブートローダを書き換え、
Xenの上にホストOSが乗っかって動くようにする。
このようにした場合、それまでのホストOSが「ドメイン0」となる。

== SUSE 10 での仮想環境の構築方法

最近はインストールもラクになったとのこと。

(Windows インストーラ的にサクサクインストール可能)

== ドメインUの作り方

virt-manager などという GUI ユーティリティがあるらしく,
サクサクと作成可能らしい.

「完全仮想化」といっているが, 「どのタイプのOSをインストールする?」
などと聞かれるので、やっぱりある程度制限はあるようだ.


== ネットワークを割り当て

VMwareの仮想ネットワークとは違うのかな?  似たようなものにも見えるが。。。
複数ゲストOSをどうするのか、という情報に関しては話していなかった。


== ライブマイグレーション

仮想OSを停止させずに、別のハードウェア上に移すことが可能。(移動できる
のはドメインU)。移す元と移す先のハードウェアは「仮想OS本体」で共有さ
れている必要があるらしい。



############################################################
= Linux サーバセキュリティ入門

EP サーバでは大体肝心なところは抑えているのだなぁ, と実感 (?)

== netstat

netstat に -p オプションをつけると, プロセスとポートの関係を表示できる.
(ちょっと読み方が分からないのだが...)



############################################################
= Haskell 紹介

オープンソースと Haskell は関係ないらしい ^^;

処理系として ghc や hugs なんてのがあるらしい

「モナド」なんてものもあるらしい


Haskell は人の名前らしい. ググるときに "Haskel" だとろくなものが
引っかからない (講演者談) らしい.

== 石渡さんの話に対してのコメント

この講演中ではないが, 石渡さんの発表に対して, 「今は 20 世紀ではありま
せん. 21 世紀です. なので関数型言語を使いましょう」とコメントを下さった
Haskell 紹介の講演者さんから, その後石渡さんが聞いた話をまた聞きしたメモ.

コードを支配方程式に近づけるためには関数型言語の方が良いらしい.
Σなどは sum[1, 2, 3] などと書けるとのこと.
変数命名ルールを考える必要が無くなるとおっしゃっていたらしいが
やっぱりよく分からず.

(もちろん, モデル本体を書く言語としてはスパコンで動く必要があるのだが...)


== Haskell の特徴

純粋関数型言語. 全て関数らしい.
変数を持たず, 再代入を許さない.  ⇒ Simple  (ソースコードを短く書けるらしい)

強くて柔軟な「形」 ⇒ Clean (間違いにくく, 正確にプログラムができる (?) らしい)

遅延評価 ⇒ Smart (無限, を扱える)


== Haskell 書籍

「ふつうの Haskell」
Ruby の開発者 (の一人) が書いている. 分かりやすいが
著者には愛がないらしい (?)

「入門 Haskell」
若さが出ている (?) らしい.

「Programming in Haskell」
決定版らしいが英語.
初心者には分かりやすく, 最後にはふか〜いことが書いているらしい.


== Web 資料

「本物のプログラマは Haskell を使う」でググる (?)
(難しいらしい).

http://tinyurl.com/2c9pxq

Haskell Wiki (日本語)

http://tinyurl.com/yrhozj

"Haskell" ではなく "Haskel" で検索するとろくな記事がでないらしい.


== 「モナド」とは?

関数型言語において入出力を扱うための機構がモナド.

「モナド」がよくググられるのはよくつまづくかららしい.
(「モナド」は何か, を気にするから. インデントが一文字ずれるだけで
動かなくなるから (セミコロンを入れまくると気にしなくて良いらしい).
「モナド」を知るとさらにはまるらしい).


############################################################
= Samba の小技

== アクセスログの監査機能

デバッグ用の余計なものを避けて, 誰がどんなことをしたか (何のコマンドを
実行したか) といったことのログを取得する.

== VFS 機能

Virtual File System (Samba 2.2 より実装)

ファイルシステムへのアクセスを仮想化する.


== 3 つのモジュール

* audit
  * Samba 用ログに出力

* extd_audit
  * syslog に出力

* full_audit
  * 全部の操作を監視

== 日本語ユーザ名を使いたい

日本語ユーザ名とSamba上の英数字ユーザ名のマップを作成しておく.

samba3.0.20 以前は静的マップのみ. それ以後は動的マップが使用可.

/etc/samba/username.map を作成し,

ribbon=しとろん
ribong=hogehoge

を作成する.

ldap を検索 (?) し, 動的マップを作成することが可能となる.

############ OSC DO 2007 森川 メモ おしまい ################


┌□─────────────────────────
■    森川 靖大 (Yasuhiro MORIKAWA)
|□  神戸大学 大学院理学研究科 地球惑星科学専攻
■    林研究室 博士後期課程 3 年
|□  e-mail : morikawa@xxxxxxxxxxxxxx
■──────────────────────