20
OpenVZ Update 6回 コンテナ型仮想化の情報交換会@東京 Kentaro Ebisawa | 海老澤 健太郎 | Twitter: @ebiken

OpenVZ Update 2015/02/18 (日本語)

Embed Size (px)

Citation preview

OpenVZ Update

第6回コンテナ型仮想化の情報交換会@東京

Kentaro Ebisawa |海老澤健太郎 | Twitter: @ebiken

本日のトピック

1. OpenVZ統計情報 as of 2015/02/18

2. OpenVZ開発のオープン化!!OpenVZ to be real open development.http://openvz.livejournal.com/49158.html

3. OpenStack nova/libvirtの Parallels Cloud Server 対応

4. Dockerと OpenVZ … libCT / libcontainer / Go APIa. OpenVZコンテナ内でDockerを動作させるb. libct (by Parallels) と libcontainer (by Docker)の統合

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 2

1. OpenVZ統計情報 as of 2015/02/18

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 3

1. OpenVZ統計情報 as of 2015/02/18

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 4

他の統計情報はこちらで:http://stats.openvz.org/• Top 10 Kernels• CPU Architecture, Memory, Swap Size

• Disk File Systems and Size• Software Counts per version

2. OpenVZ開発のオープン化!!

• OpenVZ開発を真にオープンにするためのアクションプラン• OpenVZ (Open Source) と Parallels Cloud Server (Proprietary)の統合

• source code ベースレベルで統合

• RHEL7ベースのVirtuozzo kernel (商用版)をGitで公開 (2015年初旬)• Kernel 開発のメーリングリストを公開• Bug trackingをJIRAに変更・公開

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 5

発表:2014/12/26 : http://openvz.livejournal.com/49158.html

“PCS - Parallels Cloud Server” とは何?

• Cloud Server / Storage Solution in a Single Package.• Parallels Containers (Virtuozzo … OpenVZの商用版)• Parallels Hypervisor (コンテナではなく仮想マシン)• Parallels Cloud Storage (ホストに内包された分散ストレージ)

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 6

Screenshots from “Introducing Parallels Cloud Storage” on YouTube: https://www.youtube.com/watch?v=6oEzW9w-1rg

統合プラン:OpenVZ + Parallels Cloud Server (PCS)

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 7

CloudStorage

Containers

OpenVZ

Virtuozzo Core?OpenVZ ?

PCS(Parallels Cloud Server)

Add On (Proprietary)

Open Source

Hypervisor

3. OpenStack nova/libvirtの Parallels Cloud Server 対応

•nova/libvirt driver が Parallels Cloud Server (PCS) に対応• 2015-02-05 : リリース名 “kilo-2”

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 8

http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/pcs-support.html

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 9

VMs CTs

Launch yes yes

Reboot yes yes

Terminate yes yes

Resize yes yes

Rescue yes yes

Pause yes 1.

Un-pause yes 1.

Suspend yes yes

Resume yes yes

Inject Networking yes yes

Inject File yes yes

Serial Console Output yes no

VNC Console yes yes

SPICE Console no no

RDP Console no no

VMs CTs

Attach Volume yes 2.

Detach Volume yes 2.

Live Migration yes yes

Snapshot yes yes

iSCSI yes yes

iSCSI CHAP yes yes

Fibre Channel yes yes

Set Admin Pass yes yes

Get Guest Info yes yes

Glance Integration yes yes

Service Control no yes

VMs CTs

VLAN Networking yes yes

Flat Networking yes yes

Security Groups yes yes

Firewall Rules yes yes

nova diagnostics no no

Config Drive yes yes

Auto configure disk no yes

Evacuate yes yes

Volume swap yes 3.

Volume rate limiting 4. 4.

From “Parallels Cloud Server support in nova/libvirt driver”http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/pcs-support.htmlList of features we plan to support:

1. There are no technical problems with pausing containers it’s not implemented by now.2. It’s possible to attach volume to a container either as a block device or as a mount point, giving

both types of access simultaneously has a security problem.3. We can tune swap size in containers with vswap technology [4], not as a conventional swap disk.4. We can tune IO rate only for the whole instance but not for individual volumes.

OpenVZもマージ完了次第サポート

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 10

CloudStorage

