OSC2011 Nagoya - LXCによる仮想化とHAクラスタ化/ベンチマークデモ

OSC2011 Nagoyaでの『LXCによる仮想化とHAクラスタ化/ベンチマークデモ』をまとめました。
1
Yoshikazu GOTO @goto_ipv6

山本さん:LXCの概要:LinuXContainerの略。OSレベルの仮想化。Namespace+cgroup+ユーザランドを総称してこう呼ぶ。 #oscnagoya #LXC入門

2011-08-20 14:03:34
Yoshikazu GOTO @goto_ipv6

山本さん:パッチをLXCのコミュニティーに送ったりしています。 #oscnagoya #LXC入門

2011-08-20 14:04:15
Yoshikazu GOTO @goto_ipv6

山本さん:完全仮想は、CPUの支援で、多少はオーバーヘッドが減ってきている。準仮想は、対応したOSでなければならない。OS仮想化は、ホストOSで動作させるのとさほど違いがないほどのオーバーヘッドの小ささになっている。 #oscnagoya #LXC入門

2011-08-20 14:06:39
Yoshikazu GOTO @goto_ipv6

山本さん:Namespace:プロセスをコンテナライズするために、カーネルの中に実装されているもの。あるコンテナは他のコンテナに干渉できない。crroupは、リソースをグループ化したもの。 #oscnagoya #LXC入門

2011-08-20 14:08:03
Yoshikazu GOTO @goto_ipv6

山本さん:IPアドレスやホスト名を含めて、コンテナとしてまとめる必要がある。 #oscnagoya #LXC入門

2011-08-20 14:08:42
Yoshikazu GOTO @goto_ipv6

山本さん:プロセスは task_structという構造体で管理。ホスト名やマウント状態、プロセスIDなどを直接参照していた。しかし Namespaceが新設され、Proxyレイヤがー新設されて、プロセスIDが重複しても問題ないようになった。 #oscnagoya #LXC入門

2011-08-20 14:10:32
Yoshikazu GOTO @goto_ipv6

山本さん:cgroupはリソースを定義して、Namespaceに対してリソース制御する。 #oscnagoya #LXC入門

2011-08-20 14:11:29
Yoshikazu GOTO @goto_ipv6

山本さん:Ubuntuは、OpenVZからLXCに変更した。 #oscnagoya #LXC入門

2011-08-20 14:12:24
Yoshikazu GOTO @goto_ipv6

山本さん:Kernelは頻繁に再設計されるが、OpenVZは非標準なので追いつけない場合も。LXC/KVMは標準なので、自動的に追従される。 #oscnagoya #LXC入門

2011-08-20 14:13:46
Yoshikazu GOTO @goto_ipv6

山本さん:OpenQRM:CloudStackとかOpenStack、Eucaliptusなどと同じようなもの。スクリプトとPHPベースでカスタマイズしやすかった。 #oscnagoya #LXC入門

2011-08-20 14:15:37
Yoshikazu GOTO @goto_ipv6

ZFSキタ━━━━━━(゜∀゜)━━━━━━ !! #oscnagoya #LXC入門

2011-08-20 14:16:24
Yoshikazu GOTO @goto_ipv6

山本さん:ホストから見ると、ホスト側のプロセスID体系で見えるが、仮想ノード内部では独自のIDで見える。例えば、ホスト側で initが 30000であっても、仮想ノード内部では initは 1になる。 #oscnagoya #LXC入門

2011-08-20 14:21:54
Yoshikazu GOTO @goto_ipv6

山本さん:zfsのクローンを指定することもできる。 #oscnagoya #LXC入門

2011-08-20 14:22:26
Yoshikazu GOTO @goto_ipv6

山本さん:zfsのベースボリュームから、ほぼゼロコピーで、ファイルシステムができる。弊社で改良した部分。 #oscnagoya #LXC入門

2011-08-20 14:23:22
Yoshikazu GOTO @goto_ipv6

ZFSの機能をうまく使っているなぁ。 #oscnagoya #LXC入門

2011-08-20 14:26:27
Yoshikazu GOTO @goto_ipv6

/dev/の扱いがちょっとアレなのかな。FreeBSDのjailだと、普通にsyslogも動いている(はず) #oscnagoya #LXC入門

2011-08-20 14:29:58
Yoshikazu GOTO @goto_ipv6

山本さん:コンテナごとに、iptablesの設定が可能。network namespaceのおかげ。 #oscnagoya #LXC入門

2011-08-20 14:31:16
Yoshikazu GOTO @goto_ipv6

山本さん:/proc/sysrq-trigger 問題は、カーネルへのパッチを作成して適用することで、回避している。b を書き込んだらホスト側も再起動してしまうとかの問題。 #oscnagoya #LXC入門

2011-08-20 14:33:10
Yoshikazu GOTO @goto_ipv6

山本さん:LXCはヤバイ?そんなことはなくて、OpenVZなども同じようなもの。なぜかというと、危ない部分へのアクセス方法は、大きく分けて 4種類ほど。そのあたりを潰していくしかないし、パッチを提供してく。 #oscnagoya #LXC入門

2011-08-20 14:37:43
Yoshikazu GOTO @goto_ipv6

LL Planetsもやっているんだよなー。そっち方面の方も頑張ってー。 #oscnagoya #LXC入門

2011-08-20 14:39:00
@Henry_Sanderson

Henry 山本さん:コンテナごとに、iptablesの設定が可能。network namespaceのおかげ。 #oscnagoya #LXC入門 Sanderson

2011-08-20 14:48:04
@Thomas_Mcginnis

Thomas 山本さん:コンテナごとに、iptablesの設定が可能。network namespaceのおかげ。 #oscnagoya #LXC入門 Mcginnis

2011-08-20 14:48:04
@RickKAdams

RickK 山本さん:コンテナごとに、iptablesの設定が可能。network namespaceのおかげ。 #oscnagoya #LXC入門 Adams

2011-08-20 14:48:04
@EdwinCCraft

Edwin 山本さん:コンテナごとに、iptablesの設定が可能。network namespaceのおかげ。 #oscnagoya #LXC入門 CCraft

2011-08-20 14:48:04