what's missing from upstream kernel containers?
TRANSCRIPT
Containers in the upstream kernel(as compared to VZ kernel)
Kir Kolyshkin, Sergey Bronnikov
Who we are?
OpenVZ is an open source implementation of Linux containers
Kir Kolyshkin - leading OpenVZ for 10 years
Sergey Bronnikov - community manager of OpenVZ project
OpenVZ contribution to the Linux kernel:
2000+ commits
, FIXME: 2.6.18 vs 2.6.32, 2.6.32 vs 3.11FIXME: upstream (http://openvz.org/File:Kernel_patches_stats.png)
: namespaces (pid, ipc, network) CRIU cgroups controllers
http://openvz.org/File:Kernel_patches_stats.png
OpenVZ -- , . "", . , , network namespaces -- " ", . TCP/IP , , , , . , , .. -- "", OpenVZ.
, -. linux-kernel@ , , , , , , , -- , , . "" OpenVZ . , "" , ( , ).http://k001.livejournal.com/774225.html
OpenVZ ? ! , (, , 1700 , , , , ).
, PID namespace. , , , , , , . , , , , , -- , . , , . , , , . , , , . , , , -- , , .
? ? ? , -- OpenVZ , , , OpenVZ, . ? , , . , , 60 80% -- ( 20-30%, ).http://ru-openvz.livejournal.com/1970.html
Is OpenVZ kernel upstreamed yet?
Yes!
About 60%
Biggest pieces:NET and PID namespaces
Memory cgroup, device cgroup
CRIU
NFS virtualization
Virtuozzo kernel changes (LOC)
This slide show amount of patchset for three
Things we (still) need to add 1/2
Ploop and related ext4 changes
Memory management and accountingbackport of kmemcg
idle memory tracking (for vcmmd)
network buffers memory accounting
OOM killer virtualization
/sys and /proc virtualization
Things we (still) need to add 2/2
Network: venet, iptables (marks)
FUSE upstream backports
Printk virtualization
/dev/console virtualization
Time namespace (for monotonic timers wrt migration)
Misc legacy (vziolimit, vzlist, vzredir, vznetstat, beancounters...) Beancounters: numiptent, numfile, numproc
Any patches? Questions?
Kir Kolyshkin [email protected], @kolyshkinSergey Bronnikov [email protected], @estet
; ; Untitled 2
v2.6.137
v2.6.144
v2.6.156
v2.6.167
v2.6.1713
v2.6.1814
v2.6.1940
v2.6.2019
v2.6.2141
v2.6.2243
v2.6.2360
v2.6.24222
v2.6.25296
v2.6.26345
v2.6.27166
v2.6.2889
v2.6.2931
v2.6.3037
v2.6.3120
v2.6.3219
v2.6.3328
v2.6.3429
v2.6.3565
v2.6.3611
v2.6.3752
v2.6.3813
v2.6.3914
v3.014
v3.110
v3.236
v3.3106
v3.4131
v3.5103
v3.633
v3.770
v3.8124
v3.965
v3.1040
v3.1133
v3.1232
v3.1322
v3.1429
v3.1553
v3.1625
v3.1729
v3.1847
v3.1933
v4.033
HEAD16
; Patchset
RHEL5 (2.6.18)264641
RHEL6 (2.6.32)202746
RHEL7 (3.10)66324
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelBody Level One
Body Level Two
Body Level Three
Body Level Four
Body Level Five
Title Text
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelBody Level One
Body Level Two
Body Level Three
Body Level Four
Body Level Five
Title Text
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelBody Level One
Body Level Two
Body Level Three
Body Level Four
Body Level Five
Title Text
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelBody Level One
Body Level Two
Body Level Three
Body Level Four
Body Level Five
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelBody Level One
Body Level Two
Body Level Three
Body Level Four
Body Level Five