Containers

OpenVZ

Virtuozzo Core?OpenVZ ?

PCS(Parallels Cloud Server)

Add On (Proprietary)

Open Source

Hypervisor

nova/libvirt support (対応済み)

nova/libvirt support(マージ後対応)

4. Dockerと OpenVZ … libCT / libcontainer / Go API

•2つのトピック

a. OpenVZコンテナ内でDockerを動作させる

b. libct (by Parallels) と libcontainer (by Docker) の統合

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 11

4-a. OpenVZコンテナ内でDockerを動作させる

•ベータ版リリース済み(2015-02-11)

•コンテナ設定のチューニング必要• vzctlを使用

•(現時点での)制限事項• “vfs” Docker graph driver のみサポート• Dockerコンテナ内でのチェックポイント・リストアは未サポート

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 12

https://openvz.org/Docker_inside_CT

4-b. libct (by Parallels) と libcontainer (by Docker) の統合

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 13

@ DOCKERCON 2014 でアナウンス(6月開催)

Solomon Hykes at Dockercon 14 presenting Docker's philosophy and roadmap, and introducing new components of the platform.

http://www.slideshare.net/shykes/docker-the-road-ahead

Parallels Service Provider BLOG“Libcontainer: The Future Facilitator for Containerized Applications”

http://spblog.parallels.com/serviceprovider/2014/6/10/libcontainer-the-future-facilitator-for-containerized-applications

4-b. libct (by Parallels) と libcontainer (by Docker) の統合• libct (by Parallels)

• 目的:コンテナの細かい機能(Capability)へアクセス可能にする。• ビルド・リンク可能な C/C++ ライブラリ(Python bindings)• オリジナルレポジトリ: https://github.com/xemul/libct

• libcontainer (by Docker)• 目的:ツールキット(LXC等)に依存しない、ネイティブなコンテナ操作の実現• Golangを使用したプロジェクト• オリジナルレポジトリ:

https://github.com/dotcloud/docker/tree/master/pkg/libcontainer/

•統合(マージ)した後に可能なこと• OpenVZ : OpenVZ kernel 上に Dockerをデプロイ可能• Docker : チェックポイント・リストアが可能(CRIU利用)• Linuxコンテナのデフォルト・ライブラリ

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 14

Information from announcement from James Bottomley on linux containers MLhttps://lists.linux-foundation.org/pipermail/containers/2014-June/034669.html

コンテナ操作:統合前 (Docker / LXC)

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 15

Docker

libContainer

lxc

libLXC

mainstreamkernel

From Slide 16, 17, 18 : Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.http://www.slideshare.net/WG_Talks/k-parallels?qid=bda20668-c00b-446b-8fc4-409b81eebaa3

コンテナ操作:統合前 (OpenVZ)

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 16

mainstreamkernel

OpenVZkernel

libvzctl

vzctl

From Slide 16, 17, 18 : Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.http://www.slideshare.net/WG_Talks/k-parallels?qid=bda20668-c00b-446b-8fc4-409b81eebaa3

コンテナ操作:統合後 (Docker / LXC / OpenVZ)

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 17

Docker

libContainer(merged)

lxc

mainstreamkernel

OpenVZkernel

vzctl

From Slide 16, 17, 18 : Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.http://www.slideshare.net/WG_Talks/k-parallels?qid=bda20668-c00b-446b-8fc4-409b81eebaa3

C API

Go

AP

I

libContainer(merged)

Py

AP

I

コンテナ操作:統合後 (Docker / LXC / OpenVZ / NOVA)

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 18

Docker lxc

mainstreamkernel

OpenVZkernel

vzctl

From Slide 16, 17, 18 : Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.http://www.slideshare.net/WG_Talks/k-parallels?qid=bda20668-c00b-446b-8fc4-409b81eebaa3

C API

Go

AP

I

OpenStackNOVA

レポジトリ&進捗確認方法

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 19

統合作業は2014/10/09に開始https://github.com/docker/libcontainer/pull/217

レポジトリ&進捗確認方法

第6回コンテナ型仮想化の情報交換会@東京 | 2015/02/18 | @ebiken 20

レポジトリ: https://github.com/docker/libcontainer/進捗: https://github.com/docker/libcontainer/commits/api