<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>OpenVZ</title>
  <link>http://openvz.livejournal.com/</link>
  <description>OpenVZ - LiveJournal.com</description>
  <lastBuildDate>Wed, 18 Jan 2012 15:17:01 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>openvz</lj:journal>
  <lj:journalid>9392309</lj:journalid>
  <lj:journaltype>community</lj:journaltype>
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
  <image>
    <url>http://l-userpic.livejournal.com/41043950/9392309</url>
    <title>OpenVZ</title>
    <link>http://openvz.livejournal.com/</link>
    <width>100</width>
    <height>84</height>
  </image>

<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/40185.html</guid>
  <pubDate>Wed, 18 Jan 2012 15:17:01 GMT</pubDate>
  <title>SOPA protest</title>
  <link>http://openvz.livejournal.com/40185.html</link>
  <description>wiki.openvz.org is down today, joining the SOPA and PIPA protest. Read more:&lt;br /&gt;* &lt;a href=&apos;http://americancensorship.org/&apos;&gt;http://americancensorship.org/&lt;/a&gt;&lt;br /&gt;* &lt;a href=&apos;https://www.eff.org/deeplinks/2012/01/how-pipa-and-sopa-violate-white-house-principles-supporting-free-speech&apos;&gt;https://www.eff.org/deeplinks/2012/01/how-pipa-and-sopa-violate-white-house-principles-supporting-free-speech&lt;/a&gt;&lt;br /&gt;* &lt;a href=&apos;http://google.com/takeaction&apos;&gt;http://google.com/takeaction&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The site will come alive tomorrow. Now, if you need access to the site, just reload the page.</description>
  <comments>http://openvz.livejournal.com/40185.html</comments>
  <category>pipa</category>
  <category>sopa</category>
  <category>openvz</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/39765.html</guid>
  <pubDate>Tue, 27 Dec 2011 16:03:39 GMT</pubDate>
  <title>Recent improvements in vzctl</title>
  <link>http://openvz.livejournal.com/39765.html</link>
  <description>VSwap is an excellent feature, simplifying container resource management a lot. Now it&apos;s time to also simplify the command line interface, i.e. vzctl. Here is what we did recently (take a look at vzctl git repo if you want to review the actual changes):&lt;br /&gt;&lt;br /&gt;1. We no longer require to set kmemsize, dcachesize and lockedpages parameters to non-unlimited values (this is one of the enhancements in the recent kernels we have talked about recently). Therefore, setting these parameters to fractions of CT RAM (physpages) are now removed from configuration files and vzsplit output.&lt;br /&gt;&lt;br /&gt;2. There is no longer a need to specify all the UBC parameters in per-container configuration file. If you leave some parameters unset, the kernel will use default values (usually unlimited). So, VSwap example configs are now much smaller, with as much as 19 parameters removed from those.&lt;br /&gt;&lt;br /&gt;3. vzctl set now supports two new options: --ram and --swap. These are just convenient short aliases for --physpages and --swappages, the differences being that you only need to specify one value (the limit) and the argument is in bytes rather than pages.&lt;br /&gt;&lt;br /&gt;So, to configure a container named MyCT to have 1.5GB of RAM and 3GB of swap space available, all you need to do is just run this command:&lt;br /&gt;&lt;code&gt;vzctl set MyCT --ram 1.5G --swap 3G --save&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;4. This is not VSwap-related, but nevertheless worth sharing. Let&apos;s illustrate it by a copy-paste from a terminal:&lt;br /&gt;&lt;code&gt;# vzctl create 123 --ostemplate centos-4-x86_64&lt;br /&gt;Creating container private area (centos-4-x86_64)&lt;br /&gt;Found centos-4-x86_64.tar.gz at &lt;a href=&apos;http://download.openvz.org/template/precreated//centos-4-x86_64.tar.gz&apos;&gt;http://download.openvz.org/template/precreated//centos-4-x86_64.tar.gz&lt;/a&gt;&lt;br /&gt;Downloading...&lt;br /&gt;-- 2011-11-29 18:54:08 -- &lt;a href=&apos;http://download.openvz.org/template/precreated//centos-4-x86_64.tar.gz&apos;&gt;http://download.openvz.org/template/precreated//centos-4-x86_64.tar.gz&lt;/a&gt;&lt;br /&gt;Resolving download.openvz.org... 64.131.90.11&lt;br /&gt;Connecting to download.openvz.org|64.131.90.11|:80... connected.&lt;br /&gt;HTTP request sent, awaiting response... 200 OK&lt;br /&gt;Length: 171979832 (164M) [application/x-gzip]&lt;br /&gt;Saving to: `/vz/template/cache/centos-4-x86_64.tar.gz&apos;&lt;br /&gt;&lt;br /&gt;100%[======================================&amp;gt;] 171,979,832 588K/s in 4m 27s &lt;br /&gt;&lt;br /&gt;2011-11-29 18:58:35 (630 KB/s) - `/vz/template/cache/centos-4-x86_64.tar.gz&apos; saved [171979832/171979832]&lt;br /&gt;&lt;br /&gt;Success!&lt;br /&gt;Performing postcreate actions&lt;br /&gt;Saved parameters for CT 123&lt;br /&gt;Container private area was created&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;All this will be available in vzctl-3.0.30, which is to be released soon (next week? who knows). If you can&apos;t wait and want to test this stuff, here&apos;s a nightly build of vzctl available (version 3.0.29.3-27.git.0535fe1) from &lt;a href=&apos;http://wiki.openvz.org/Download/vzctl/nightly&apos;&gt;http://wiki.openvz.org/Download/vzctl/nightly&lt;/a&gt;. Please give it a try and tell me what you think.</description>
  <comments>http://openvz.livejournal.com/39765.html</comments>
  <category>openvz</category>
  <category>vzctl</category>
  <category>git</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>17</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/39644.html</guid>
  <pubDate>Mon, 14 Nov 2011 20:03:12 GMT</pubDate>
  <title>On vSwap and 042stab04x kernel improvements</title>
  <link>http://openvz.livejournal.com/39644.html</link>
  <description>&lt;h3&gt;vSwap&lt;/h3&gt;The best feature of the new (RHEL6-based) 042 series of the OpenVZ kernels is definitely vSwap. The short story is, we used to have 22 user beancounter parameters which every seasoned OpenVZ user knows by heart. Each of these parameters is there for a reason, but 22 knobs are a bit too complex to manage for a mere mortal, especially bearing in mind that&lt;ul&gt;&lt;li&gt;many of them are interdependent;&lt;/li&gt;&lt;li&gt;the sum of all limits should not exceed the resources of a given physical server.&lt;/li&gt;&lt;/ul&gt;Keeping this configuration optimal (or even consistent) is quite a challenging task even for a senior OpenVZ admin (with a probable exception of an ex airline pilot). This complexity is the main reason why there are multiple articles and blog entries complaining OpenVZ is worse than Xen, or that it is not suitable for hosting Java apps. We do have some workarounds to mitigate this complexity, such as:&lt;ul&gt;&lt;li&gt;precreated &lt;a href=&quot;http://git.openvz.org/?p=vzctl;a=tree;f=etc/conf&quot;&gt;container configs&lt;/a&gt; with sane defaults for beancounters;&lt;/li&gt;&lt;li&gt;some special tools (&lt;a href=&quot;http://wiki.openvz.org/Man/vzsplit.8&quot;&gt;vzsplit&lt;/a&gt; and &lt;a href=&quot;http://wiki.openvz.org/Man/vzcfgvalidate.8&quot;&gt;vzcfgvalidate&lt;/a&gt;);&lt;/li&gt;&lt;li&gt;the comprehensive &lt;a href=&quot;http://wiki.openvz.org/UBC&quot;&gt;User Beancounters manual&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;This is still not the way to go. While we think high of our users, we do not expect all of them to be ex airline pilots. To solve the complexity, the number of per-container knobs and handles should be reduced to some decent number, or at least most of these knobs should be optional.&lt;br /&gt;&lt;br /&gt;We worked on that for a few years, and the end result is called &lt;b&gt;vSwap&lt;/b&gt; (where V is for Vendetta, oh, pardon me, Virtual).&lt;br /&gt;&lt;br /&gt;vSwap concept is as simple as a rectangular. For each container, there are only two required parameters: the memory size (known as &lt;code&gt;physpages&lt;/code&gt;) and the swap size (&lt;code&gt;swappages&lt;/code&gt;). Almost everyone (not only an admin, but even an advanced end user) knows what is RAM and what is swap. On a physical server, if there is not enough memory, the system starts to swap out memory pages to disk, then swap in some other pages, which results in severe performance degradation but it keeps the system from failing miserably.&lt;br /&gt;&lt;br /&gt;It&amp;#39;s about the same with vSwap, except that&lt;ul&gt;&lt;li&gt;RAM and swap are configured on a per container basis;&lt;/li&gt;&lt;li&gt;no I/O is performed until it is really necessary (this is why swap is virtual).&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Some VSwap internals&lt;/h3&gt;Now, there are only two knobs per container on a dashboard, namely RAM and swap, and all the complexity is hidden under the hood. I am going to describe just a bit of that undercover mechanics and explain what does the &amp;quot;&lt;i&gt;Reworked VSwap kernel memory accounting&lt;/i&gt;&amp;quot; line from the 042stab040.1 kernel changelog stands for.&lt;br /&gt;&lt;br /&gt;The biggest problem is, RAM for containers is not just RAM. First of all, there is a need to distinguish between&lt;ul&gt;&lt;li&gt;the user memory,&lt;/li&gt;&lt;li&gt;the kernel memory,&lt;/li&gt;&lt;li&gt;the page cache,&lt;/li&gt;&lt;li&gt;and the directory entry cache.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;The user memory&lt;/b&gt; is more or less clear, it is simply the memory that programs allocate for themselves to run. It is relatively easy to account for, and it is relatively simple to limit it (but read on).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The kernel memory&lt;/b&gt; is really complex thingie. Right, it is the memory that kernel allocates for itself in order for programs in a particular container to run. This includes a lot of stuff I&amp;#39;d rather not dive into, if I want to keep this piece as an article not a tome. Having said that, two particular kernel memory types are worth explaining.&lt;br /&gt;&lt;br /&gt;First is &lt;b&gt;the&amp;nbsp;page cache&lt;/b&gt;, the kernel mechanism that caches disk contents in memory (that would be unused otherwise) to minimize the I/O. When a program reads some data from a disk, that data are read into the page cache first, and when a program writes to a disk, data goes to the page cache (and then eventually are written (flushed) to disk). In case of repeated disk access (which happens quite often) data is taken from a page cache, not from the real disk, which greatly improves the overall system performance, since a disk is much slower than RAM. Now, some of the page cache is used on behalf of a container, and this amount must be charged into &amp;quot;RAM used by this container&amp;quot; (i.e. physpages).&lt;br /&gt;&lt;br /&gt;Second is &lt;b&gt;the directory entry cache&lt;/b&gt; (dcache for short) is yet another sort of cache, and another sort of the kernel memory. Disk contents is a tree of files and directories, and such a tree is quite tall and wide. In order to read the contents of, say, /bin/sh file, kernel have to read the root (/) directory, find &amp;#39;bin&amp;#39; entry in it, read /bin directory, find &amp;#39;sh&amp;#39; entry in it and finally read it. Although these operations are not very complex, there is a multitude of those, they take time and are repeated often for most of the &amp;quot;popular&amp;quot; files. In order to improve performance, kernel keeps directory entries in memory &amp;mdash; this is what dcache is for. The memory used by dcache should also be accounted and limited, since otherwise it&amp;#39;s easily exploitable (not only by root, but also by an ordinary user, since any user is free to change into directories and read files).&lt;br /&gt;&lt;br /&gt;Now, the physical memory of a container is the sum of its user memory, the kernel memory, the page cache and the dcache. Technically, dcache is accounted into the kernel memory, then kernel memory is accounted into the physical memory, but it&amp;#39;s not overly important.&lt;br /&gt;&lt;h3&gt;Improvements in the new 042stab04x kernels&lt;/h3&gt;&lt;h4&gt;Better reclamation and memory balancing&lt;/h4&gt;What to do if a container hit a physical memory limit? Free some pages by writing their contents to the abovementioned virtual swap. Well, not quite yet. Remember that there is also a page cache and a dcache, so the kernel can easily discard some of the pages from these caches, which is way cheaper than swapping out.&lt;br /&gt;&lt;br /&gt;The process of finding some free memory is known as reclamation. Kernel needs to decide very carefully when to start reclamation, how many and what exact pages to reclaim in every particular situation, and when it is the right time to swap out rather than discard some of the cache contents.&lt;br /&gt;&lt;br /&gt;Remember, we have four types of memory (kernel, user, dcache and page cache) and only one knob which limits the sum of all these. It would be easier for the kernel, but not for the user, to have separate limits for each type of memory. But, for the user convenience and simplicity, the kernel only have one knob for these four parameters, so it needs to balance between those four. One major improvement in 042stab040 kernel is that such balancing is now performed better.&lt;br /&gt;&lt;h4&gt;Stricter memory limit&lt;/h4&gt;During the lifetime of a container, the kernel might face a situation when it needs more kernel memory, or user memory, or perhaps more dcache entries, and the memory for the container is tight (i.e. close to the limit), so it needs to either reclaim or swap. The problem is there are some situations when neither reclamation nor swapping is possible, so the kernel can either fail miserably (say by killing a process) or go beyond the limit and hope that everything will be fine and mommy won&amp;#39;t notice. Another big improvement in 042stab040 kernel is it reduces the number of such situations, in other words, the new kernel obeys memory limit in a more strict way.&lt;br /&gt;&lt;h4&gt;Polishing&lt;/h4&gt;Finally, the kernel is now in a pretty good shape, so we can afford some polishing, minor optimizations, and fine tuning. Such polishing was performed in a few subsystems, including checkpointing, user beancounters, netfilter, kernel NFS server and VZ disk quota.&lt;br /&gt;&lt;h4&gt;Some numbers&lt;/h4&gt;Totally, there are 53 new patches in 042stab040.1, compared to previous 039 kernels. On top of that, 042stab042.1 adds another 30. We hope that the end result is improved stability and performance.</description>
  <comments>http://openvz.livejournal.com/39644.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>vswap</category>
  <category>rhel6</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/39369.html</guid>
  <pubDate>Fri, 14 Oct 2011 21:40:02 GMT</pubDate>
  <title>Announcing rhel6-testing kernel branch/repo</title>
  <link>http://openvz.livejournal.com/39369.html</link>
  <description>Instead of having a nice drink in a bar, I spent this Friday night splitting the RHEL6-based OpenVZ kernel branch/repository into two, so now we have &apos;rhel6&apos; and &apos;rhel6-testing&apos; branches/repos. Let me explain why.&lt;br /&gt;&lt;br /&gt;When we made an initial port of OpenVZ to RHEL6 kernel and released the first kernel (in October 2010, named 042test001), I created a repository named openvz-kernel-rhel6 (or just rhel6), and this repository was marked as &quot;development, unstable&quot;. When, after almost a year, we announced it as &quot;testing&quot; and then, finally, &quot;stable&quot; (in August 2011, named 042stab035.1).&lt;br /&gt;&lt;br /&gt;After that, all the kernels in that repository were supposed to be stable, because they are incremental improvements of the kernel we call stable. In theory it is. In practice, of course, there can always be new bugs (both introduced by us and by Red Hat folks releasing their kernel updates which we rebase to). Thus a kernel update from a repo which is supposed to be stable can do bad things.&lt;br /&gt;&lt;br /&gt;Better late than never, I have fixed the situation tonight by basically renaming &quot;rhel6&quot; repository into &quot;rhel6-testing&quot;, and creating a new repository called just &quot;rhel6&quot;. For now, I put 042stab037.1 (which is the latest kernel which has passed our internal QA) into rhel6 (aka stable), while all the other kernels, up to and including 042stab039.3, are in rhel6-testing repo.&lt;br /&gt;&lt;br /&gt;Now, very similar to what we do with RHEL5 kernels, all the new fresh-from-the-build-farm kernels will appear in rhel6-testing repo, at about the same time they go to internal QA. Then, the kernels which will have QA approval will appear in rhel6 (aka -stable) repo. What it means for you as a user is you can now choose whether to stay at the bleeding edge and have the latest stuff, or to take a conservative approach and have less frequent and delayed updates, but be more confident about kernel quality and stability.&lt;br /&gt;&lt;br /&gt;A few links:&lt;br /&gt;* &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel6&quot;&gt;Stable RHEL6-based OpenVZ kernels&lt;/a&gt;&lt;br /&gt;* &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel6-testing&quot;&gt;Testing RHEL6-based OpenVZ kernels&lt;/a&gt;&lt;br /&gt;* &lt;a href=&quot;http://download.openvz.org/openvz.repo&quot;&gt;OpenVZ yum repository setup file&lt;/a&gt;&lt;br /&gt;* &lt;a href=&quot;http://openvz.org/pipermail/announce/2011-October/000268.html&quot;&gt;Official announce of rhel6-testing&lt;/a&gt;</description>
  <comments>http://openvz.livejournal.com/39369.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>rhel6</category>
  <category>qa</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/38982.html</guid>
  <pubDate>Fri, 30 Sep 2011 11:26:07 GMT</pubDate>
  <title>LinuxCon Europe 2011 in Prague is coming</title>
  <link>http://openvz.livejournal.com/38982.html</link>
  <description>&lt;p&gt;And we are coming to Prague, too! This time, there will be as many as six people and two talks from us, plus we will held a memory cgroup controller meeting.&lt;/p&gt;

&lt;p&gt;The following OpenVZ/Parallels people are coming:
&lt;ul&gt;&lt;li&gt;&lt;b&gt;James Bottomley&lt;/b&gt;, Parallels virtualization CTO&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Kir Kolyshkin&lt;/b&gt;, OpenVZ project manager&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Pavel Emelyanov&lt;/b&gt;, OpenVZ kernel team leader (he&apos;s also taking part in Linux Kernel Summit)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Glauber Costa&lt;/b&gt;, OpenVZ kernel developer&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Maxim Patlasov&lt;/b&gt;, OpenVZ kernel developer&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Andrey Vagin&lt;/b&gt;, OpenVZ kernel developer&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Two talks will be presented. Since linuxsymposium.org site is currently down, let me quote talk descriptions here.&lt;/p&gt;
&lt;p&gt;1. &lt;b&gt;Container in a file&lt;/b&gt; by Maxim Patlasov.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;One of the feature differences between hypervisors and containers is the ability to store a virtual machine image in a single file, since most containers exist as a chroot within the host OS rather than as fully independent entities.  However, the ability to save and restore state in a machine image file is invaluable in managing virtual machine life cycles in the data centre.&lt;/p&gt;

&lt;p&gt;This talk will début a new loopback device which gives all the advantages of virtual machine images by storing the container in a file
while preserving the benefits of sharing significant portions with the host OS.  We will compare and contrast the technology with the
traditional loopback device, and describe some changes to the ext4 filesystem which make it more friendly to new loopback device needs.&lt;/p&gt;

&lt;p&gt;This talk will be technical in nature but should be accessible to people interested in cloud, virtualisation and container technologies.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;2. &lt;b&gt;OpenVZ and Linux kernel testing&lt;/b&gt; by Andrey Vagin.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;One of the less appealing but very important part of software development is testing. This talk tries to summarize our 10+ years of experience in Linux kernel testing (including OpenVZ and Red Hat Enterprise Linux kernels). Overall description of our test system is provided, followed by details on some of the interesting test cases developed. Finally, a few anecdotal cases of bugs found will be presented.&lt;/p&gt;

&lt;p&gt;In a sense, the talk is an answer to Andrew Morton&apos;s question from 2007: &quot;I&apos;m curious. For the past few months, people@openvz.org have discovered (and fixed) an ongoing stream of obscure but serious and quite long-standing bugs. How are you discovering these bugs?&quot;&lt;/p&gt;

&lt;p&gt;Talk is of interest to those concerned about kernel quality, and in general to people doing development and testing.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Finally, there will be a &lt;b&gt;memcg meeting&lt;/b&gt;. Since LinuxCon will be right after the Kernel Summit, a number of kernel guys will still be there so anyone interested in cgroups can come. This meeting is a continuation of &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/events/LPC2011MC/tracks/105&quot;&gt;our recent discussion at Linux Plumbers&lt;/a&gt; (see etherpad and presentations).&lt;/p&gt;

&lt;p&gt; See you all in Prague in less than a month!&lt;/p&gt;
&lt;div class=&quot;lj-like&quot;&gt;&lt;div class=&quot;lj-like-item lj-like-item-facebook&quot;&gt;&lt;fb:like href=&quot;http://openvz.livejournal.com/38982.html&quot; send=&quot;false&quot; layout=&quot;button_count&quot; width=&quot;100&quot; show_faces=&quot;false&quot; font=&quot;&quot; action=&quot;recommend&quot;&gt;&lt;/fb:like&gt;&lt;/div&gt;&lt;div class=&quot;lj-like-item lj-like-item-twitter&quot;&gt;&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot; data-url=&quot;http://openvz.livejournal.com/38982.html&quot; data-text=&quot;LinuxCon Europe 2011 in Prague is coming&quot; data-count=&quot;horizontal&quot; data-lang=&quot;en&quot;&gt;Tweet&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;lj-like-item lj-like-item-google&quot;&gt;&lt;g:plusone size=&quot;medium&quot; href=&quot;http://openvz.livejournal.com/38982.html&quot;&gt;&lt;/g:plusone&gt;&lt;/div&gt;&lt;/div&gt;</description>
  <comments>http://openvz.livejournal.com/38982.html</comments>
  <category>linuxcon</category>
  <category>kernel</category>
  <category>prague</category>
  <category>openvz</category>
  <category>event</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/38801.html</guid>
  <pubDate>Tue, 30 Aug 2011 17:22:43 GMT</pubDate>
  <title>RHEL6 goes stable!</title>
  <link>http://openvz.livejournal.com/38801.html</link>
  <description>Guys, I am very proud to inform you that today we mark RHEL6 kernel branch as stable. Below is a copy-paste from &lt;a href=&quot;http://openvz.org/pipermail/announce/2011-August/000250.html&quot;&gt;the relevant announce@ post&lt;/a&gt;. I personally highly recommend RHEL6-based OpenVZ kernel to everyone -- it is a major step forward compared to RHEL5.&lt;br /&gt;&lt;br /&gt;In the other news, Parallels has &lt;a href=&quot;http://www.parallels.com/products/pvcl/whatsnew/&quot;&gt;just released Virtuozzo Containers for Linux 4.7&lt;/a&gt;, bringing the same cool stuff (VSwap et al) to commercial customers. Despite being only a &quot;dot&quot; (or &quot;minor&quot;) release, this product incorporates an impressive amount of man-hours of best Parallels engineers.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;== Stable: RHEL6 ==&lt;br /&gt;&lt;br /&gt;This is to announce that RHEL6-based kernel branch (starting from kernel 042stab035.1) is now marked as stable, and it is now the recommended branch to use.&lt;br /&gt;&lt;br /&gt;We are not aware of any major bugs or show-stoppers in this kernel. As always, we still recommend to test any new kernels before rolling out to production.&lt;br /&gt;&lt;br /&gt;New features of RHEL6-based kernel branch (as compared to previous stable kernel branch, RHEL5) includes better performance, better scalability (especially on high-end SMP systems), and better resource management (notably, vSwap support -- see &lt;a href=&apos;http://wiki.openvz.org/VSwap&apos;&gt;http://wiki.openvz.org/VSwap&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;RHEL6 kernels can be downloaded from &lt;a href=&apos;http://wiki.openvz.org/Download/kernel/rhel6&apos;&gt;http://wiki.openvz.org/Download/kernel/rhel6&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;== Frozen: 2.6.27, 2.6.32 ==&lt;br /&gt;&lt;br /&gt;Also, from now we no longer maintain the following kernel branches:&lt;br /&gt;&lt;br /&gt;   * 2.6.27&lt;br /&gt;   * 2.6.32&lt;br /&gt;&lt;br /&gt;No more new releases of the above kernels are expected. Existing users (if any) are recommended to switch to other (maintained) branches, such as RHEL6-2.6.32 or RHEL5-2.6.18.&lt;br /&gt;&lt;br /&gt;This change does not affect vendor OpenVZ kernels (such as Debian or Ubuntu) -- those will still be supported for the lifetime of their distributions via the usual means (i.e. bugzilla.openvz.org).&lt;br /&gt;&lt;br /&gt;== Development: none ==&lt;br /&gt;&lt;br /&gt;Currently, there are no non-stable kernels in development. Eventually we will port to Linux kernel 3.x, but it might not happen this year. Instead, we are currently focused on bringing more of OpenVZ features to mainstream Linux kernels.&lt;br /&gt;&lt;br /&gt;Regards, OpenVZ team.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class=&quot;lj-like&quot;&gt;&lt;div class=&quot;lj-like-item lj-like-item-facebook&quot;&gt;&lt;fb:like href=&quot;http://openvz.livejournal.com/38801.html&quot; send=&quot;false&quot; layout=&quot;button_count&quot; width=&quot;100&quot; show_faces=&quot;false&quot; font=&quot;&quot; action=&quot;recommend&quot;&gt;&lt;/fb:like&gt;&lt;/div&gt;&lt;div class=&quot;lj-like-item lj-like-item-twitter&quot;&gt;&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot; data-url=&quot;http://openvz.livejournal.com/38801.html&quot; data-text=&quot;RHEL6 goes stable!&quot; data-count=&quot;horizontal&quot; data-lang=&quot;en&quot;&gt;Tweet&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;lj-like-item lj-like-item-google&quot;&gt;&lt;g:plusone size=&quot;medium&quot; href=&quot;http://openvz.livejournal.com/38801.html&quot;&gt;&lt;/g:plusone&gt;&lt;/div&gt;&lt;/div&gt;</description>
  <comments>http://openvz.livejournal.com/38801.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>rhel6</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>13</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/38447.html</guid>
  <pubDate>Wed, 24 Aug 2011 15:16:32 GMT</pubDate>
  <title>Linux Plumbers: Containers and CGroups miniconf</title>
  <link>http://openvz.livejournal.com/38447.html</link>
  <description>We have finally filed &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/users/963&quot;&gt;a number of proposals&lt;/a&gt; for the up-coming Containers and CGroups miniconf to be held during &lt;a href=&quot;http://www.linuxplumbersconf.org/&quot;&gt;Linux Plumbers Conference&lt;/a&gt;, 7 to 9 September 2011 in Santa Rosa, CA.&lt;br /&gt;&lt;br /&gt;From those proposals, one can clearly see what are our plans regarding the mainline integration. In a few words: &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/819&quot;&gt;dcache management&lt;/a&gt;, &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/825&quot;&gt;memory&lt;/a&gt; and &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/861&quot;&gt;CPU&lt;/a&gt; cgroup controllers improvements, &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/849&quot;&gt;container enter&lt;/a&gt;, &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/843&quot;&gt;improved /proc virtualization&lt;/a&gt;, &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/831&quot;&gt;checkpoint/restart [mostly] in userspace&lt;/a&gt; (of which I have &lt;a href=&quot;http://openvz.livejournal.com/38287.html&quot;&gt;blogged recently&lt;/a&gt;), and &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/855&quot;&gt;making vzctl work with mainline kernel containers&lt;/a&gt;. Oh, and the interesting &lt;a href=&quot;http://www.linuxplumbersconf.org/2011/ocw/proposals/837&quot;&gt;loopback-like block device to hold a container filesystem&lt;/a&gt; (a.k.a. ploop).&lt;br /&gt;&lt;br /&gt;Quite a lot of interesting stuff, what do you think?&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;lj-like&quot;&gt;&lt;div class=&quot;lj-like-item lj-like-item-facebook&quot;&gt;&lt;fb:like href=&quot;http://openvz.livejournal.com/38447.html&quot; send=&quot;false&quot; layout=&quot;button_count&quot; width=&quot;100&quot; show_faces=&quot;false&quot; font=&quot;&quot; action=&quot;recommend&quot;&gt;&lt;/fb:like&gt;&lt;/div&gt;&lt;div class=&quot;lj-like-item lj-like-item-twitter&quot;&gt;&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot; data-url=&quot;http://openvz.livejournal.com/38447.html&quot; data-text=&quot;Linux Plumbers: Containers and CGroups miniconf&quot; data-count=&quot;horizontal&quot; data-lang=&quot;en&quot;&gt;Tweet&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;lj-like-item lj-like-item-google&quot;&gt;&lt;g:plusone size=&quot;medium&quot; href=&quot;http://openvz.livejournal.com/38447.html&quot;&gt;&lt;/g:plusone&gt;&lt;/div&gt;&lt;/div&gt;</description>
  <comments>http://openvz.livejournal.com/38447.html</comments>
  <category>containers</category>
  <category>kernel</category>
  <category>linux plumbers</category>
  <category>mainline</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/38287.html</guid>
  <pubDate>Sat, 13 Aug 2011 09:26:08 GMT</pubDate>
  <title>Checkpoint/restart (mostly) in user space</title>
  <link>http://openvz.livejournal.com/38287.html</link>
  <description>There is a &lt;a href=&quot;http://lwn.net/Articles/452184/&quot;&gt;good article at lwn.net&lt;/a&gt; telling about one of our latest development.&lt;br /&gt;&lt;br /&gt;We have checkpoint/restart (CPT) and live migration in OpenVZ for ages (well, OK, since 2007 or so), allowing for containers to be freely moved between physical servers without any service interruption. It is a great feature which is valued by our users. The problem is we can&apos;t merge it upstream, ie to vanilla kernel.&lt;br /&gt;&lt;br /&gt;Various people from our team worked on that, and they all gave up. Then, Oren Laadan was trying very hard to merge his CPT implementation -- unfortunately it didn&apos;t worked out very well either. The thing is, checkpointing is a complex thing, and the patch implementing it is very intrusive. &lt;br /&gt;&lt;br /&gt;Recently, our kernel team leader Pavel Emelyanov got a new idea of moving most of the checkpointing complexity out of the kernel and into user space, thus minimizing the amount of the in-kernel changes needed. In about two weeks of time he wrote a working prototype. So far the reaction is mostly positive, and he&apos;s going to submit a second RFC version for review to lkml.&lt;br /&gt;&lt;br /&gt;For more details, read the &lt;a href=&quot;http://lwn.net/Articles/452184/&quot;&gt;lwn.net article&lt;/a&gt;. After all, while I am sitting next to Pavel, Mr. Corbet ability to explain complex stuff in simple terms is way better than mine.</description>
  <comments>http://openvz.livejournal.com/38287.html</comments>
  <category>checkpointing</category>
  <category>kernel</category>
  <category>openvz</category>
  <category>mainstream</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/37961.html</guid>
  <pubDate>Thu, 02 Jun 2011 18:01:18 GMT</pubDate>
  <title>ioping</title>
  <link>http://openvz.livejournal.com/37961.html</link>
  <description>My colleague &lt;span class=&apos;ljuser ljuser-name_koct9i&apos; lj:user=&apos;koct9i&apos; style=&apos;white-space:nowrap&apos;&gt;&lt;a href=&apos;http://koct9i.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://l-stat.livejournal.com/img/userinfo.gif?v=88.9&apos; alt=&apos;[info]&apos; width=&apos;16&apos; height=&apos;16&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos;/&gt;&lt;/a&gt;&lt;a href=&apos;http://koct9i.livejournal.com/&apos;&gt;&lt;b&gt;koct9i&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;, whose daily job is developing and fixing OpenVZ kernel, was feeling bored last weekend, and to entertain himself he wrote a small utility called ioping. The idea is simple and straightforward: to wrote a utility similar to ping, which will show I/O latency in the same way ping shows network latency. The idea is very simple but I haven&apos;t see something like this. Actually, the tool was written to help investigating &lt;a href=&quot;http://bugzilla.openvz.org/show_bug.cgi?id=1880&quot;&gt;OpenVZ bug #1880&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;I liked ioping and worked on it a bit, too, just for run. Among some other minor stuff I have added a man page and spec file, so it is now available as an RPM package.&lt;br /&gt;&lt;br /&gt;Official project site: &lt;a href=&quot;http://code.google.com/p/ioping/&quot;&gt;http://code.google.com/p/ioping/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My RPM packages and stuff: &lt;a href=&quot;http://kir.sacred.ru/ioping/&quot;&gt;http://kir.sacred.ru/ioping/&lt;/a&gt;</description>
  <comments>http://openvz.livejournal.com/37961.html</comments>
  <category>development</category>
  <category>ioping</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/37844.html</guid>
  <pubDate>Wed, 04 May 2011 07:15:36 GMT</pubDate>
  <title>Ubuntu 11.04 template</title>
  <link>http://openvz.livejournal.com/37844.html</link>
  <description>In addition to a bunch of template updates released last week, yesterday night we released &lt;b&gt;Ubuntu 11.04&lt;/b&gt; templates for OpenVZ, for both x86 and x86_64 architectures. They are currently in beta and therefore available from &lt;a href=&apos;http://wiki.openvz.org/Download/template/precreated/beta&apos;&gt;http://wiki.openvz.org/Download/template/precreated/beta&lt;/a&gt; (which is actually just a wiki page with pretty links to &lt;a href=&apos;http://download.openvz.org/template/precreated/beta/&apos;&gt;http://download.openvz.org/template/precreated/beta/&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Make sure you use latest vzctl (3.0.26.2), otherwise &lt;code&gt;vzctl enter&lt;/code&gt; won&apos;t work with Ubuntu 11.04 containers. As usual, report all bugs to &lt;a href=&apos;http://bugzilla.openvz.org/&apos;&gt;http://bugzilla.openvz.org/&lt;/a&gt;</description>
  <comments>http://openvz.livejournal.com/37844.html</comments>
  <category>openvz</category>
  <category>templates</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/37545.html</guid>
  <pubDate>Fri, 01 Apr 2011 22:22:04 GMT</pubDate>
  <title>template update</title>
  <link>http://openvz.livejournal.com/37545.html</link>
  <description>Good news everyone, I am in the process of updating all the precreated templates. From now on I will probably do full updates quarterly.&lt;br /&gt;&lt;br /&gt;New templates:&lt;br /&gt;* Debian 6.0&lt;br /&gt;* SUSE 11.4&lt;br /&gt;&lt;br /&gt;Moved from beta:&lt;br /&gt;* SUSE 11.2, 11.3&lt;br /&gt;* Fedora 14&lt;br /&gt;&lt;br /&gt;Moved to unsupported (because they are no longer supported by upstream vendors):&lt;br /&gt;* Fedora 12 (EOL Dec 02 2010)&lt;br /&gt;* SUSE 11.1 (EOL Jan 14 2011)&lt;br /&gt;&lt;br /&gt;The update will appear in a few days, probably as soon as next Tuesday or so.&lt;br /&gt;&lt;br /&gt;And yes, we are still waiting for CentOS 6 to be ready...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; it took me much more time than expected; updates are finally released 28 Apr 2011&lt;br /&gt;&lt;a href=&apos;http://wiki.openvz.org/Download/template/precreated&apos;&gt;http://wiki.openvz.org/Download/template/precreated&lt;/a&gt;</description>
  <comments>http://openvz.livejournal.com/37545.html</comments>
  <category>openvz</category>
  <category>templates</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>15</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/37305.html</guid>
  <pubDate>Fri, 25 Feb 2011 17:35:47 GMT</pubDate>
  <title>Solar Designer on Owl, OpenVZ and stuff: things you ached to know even if you didn&apos;t realize you did</title>
  <link>http://openvz.livejournal.com/37305.html</link>
  <description>&lt;b&gt;Openwall GNU/*/Linux&lt;/b&gt; recently has released &lt;b&gt;&lt;a href=&quot;http://www.openwall.com/lists/announce/2010/12/15/1&quot;&gt;version 3.0&lt;/a&gt;&lt;/b&gt;. &lt;a href=&quot;http://openwall.com/Owl/&quot;&gt;Owl project&lt;/a&gt; (yeah, you can call it Owl,too, which stands for &lt;b&gt;O&lt;/b&gt;pen&lt;b&gt;w&lt;/b&gt;all &lt;b&gt;L&lt;/b&gt;inux) is afloat around ten years, and it&apos;s an active and evolving. One of the neat features of Owl 3.0 is OpenVZ support. That was exactly the item which we got excited about, so we asked Solar (and he agreed kindly!) for a short interview.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;— When someone is trying to find out what do you do, they mostly come across that you developed &lt;a href=&quot;http://www.openwall.com/john/&quot;&gt;John the Ripper&lt;/a&gt;, currently lead &lt;a href=&quot;http://www.openwall.com/Owl/&quot;&gt;the Owl project&lt;/a&gt; and participate in different open source security projects. Perhaps there are some new fancy things you&apos;re busy with, could you tell us a bit about it?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— This is nothing fancy, but besides the things you mentioned, we (some folks on the Openwall team) spend plenty of time on related client-facing work, including setting up and maintaining Owl/OpenVZ systems remotely, with lots of additional software running on top of them. This is one reason why our Live CDs include SSH remote access, after trivial initial configuration by someone with physical access or over IP-KVM. Then we can proceed with installation starting with partitioning of the hard disks while working over SSH. Besides providing income, which is much needed to fund Owl development and our other activities, this also ensures that we&apos;re testing our stuff under real-world usage conditions, and it provides stability for the project (we won&apos;t unexpectedly “lose interest” in it one day; we&apos;re going to continue to need updates for those systems that we&apos;re responsible for ourselves). &lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As to fancier things, I have plenty of potential project ideas, but too little time. So I mostly have to limit my activities to work related to projects already started. You mentioned that I “developed” &lt;i&gt;John the Ripper&lt;/i&gt;, which I did, but it shouldn&apos;t just stay “developed” for many years more, it needs to evolve further, and there&apos;s demand for that (such as from penetration testing firms). This is about coming up with algorithms to produce more optimal candidate password streams, as well as about having them reflect new kinds of weak passwords that people start to use. This is also about efficient use of new CPU types, parallel processing, distributed processing, and use of GPUs. I did only a little bit of work on some of these things lately, being busy with lots of other stuff, but this is something I need to get back to and have specific ideas on.&lt;br /&gt;&lt;br /&gt;A luckier project in 2010 was &lt;b&gt;&lt;a href=&quot;http://www.openwall.com/passwdqc/&quot;&gt;passwdqc&lt;/a&gt;&lt;/b&gt;, our proactive password/passphrase strength checking tool set (PAM module, library, command-line programs). Unlike &lt;i&gt;John the Ripper&lt;/i&gt;, which audits password hash files, &lt;i&gt;passwdqc&lt;/i&gt; does not permit weak passwords to be set in the first place.  Dmitry V. Levin (of &lt;a href=&quot;http://www.altlinux.com/&quot;&gt;ALT Linux&lt;/a&gt;) and I made numerous enhancements to &lt;i&gt;passwdqc&lt;/i&gt;: implemented new features, more effective checks (and tested those checks on thousands of real-world passwords), and at the same time made &lt;i&gt;passwdqc&lt;/i&gt; even more portable. &lt;i&gt;Proactive password/passphrase strength checking with &lt;i&gt;passwdqc&lt;/i&gt; (applied when a user changes their Unix password) &lt;i&gt;is now supported on Linux, FreeBSD, DragonFly BSD, OpenBSD, Solaris, and HP-UX&lt;/i&gt;&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;— I&apos;ve read through Owl release notes, &lt;a href=&quot;http://openwall.com/presentations/Owl/&quot;&gt;slides&lt;/a&gt; and even that frightening &quot;Weee SUID ftw!/O, no, no SUID&quot; &lt;a href=&quot;http://linux.slashdot.org/story/10/12/17/203204/Openwall-Linux-30-mdash-No-SUIDs-Anti-Log-Spoofing&quot;&gt;discussion on Slashdot&lt;/a&gt;, so what&apos;s so unique in your distro except no SUID (thanks to Openwall guys) and OpenVZ on board (feeling proud of ourselves)?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— It&apos;s a combination of things that make our distro unique, although a few things are also unique on their own: the lack of SUID programs in a usable default install, and &lt;i&gt;syslogd&lt;/i&gt; credential passing (anti-spoofing). Some other things that make Owl special are:&lt;br /&gt;* Proactive source code reviews of security-critical components of third-party software that we package.&lt;br /&gt;* Security hardening changes in many packages, including some relatively uncommon changes (e.g., environment variable sanitization in glibc, Debian-generated weak key blacklisting in OpenSSH, privilege separation added to &lt;i&gt;telnetd&lt;/i&gt;).&lt;br /&gt;* Self-contained yet small: although the distro is small, it contains everything needed to easily rebuild itself from source.&lt;br /&gt;* The included build environment is additionally capable generating ISOs and OpenVZ container templates (&quot;make iso&quot; and &quot;make vztemplate&quot;).&lt;br /&gt;* A single CD contains a live system, installable packages, the installer program, as well as full source code and the build environment.&lt;br /&gt;* Old-fashioned text-only installer, simple scripts and configuration files, and reduced bloat overall. The system does not try to outsmart its administrator.&lt;br /&gt;* RPM&apos;ed default kernel, yet manual custom kernel builds are conveniently supported as well (only a few cumulative patch files are applied in the package).&lt;br /&gt;* A good selection of small yet handy sysadmin and diagnostic tools, such as &lt;i&gt;dmidecode, hdparm, ltrace, mdadm, mtree&lt;/i&gt; and &lt;i&gt;nc&lt;/i&gt; (our ports from OpenBSD), &lt;i&gt;Nmap&lt;/i&gt; (and &lt;i&gt;Ncat&lt;/i&gt;), &lt;i&gt;pciutils, smartmontools, strace&lt;/i&gt;. Of course, most of these are also available for/on mainstream distros, yet given Owl&apos;s purpose as a good &quot;base system&quot; for servers it is worth mentioning that we include all of these and more in our otherwise small set of packages, as well as in a default install.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;— How big approximately is the user base?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— There&apos;s no &quot;Owl user&quot; registration mechanism, so I have no numbers on the size of our user base.  It &quot;feels&quot; small, yet sufficient for us to continue with the project.  Besides, much of the software that we develop as part of Owl we&apos;re also making available separately, and many of our patches, etc. are reused by other distros.  For example, our &quot;tcb&quot; suite, which allows for the &quot;passwd&quot; command to work without being SUID, is also reused by ALT Linux&apos;s distributions and by Mandriva. This increases its user base a lot.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;— What are the most common use cases for the Owl?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— Most common use cases?  For us, that&apos;s OpenVZ &quot;host systems&quot;, as well as OpenVZ container templates built with Owl as the &quot;base system&quot; and with extra software added (sort of &quot;virtual appliances&quot; that we make and install ourselves). We (or rather our client companies) mostly use this to provide &quot;advanced&quot; web hosting.&lt;br /&gt;&lt;br /&gt;Here&apos;s a project built on top of OpenVZ and Owl, &lt;b&gt;&lt;a href=&quot;http://www.webenabled.com/&quot;&gt;WebEnabled&lt;/a&gt;&lt;/b&gt;, which is a website development platform, involving multiple backend servers internally, with features such as &quot;one-click&quot; installs of popular web apps and cloning of existing &quot;virtual hosts&quot; (such as for the development/QA/production lifecycle).&lt;br /&gt;&lt;br /&gt;We&apos;ve also experimented with building Owl-based virtual machine hard disk images for a specific project, where the VMs would be run on end-users&apos; desktop/laptop computers. Owl worked well for this purpose. &lt;br /&gt;&lt;br /&gt;Since Owl&apos;s OpenVZ support is still relatively new (introduced into Owl-current a year ago, but only included in a stable release with Owl 3.0), we&apos;re hoping that more people and companies will make use of it in various ways, including in &quot;virtual appliances&quot; that they&apos;d release.  These could be VM images that also run OpenVZ containers, or they could be OpenVZ container templates or a mix of both.&lt;br /&gt;&lt;br /&gt;Finally, we&apos;re aware of a McAfee (now Intel) hardware appliance product that is built upon an Owl-derived system (without OpenVZ, though). We&apos;d be happy to see more hardware appliances make use of Owl as well, including of its OpenVZ integration. &lt;br /&gt;&lt;br /&gt;We&apos;d be happy to help more companies make and maintain Owl-based and Owl-derived systems, appliances, etc. Much of this work can be outsourced to us if desired. I think that hosting providers offering Linux-KVM VPS hosting may be interested in making Owl one of their standard distro options. They may specifically advertise the ability for a customer to create multiple OpenVZ containers inside such a VPS, which may provide an extra selling point for their offering vs. the competitors&apos;. I am not aware of hosting providers doing this yet, although I am aware of a user of Owl having tried this out on his own and he was pleased with the result. Thus, I am mentioning this not so much as an answer to your question, but rather to encourage such use by hosting providers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;— I usually pay attention to mascots :) &lt;a href=&quot;http://www.openwall.com/Owl/artwork/logos/Owl-logo-75x75-1w.png&quot;&gt;Yours&lt;/a&gt; looks like an owl near the boundary post/booth, it&apos;s really cool! Was it the first idea? Or there was a contest for a best picture?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— I&apos;m glad that you like it.  There was no formal contest. The Owl project logo that we currently use was based on one of several sketches contributed by Gleb Todosov, who also created our CD jewel case artwork. We used the latter up through our 2.0 release, and you can still see a portion of it in use on the first slide in our &lt;a href=&quot;http://www.openwall.com/presentations/Owl/&quot;&gt;presentation&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;— We&apos;re excited that you support OpenVZ in your distro and would like to dig into details. Why did you decide to do that? I guess you tried OpenVZ before, what was your previous experience? What did you use it for?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— Personally, I got interested in container-based virtualization in 1999 or thereabout (although I didn&apos;t know the concept would be known under this name).  My first exposure to Virtuozzo was during SWsoft&apos;s public beta testing, which I think was in 2000.  It was possible to register for a free trial account, which I did, and I got onto an SWsoft-hosted free trial system running a 2.4.0-test kernel with early and unreleased Virtuozzo patches. I ended up finding a vulnerability and reporting it to SWsoft.&lt;br /&gt;&lt;br /&gt;Fast forward to 2005, the OpenVZ project was about to be announced to the public, and Openwall was contracted by SWsoft to perform a security audit of OpenVZ, which I personally worked on in close coordination with the OpenVZ developers.  This was a pleasant experience, and the code quality was better than what I was used to seeing.  Most of the issues that were discovered during the audit got fixed promptly.  During the audit, I made my own test install of OpenVZ (for fuzzing, etc.) on top of an Owl system on a machine dedicated for the purpose.&lt;br /&gt;&lt;br /&gt;OpenVZ was released in 2006.  As far as I can tell by looking at file timestamps now, it was August 2006 when we slowly started to deploy it on top of some of our clients&apos; Owl systems - replacing the kernels and adding vz* tools, but keeping the Owl userland on what became OpenVZ host systems. After a long while, we had plenty of systems running Owl and OpenVZ together, and we also had Owl-based userlands running inside &quot;VEs&quot; (the word &quot;container&quot; was not in use in OpenVZ context yet).  At some point, we needed to introduce more sysadmins to the team and we also needed more systems of this kind installed to satisfy our clients&apos; needs. It proved painful to explain all the little details (hacks) of making things work right. &lt;br /&gt;&lt;br /&gt;We had the idea of integrating OpenVZ into Owl before - I even briefly mentioned it during a 2006 interview - but the difficulty mentioned above might have been the straw that finally made us do it, despite that it meant temporarily giving up some of our kernel hardening patches (not reimplemented for 2.6/OpenVZ kernels yet).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;— What do you like in latest releases (already tried VSwap?)? What do you not like (I myself can hardly imagine that after there is no need to set all the UBC manually and get the blind headaches there is something left to improve, but I&apos;m sure I need a fresh look on those things), so is there anything you find obscure or inconvenient?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— Of your &quot;latest releases&quot;, we&apos;re only making (a lot of) use of the RHEL5 branch kernels (&quot;testing&quot; and/or &quot;stable&quot; on different occasions), with some additional changes (we make our own builds). I guess that you were referring to your newer branches.  Unfortunately, we have not tried those out yet.  This means that we haven&apos;t tried VSwap yet, even though this is a very welcome and anticipated feature (and change from the older UBC model). We&apos;re likely to start moving to your RHEL6 branch kernels in Owl-current this year, and we&apos;re likely to use them in our next major release (Owl 4.0).  We&apos;ll be sure to provide feedback as we do this.&lt;br /&gt;&lt;br /&gt;As to further improvements that we&apos;d like to see in OpenVZ, it&apos;s security hardening, primarily against Linux kernel vulnerabilities that might turn into &quot;container escape&quot; ones in OpenVZ-patched kernels. One fairly obvious enhancement would be to be able to set a container to 32-bit only, 64-bit only, or mixed.  The first two settings would disallow the other type of syscalls, thereby significantly reducing the exposure of kernel interfaces to possible attacks from the container&apos;s system.  Another Owl developer tells me that this specific enhancement was also suggested upstream (LXC, I guess).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;— Is there anything you would like to add or tell to millions :) of OVZ blog readers?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;— Feedback, please!  We need more feedback on Owl; join the owl-users mailing list and post there, please. Successes, failures, comments, opinions, requests, all kinds of feedback is welcome. Also, please contribute to our &lt;a href=&quot;http://openwall.info/wiki/Owl&quot;&gt;wiki&lt;/a&gt;.  So far, it appears that most people who use Owl successfully don&apos;t bother contacting us (&quot;no need&quot;), those who run into minor issues and solve/workaround the issues on their own also don&apos;t bother notifying us (&quot;no need&quot; or so they think, wrongly), and most of those who run into trouble or are unhappy with Owl for whatever reason either notify individual Owl developers privately or (possibly) give up without telling us of the problem.  If you use Owl (or have tried or considered to), please do your part to help correct this &quot;feedback problem&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;</description>
  <category>openvz</category>
  <category>open source</category>
  <category>interview</category>
  <category>security</category>
  <lj:mood>celebrity-staring</lj:mood>
  <lj:security>public</lj:security>
  <lj:poster>al_shams</lj:poster>
  <lj:posterid>849215</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/36732.html</guid>
  <pubDate>Thu, 24 Feb 2011 14:13:02 GMT</pubDate>
  <title>devel@ mailing list mess is no more</title>
  <link>http://openvz.livejournal.com/36732.html</link>
  <description>OK, I must admit is was a very bad idea of me to subscribe our &lt;a href=&quot;http://openvz.org/mailman/listinfo/devel&quot;&gt;devel at openvz dot org mailing list&lt;/a&gt; to &lt;a href=&quot;https://lists.linux-foundation.org/mailman/listinfo/containers&quot;&gt;containers at linux-foundation dot com mailing list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is to announce that from now on devel@ is a separate list, not mirroring containers@ or anything. From now on, if the topic is openvz-specific, like a patch to OpenVZ, please use &lt;a href=&quot;http://openvz.org/mailman/listinfo/devel&quot;&gt;devel@&lt;/a&gt;. If the topic is about containers (as appearing in mainline), use &lt;a href=&quot;https://lists.linux-foundation.org/mailman/listinfo/containers&quot;&gt;containers@&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Let me explain. Initially, when we started moving OpenVZ project forward, we wanted to discuss all the things about containers on a mailing list, and therefore I created devel@. Later, then other parties joined, it was decided to create containers at osdl.org mailing list (remember OSDL later became the Linux Foundation). At that time I was worried that the discussions will split, and decided to just subscribe our devel@ to containers@, so devel@ becomes a super-set of containers@ (i.e. every message posted to containers@ will appear on devel@, but not vice versa).&lt;br /&gt;&lt;br /&gt;Of course it ended up being a big mess. Better late than never, mess is no more!</description>
  <comments>http://openvz.livejournal.com/36732.html</comments>
  <category>openvz</category>
  <category>infrastructure</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/36499.html</guid>
  <pubDate>Sat, 19 Feb 2011 23:44:11 GMT</pubDate>
  <title>back to 2006, or openvz bug #60</title>
  <link>http://openvz.livejournal.com/36499.html</link>
  <description>Some software bugs, while being simple and stupid, have an interesting and long lasting life. Here is the story of such a very simple bug with a lifespan of about 5 years (or more? I don&apos;t know when it was introduced). The bug doesn&apos;t worth looking at otherwise, so I&apos;ll try to be short, and more info is available from the links.

OK, &lt;p&gt;back in 2006 &lt;a href=&quot;http://k001.livejournal.com/372582.html&quot;&gt;I whined about a bug in sysvinit we found&lt;/a&gt;. Until today I thought is was never fixed upstream.&lt;/p&gt;

&lt;p&gt;This night I found out that it&apos;s actually fixed in sysvinit (2.87dsf), released in Jul 2009, according to its changelog:&lt;/p&gt;

&lt;pre&gt;
 * Adjust init to terminate argv0 with one 0 rather than two so that
    process name can be one character longer.  Patch by Kir Kolyshkin.
&lt;/pre&gt;

&lt;p&gt;Unfortunately it wrongly contributes me as a patch author. The actual author is Dmitry Mishin, as seen in &lt;a href=&quot;http://bugzilla.openvz.org/show_bug.cgi?id=60&quot;&gt;OpenVZ bug #60&lt;/a&gt;, I just submitted it.&lt;/p&gt;</description>
  <comments>http://openvz.livejournal.com/36499.html</comments>
  <category>openvz</category>
  <category>bugs</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/36333.html</guid>
  <pubDate>Mon, 07 Feb 2011 22:02:25 GMT</pubDate>
  <title>on static function declaration</title>
  <link>http://openvz.livejournal.com/36333.html</link>
  <description>&lt;i&gt;If you are a seasoned C programmer, skip this post entirely (or try to find bugs in it). If you know C but don&apos;t consider yourself an expert, please read on -- it might be helpful.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I was working a bit on vzctl today (my target was &lt;a href=&quot;http://bugzilla.openvz.org/show_bug.cgi?id=1757&quot;&gt;bug #1757&lt;/a&gt;, which is still a work in progress) and ... I am not sure how, but I ended up declaring most functions in src/vzlist.c as static. I thought it doesn&apos;t have any practical value -- I was wrong!&lt;br /&gt;&lt;br /&gt;In C, if you declare the function as static, it means its visibility is limited to the translation unit (i.e. a file) in which it is defined. In other words, you can only call/use a static function from another function in the same file.&lt;br /&gt;&lt;br /&gt;Now, in vzctl sources vzlist.c is only linked to one binary -- vzlist, and therefore I thought it doesn&apos;t make much sense to declare functions as static. Nevertheless I did it (&lt;a href=&quot;http://git.openvz.org/?p=vzctl;a=commitdiff;h=694177643e3590bad02be7bbfdeae3f723ebba82&quot;&gt;see git commit&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Next thing I got is a set of compiler warnings! OK, all right, let&apos;s take a look...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;First set of warnings&lt;/b&gt; is self-explanatory. See:&lt;tt&gt;&lt;br /&gt;vzlist.c:825:14: warning: ‘parse_var’ defined but not used&lt;br /&gt;vzlist.c:1075:14: warning: ‘remove_sp’ defined but not used&lt;br /&gt;vzlist.c:1357:12: warning: ‘get_stop_quota_stats’ defined but not used&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Easy! In some ancient time, these functions were used, now the code has changed and no one needs these three, but they were not removed for some reason (probably just forgotten). Solution: remove the dead code (see &lt;a href=&quot;http://git.openvz.org/?p=vzctl;a=commitdiff;h=6d1ee00a367779de2d9e9efc4320a6f9e008834b&quot;&gt;git commit&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Second set of warnings&lt;/b&gt; looks similar:&lt;tt&gt;&lt;br /&gt;vzlist.c:400:1: warning: ‘dcachesize_m_sort_fn’ defined but not used&lt;br /&gt;vzlist.c:400:1: warning: ‘dcachesize_l_sort_fn’ defined but not used&lt;br /&gt;vzlist.c:400:1: warning: ‘dcachesize_b_sort_fn’ defined but not used&lt;br /&gt;vzlist.c:400:1: warning: ‘dcachesize_f_sort_fn’ defined but not used&lt;br /&gt;vzlist.c:411:1: warning: ‘diskinodes_s_sort_fn’ defined but not used&lt;br /&gt;vzlist.c:411:1: warning: ‘diskinodes_h_sort_fn’ defined but not used&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Hmm... all these &lt;tt&gt;*_sort_fn&lt;/tt&gt; are sort functions generated by means of a few &lt;tt&gt;#define&lt;/tt&gt; statements, and they are used when vzlist needs to sort its output by some column or parameter (&lt;tt&gt;vzlist -s&lt;/tt&gt;). It is very strange that these are not used, because they should be. Let&apos;s take a closer look... &lt;a href=&quot;http://git.openvz.org/?p=vzctl;a=commitdiff;h=78f127bb7fa68507f402c283cfaf005e473e7f7b&quot;&gt;zOMG! it&apos;s a bug&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Apparently, someone was using copy-paste technique* and forgot to change the names of the functions. The bug is, when you ask vzlist to sort its output to, say, dcachesize failcounter values, it sorts it by dcachesize held values instead, because of the wrong sort function used. Such bugs are hard to notice manually, and there are no autotests for vzlist.&lt;br /&gt;&lt;br /&gt;*  Yes some parts of vzlist is a copy-pasted mess, I am slowly working on untangling it. For example, see my previous cleanup patches (committed back in June 2010):&lt;br /&gt;&lt;a href=&quot;http://git.openvz.org/?p=vzctl;a=commitdiff;h=3b7ccbb38aff5ccb15e3c883cf6262613111b504&quot;&gt;src/vzlist.c: streamline a few macros&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://git.openvz.org/?p=vzctl;a=commitdiff;h=34391d42c8e080ccb42a1f8e4145be035fd06e61&quot;&gt;vzlist: put similar print_ functions in a macro&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://git.openvz.org/?p=vzctl;a=commitdiff;h=21d806df88f834185df6f7126840729e493af47e&quot;&gt;vzlist.c: simplify last_field logic&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Morale: sometimes declaring functions as static actually helps!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;PS if you see mistakes in this blog post, patches to it are welcome. It&apos;s 1am here and I am a bit sleepy.</description>
  <comments>http://openvz.livejournal.com/36333.html</comments>
  <category>code</category>
  <category>openvz</category>
  <category>c</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/35956.html</guid>
  <pubDate>Wed, 26 Jan 2011 15:13:42 GMT</pubDate>
  <title>Kernel 2.6.27 repin aka &quot;Unexpected return&quot;</title>
  <link>http://openvz.livejournal.com/35956.html</link>
  <description>You probably thought we have abandoned 2.6.27 kernel branch. Well, we ourselves thought we did (although it was not yet officially announced). Then, out of a sudden, &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/2.6.27/2.6.27-repin.1&quot;&gt;kernel 2.6.27-repin.1 is released&lt;/a&gt;, rebasing to latest upstream kernel (2.6.27.57), and fixing &lt;a href=&quot;http://bugzilla.openvz.org/show_bug.cgi?id=1593&quot;&gt;OpenVZ bug #1593&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The thing is, this kernel is called after &lt;a href=&quot;http://www.wikipedia.org/wiki/Ilya_Repin&quot;&gt;Ilya Repin&lt;/a&gt;, a leading Russian painter and sculptor of the Peredvizhniki artistic school. One of his best paintings is called &quot;Unexpected Return&quot;, and I happen to enjoy the original in Tretyakov Gallery here in Moscow a couple of weeks ago. So here it is: the unexpected return of 2.6.27 kernel. It took Ilya 4 years to finish the painting, it took Pavel 6 months to release the fix. Better late than never, that is.&lt;br /&gt;&lt;br /&gt;Please enjoy: &lt;b&gt;&lt;a href=&quot;http://www.tanais.info/art/en/repin40more.html&quot;&gt;Ilya Repin. Unexpected return. 1884-1888&lt;/a&gt;&lt;/b&gt;.</description>
  <comments>http://openvz.livejournal.com/35956.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>repin</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/35628.html</guid>
  <pubDate>Tue, 25 Jan 2011 18:44:57 GMT</pubDate>
  <title>news from the VSwap front</title>
  <link>http://openvz.livejournal.com/35628.html</link>
  <description>&lt;p&gt;I have added vswap confguration samples to vzctl git. Basically, you set physpages and swappages and leave every other beancounter at unlimited. For example, this is how ve-vswap-256m-conf.sample looks like:&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;p&gt;&lt;pre&gt;
# UBC parameters (in form of barrier:limit)
PHYSPAGES=&quot;0:256M&quot;
SWAPPAGES=&quot;0:512M&quot;
KMEMSIZE=&quot;unlimited&quot;
LOCKEDPAGES=&quot;unlimited&quot;
PRIVVMPAGES=&quot;unlimited&quot;
SHMPAGES=&quot;unlimited&quot;
NUMPROC=&quot;unlimited&quot;
VMGUARPAGES=&quot;unlimited&quot;
OOMGUARPAGES=&quot;unlimited&quot;
NUMTCPSOCK=&quot;unlimited&quot;
NUMFLOCK=&quot;unlimited&quot;
NUMPTY=&quot;unlimited&quot;
NUMSIGINFO=&quot;unlimited&quot;
TCPSNDBUF=&quot;unlimited&quot;
TCPRCVBUF=&quot;unlimited&quot;
OTHERSOCKBUF=&quot;unlimited&quot;
DGRAMRCVBUF=&quot;unlimited&quot;
NUMOTHERSOCK=&quot;unlimited&quot;
DCACHESIZE=&quot;unlimited&quot;
NUMFILE=&quot;unlimited&quot;
NUMIPTENT=&quot;unlimited&quot;

# Disk quota parameters (in form of softlimit:hardlimit)
DISKSPACE=&quot;1G&quot;
DISKINODES=&quot;200000&quot;
QUOTATIME=&quot;0&quot;

# CPU fair scheduler parameter
CPUUNITS=&quot;1000&quot;
&lt;/pre&gt;&lt;/p&gt;&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;

&lt;p&gt;As you can see, physpages (ie RAM size) is set to 256 megabytes, while swappages (ie swap size) is set to 512 megabytes, all the other beancounters are unlimited. Wow, it&apos;s never been easier to configure your containers!&lt;/p&gt;

&lt;p&gt;Now, we can utilize this stuff using RHEL6 based kernel. This is what we see from inside the container:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;
[root@localhost ~]# vzctl enter 103
entered into CT 103
[root@localhost /]# free
             total       used       free     shared    buffers     cached
Mem:        262144      23936     238208          0          0      10968
-/+ buffers/cache:      12968     249176
Swap:       524288          0     524288
&lt;/pre&gt;&lt;/p&gt;

&lt;a name=&quot;cutid2&quot;&gt;&lt;/a&gt;&lt;p&gt;&lt;pre&gt;
[root@localhost /]# cat /proc/user_beancounters 
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
      103:  kmemsize                  4722976              4853726  9223372036854775807  9223372036854775807                    0
            lockedpages                     0                    0  9223372036854775807  9223372036854775807                    0
            privvmpages                  4296                13875  9223372036854775807  9223372036854775807                    0
            shmpages                       31                   31  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        33                   33  9223372036854775807  9223372036854775807                    0
            physpages                    5984                 5985                    0                65536                    0
            vmguarpages                     0                    0  9223372036854775807  9223372036854775807                    0
            oomguarpages                 2696                 2696  9223372036854775807  9223372036854775807                    0
            numtcpsock                      4                    4  9223372036854775807  9223372036854775807                    0
            numflock                        5                    6  9223372036854775807  9223372036854775807                    0
            numpty                          1                    1  9223372036854775807  9223372036854775807                    0
            numsiginfo                     12                   18  9223372036854775807  9223372036854775807                    0
            tcpsndbuf                   69760                    0  9223372036854775807  9223372036854775807                    0
            tcprcvbuf                   65536                    0  9223372036854775807  9223372036854775807                    0
            othersockbuf                 2312                10768  9223372036854775807  9223372036854775807                    0
            dgramrcvbuf                     0                    0  9223372036854775807  9223372036854775807                    0
            numothersock                   51                   53  9223372036854775807  9223372036854775807                    0
            dcachesize                1172451              1172451  9223372036854775807  9223372036854775807                    0
            numfile                       370                  390  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      14                   14  9223372036854775807  9223372036854775807                    0


[root@localhost /]# cat /proc/meminfo 
MemTotal:         262144 kB
MemFree:          238208 kB
Cached:            10968 kB
Active:            16956 kB
Inactive:           1384 kB
Active(anon):       6352 kB
Inactive(anon):     1020 kB
Active(file):      10604 kB
Inactive(file):      364 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        524288 kB
SwapFree:         524288 kB
Dirty:                 0 kB
AnonPages:          7364 kB
Mapped:             3416 kB
Shmem:               124 kB
Slab:               4012 kB
SReclaimable:       1088 kB
SUnreclaim:         2924 kB
&lt;/pre&gt;&lt;/p&gt;&lt;a name=&apos;cutid2-end&apos;&gt;&lt;/a&gt;</description>
  <comments>http://openvz.livejournal.com/35628.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>vswap</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/35500.html</guid>
  <pubDate>Thu, 20 Jan 2011 16:53:15 GMT</pubDate>
  <title>cpulimit is back in RHEL6 based kernel</title>
  <link>http://openvz.livejournal.com/35500.html</link>
  <description>Hard CPU limit (ability to specify that you don&apos;t want this container to use more than X per cent of CPU no matter what) is back in latest RHEL6-based kernel, &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel6/042test006.1&quot;&gt;042test006.1, which has just been released&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The feature was only available for the stable (i.e RHEL4 and RHEL5-based) kernels, and was missing from all of our development kernels from 2.6.20 to 2.6.32. So while it was always there in stable branches, the feeling is like it&apos;s back.&lt;br /&gt;&lt;br /&gt;In order to use CPU limit feature, set the limit using &lt;code&gt;vzctl set $CTID --cpulimit X&lt;/code&gt;, where X is in per cent of one single CPU. For example, if you have single 2 GHz CPU and want container 123 to use no more than 1 GHz, use &lt;code&gt;vzctl set 123 --cpulimit 50&lt;/code&gt;. If you have 2 GHz quad-core system and want to use no more than 4 GHz, use &lt;code&gt;vzctl set 123 --cpulimit 200&lt;/code&gt;. Well, in the second case it might be better to just use &lt;code&gt;--cpus 2&lt;/code&gt;. Anyways, see vzctl man page.</description>
  <comments>http://openvz.livejournal.com/35500.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>vzctl</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/35207.html</guid>
  <pubDate>Wed, 29 Dec 2010 15:21:05 GMT</pubDate>
  <title>RHEL6-based kernel: try today not next year!</title>
  <link>http://openvz.livejournal.com/35207.html</link>
  <description>We have just released &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel6/042test005.1&quot;&gt;a new RHEL6-based kernel, 042test005&lt;/a&gt;. It is shaping up pretty good — as you can see from the changelog, it&apos;s not just bug fixes but also performance improvements. If you haven&apos;t tried it yet, I suggest to do it today! Do not postpone this until 2011 — after all, this is what will become the next stable OpenVZ kernel.&lt;br /&gt;&lt;br /&gt;RHEL6 kernel needs an appropriate (i.e. recent) Linux distribution. If you don&apos;t want latest Fedora releases, can&apos;t afford RHEL6, and tired of waiting for CentOS 6, I suggest you go with &lt;b&gt;Scientific Linux 6 (SL6)&lt;/b&gt;. This is yet another RHEL6 clone developed and used by CERN, Fermilabs and other similar institutions.&lt;br /&gt;&lt;br /&gt;While SL6 is still at its infancy (&lt;a href=&quot;http://listserv.fnal.gov/scripts/wa.exe?A2=ind1012&amp;amp;L=scientific-linux-devel&amp;amp;T=0&amp;amp;P=2876&quot;&gt;they have recently released alpha 3&lt;/a&gt; and plan to release beta 1 at Jan 7 2011), it it worth trying since it&apos;s based on a very stable set of sources from RHEL6. Repositories and stuff are available from &lt;a href=&apos;http://ftp.scientificlinux.org/linux/scientific/6rolling/&apos;&gt;http://ftp.scientificlinux.org/linux/scientific/6rolling/&lt;/a&gt;</description>
  <comments>http://openvz.livejournal.com/35207.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>centos</category>
  <category>rhel6</category>
  <category>scientific linux</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>9</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/35029.html</guid>
  <pubDate>Mon, 20 Dec 2010 15:39:10 GMT</pubDate>
  <title>vzctl 3.0.25 released today, woo-hoo!</title>
  <link>http://openvz.livejournal.com/35029.html</link>
  <description>I thought that Monday is a good day to release a new version of vzctl which was worked on for the last six months. There are a few important changes in this release, let me go through it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;First&lt;/b&gt;, we have finally removed all the cronscripts trickery required for CT reboot. The thing is, if the container owner issues &apos;reboot&apos; command from inside, the container just stops. Now, something needs to be done on the host system to start it again. Until this release, this was achieved by a hackish combination of vzctl (which adds an initscript inside container to add a reboot mark) and a cron script (which checks for the stopped containers having that reboot mark and starts those). Yet another cron script takes care about a situation when a CT is stopped from the inside -- in this case some cleanup needs to be done from the host system, namely we need to unmount the CT private area, and remove the routing and ARP records for the CT IP.&lt;br /&gt;&lt;br /&gt;There are a few problems with this cron-based approach. First, initscript handling can be different in different distributions, and it&apos;s really hard to support all of the distros. Second, cron script is run every 5 minutes, which means a mean time to reboot (or clean up network rules) is 2.5 minutes. To say it simple, it&apos;s all hackish and unreliable.&lt;br /&gt;&lt;br /&gt;Now, this hairy trickery is removed and replaced by a simple and clean daemon called vzeventd, which listens to CT stop and reboot events, and runs clean and simple scripts. No more trickery, no more waiting for reboot. The only catch is this requires support from the kernel (which comes in a form of vzevent kernel module).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Second&lt;/b&gt;, new vzctl is able to start Fedora 14 containers on our stable (i.e. RHEL5-2.6.18) kernels. The thing is, Fedora 14 have glibc patched to check for specific kernel version (&amp;gt;=2.6.32 in this case) and refuse to work otherwise. This is done to prevent glibc from using the old kernels with some required features missing. We patch our kernels to have those features, but glibc just checks the version. So, our recent kernels is able to set osrelease field of uname structure to any given value for a given container. Now, vzctl 3.0.25 comes with a file (/etc/vz/osrelease.conf) which lists different distros and their required kernel version, which it sets during start and exec.&lt;br /&gt;&lt;br /&gt;I want to briefly mention yet another feature of recent vzctl (which, again, needs kernel support) -- an ability to delegate a PCI device into a container. It is only supported on RHEL6 kernel at the moment, and the only devices that we have tried are NVidia GPUs.&lt;br /&gt;&lt;br /&gt;Besides these three big things, there are a lot of improvements, fixes, and documentation updates all over the tree. I don&apos;t know of any known regressions in this release but I guess it&apos;s not entirely Bug Free. Fortunately there&apos;s a way to handle it -- if anything really bad appears in this version, it will be fixed by a quick 3.0.25.1 update. This worked pretty well for vzctl-3.0.24, should work fine this time, too.&lt;br /&gt;&lt;br /&gt;As always, please report all the bugs found to &lt;a href=&apos;http://bugzilla.openvz.org/&apos;&gt;http://bugzilla.openvz.org/&lt;/a&gt;</description>
  <comments>http://openvz.livejournal.com/35029.html</comments>
  <category>openvz</category>
  <category>vzctl</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>9</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/34694.html</guid>
  <pubDate>Fri, 26 Nov 2010 15:37:24 GMT</pubDate>
  <title>On kernel exploits and OpenVZ user beancounters</title>
  <link>http://openvz.livejournal.com/34694.html</link>
  <description>Yesterday a guy with his name written in Cyrillic letters (&quot;Марк Коренберг&quot;) and a @gmail.com email address &lt;a href=&quot;http://lkml.org/lkml/headers/2010/11/25/8&quot;&gt;posted&lt;/a&gt; a kernel exploit to the Linux kernel mailing list (aka LKML). This morning one brave guy from our team tried to run it on his desktop -- and had to reboot it after a few minutes of total system unresponsiveness.&lt;br /&gt;&lt;br /&gt;The bad news are the exploit is pretty serious and causes Denial of Service. It looks like most kernels are indeed vulnerable.&lt;br /&gt;&lt;br /&gt;The good news is OpenVZ is not vulnerable. Why? Because of &lt;a href=&quot;http://wiki.openvz.org/UBC&quot;&gt;user beancounters&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;The nature of exploit is to create an unlimited number of sockets, thus rendering the whole system unusable so you need to power-cycle it to bring it back to life. Now, if you run this exploit in an OpenVZ container, you will hit the &lt;code&gt;numothersock&lt;/code&gt; beancounter limit pretty soon and the script will exit. This is an except from /proc/user_beancounters after the run:&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;pre&gt;
 cat /proc/user_beancounters 
       uid  resource                     held              maxheld              barrier                limit              failcnt
.....
            numothersock                    9                  360                  360                  360                    1
.....
&lt;/pre&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;As you can see, current usage is 9, while peak usage is 360, same as limit. Finally, &lt;code&gt;failcnt&lt;/code&gt; is 1 meaning there was once a situation when the limit was hit.&lt;br /&gt;&lt;br /&gt;I went further and set &lt;code&gt;numothersock&lt;/code&gt; limit to &apos;unlimited&apos;, and re-run the exploit. The situation is much worse in that case (don&apos;t try it at home, you&apos;ve been warned), system slows down considerably, but I was still able to login to the physical server using ssh and kill the offending task from the host system using SIGTERM.&lt;br /&gt;&lt;br /&gt;Now, this is how &lt;code&gt;/proc/user_beancounters&lt;/code&gt; look after the second run:&lt;br /&gt;&lt;small&gt;&lt;pre&gt;
       uid  resource                     held              maxheld              barrier                limit              failcnt
      111:  kmemsize                  1237973             14372344             14372700             14790164                   80
.....
            numothersock                    9                 2509  9223372036854775807  9223372036854775807                    1
&lt;/pre&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;As you can see, even with numothersock set to unlimited, another beancounter, &lt;code&gt;kmemsize&lt;/code&gt;, is working to save the system.&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Of course, if you set all beancounters to unlimited, exploit will work. So don&apos;t do that, unless your CT is completely trusted. Those limits are there for a reason, you know.</description>
  <comments>http://openvz.livejournal.com/34694.html</comments>
  <category>kernel</category>
  <category>openvz</category>
  <category>security</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/34522.html</guid>
  <pubDate>Mon, 22 Nov 2010 16:13:03 GMT</pubDate>
  <title>042test002.1 kernel is based on final RHEL6 and contains VSwap.</title>
  <link>http://openvz.livejournal.com/34522.html</link>
  <description>Guys and girls (hugs to &lt;a href=&quot;http://www.linuxchix.org/&quot;&gt;LinuxChix&lt;/a&gt; at this point!), you&apos;ll choke in with delight with the news incoming, I guarantee it! So, let me climb a stool and announce with the full pathos: &lt;b&gt;we released a new kernel based on final RHEL6&lt;/b&gt;: &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel6/042test002.1&quot;&gt;&lt;b&gt;042test002.1&lt;/b&gt;&lt;/a&gt;. Yes, I knew it would leave you speechless. Besides fixed modules signing and many fixes and reworks in network, VFS, UBC, CPT and &lt;i&gt;sysctl&lt;/i&gt; it contains brand new memory management model, we call it &lt;b&gt;VSwap&lt;/b&gt; (trumpets here!). Previous version of this kernel, &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel6/042test001.1&amp;quot;&amp;quot;&quot;&gt;042test002.1&lt;/a&gt; was based on RHEL6 beta. I guess no one here needs an explanation why final releases are better than betas. &lt;br /&gt;&lt;br /&gt;So, back to VSwap. We used to set &lt;a href=&quot;https://wiki.openvz.org/UBC&quot;&gt;User Beancounters&lt;/a&gt; to manage a container&apos;s resources and memory, but it appeared to become a bit complicated and required reading lots of manuals if you wanted things to work the way you planned and not just set some parameters randomly. (When I installed Gentoo for the first time, I was totally unaware about USE flags details, for most of them I was even unable to guess what they were for, so I simply enabled those, which names I liked the most). It seems, some users tried the same method at least once while dealing with UBC. In other words, VSwap is a killer feature, which simplifies a ton CT management, you just think about it: instead of setting 20 different beancounters you need to set only two, RAM and swap! &lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;At the moment there are two primary parameters to set: &lt;b&gt;physpages&lt;/b&gt; and &lt;b&gt;swappages&lt;/b&gt;. The rest of beancounters are secondary parameters and do not need your obligatory attention. In short, &lt;b&gt;physpages&lt;/b&gt; limits the physical memory (RAM) available to processes inside a container. The barrier is ignored, and the &lt;code&gt;limit&lt;/code&gt; sets the limit. Currently the user memory and the page cache are accounted into physpages. &lt;b&gt;swappages&lt;/b&gt; limits the amount of swap space which can be used for processes inside a container. The barrier is ignored, and the &lt;code&gt;limit&lt;/code&gt; sets the limit. &lt;br /&gt;&lt;br /&gt;The sum of &lt;i&gt;physpages.limit&lt;/i&gt; and &lt;i&gt;swappages.limit&lt;/i&gt; limits the maximum amount of allocated memory which can be used by a container. When physpages limit is reached, memory pages belonging to the container are pushed out to so called virtual swap (vswap). &lt;b&gt;The difference between normal swap and vswap is that with vswap no actual disk I/O usually occurs&lt;/b&gt;. Instead, a container is artificially slowed down, to emulate the effect of the real swapping. Actual swap out occurs only if there is a global memory shortage on the system.&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Our beloved developers put a lot of effort into &lt;a href=&quot;http://wiki.openvz.org/VSwap&quot;&gt;this feature&lt;/a&gt; (it&apos;s actually several years of hard working days and nights), so please do try this kernel! To do that you need either RHEL6 (or CentOS 6, which is not yet available) or recent Fedora releases (12, 13, 14). As usual, it&apos;s available in &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel6/042test002.1&quot;&gt;Download section&lt;/a&gt;.</description>
  <category>testing</category>
  <category>beancounters</category>
  <category>kernel</category>
  <category>openvz</category>
  <category>rhel6</category>
  <lj:mood>spreading-the-love</lj:mood>
  <lj:security>public</lj:security>
  <lj:poster>al_shams</lj:poster>
  <lj:posterid>849215</lj:posterid>
  <lj:reply-count>12</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/34217.html</guid>
  <pubDate>Fri, 19 Nov 2010 16:59:46 GMT</pubDate>
  <title>028stab070.12 is dead-born: three good reasons to keep your system up-to-date.</title>
  <link>http://openvz.livejournal.com/34217.html</link>
  <description>You just think about what people do when your stable kernel has a bug. Do they pity you? Do they file the reports? Do they try to help and contribute to the community? No way. They just flood you with sarcastic emails telling something like &apos;I thought you &lt;i&gt;test&lt;/i&gt; your kernels before being released&apos;. Of course we &lt;i&gt;do test&lt;/i&gt; them (not mentioning that we do love them as much as our own kids and care for them!). We even &lt;a href=&quot;http://blog.openvz.org/23621.html&quot;&gt;find bugs in RHEL&lt;/a&gt; from time to time while testing those kernels of ours. OK, let&apos;s skip the sentimental part and pass to the very core of the subject on.&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Q: Aaaa! My containers are invisible for the rest of people! What happened?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; ARP entries are not set for host-routed (i.e. venet) devices, leading to CTs unreachable from the network. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Why on Earth had this happened?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; The problem actually was in the old version of patch utility (2.5.4) used by one of developers on a machine different from his usual and beloved one. This buggy utility (2.5.4) misapplied one hunk of a patch, which led to a buggy code in &lt;i&gt;net/core/neighbour.c&lt;/i&gt;. Take a look what it did (the following piece is the interdiff between the good code and the bad one):&lt;br /&gt;&lt;br /&gt;&lt;font face=&quot;monospace&quot;&gt;&lt;font color=&quot;#008000&quot;&gt;diff -U2 linux-2.6.18.ovz/net/core/neighbour.c linux-2.6.18.ovz/net/core/neighbour.c&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#008000&quot;&gt;--- linux-2.6.18.ovz/net/core/neighbour.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010-10-04 14:27:32.000000000 +0400&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#008000&quot;&gt;+++ linux-2.6.18.ovz/net/core/neighbour.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010-11-12 17:35:34.000000000 +0300&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#804000&quot;&gt;@@ -1549,4 +1549,6 @@&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!ve_accessible_strict(tbl-&amp;gt;owner_env, get_exec_env()))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;br /&gt;&lt;font color=&quot;#008080&quot;&gt;&lt;b&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!ve_accessible_strict(tbl-&amp;gt;owner_env, get_exec_env()))&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#008080&quot;&gt;&lt;b&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;read_unlock(&amp;amp;neigh_tbl_lock);&lt;br /&gt;&lt;br /&gt;&lt;font color=&quot;#804000&quot;&gt;@@ -1602,6 +1604,4 @@&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (tbl-&amp;gt;family != ndm-&amp;gt;ndm_family)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;br /&gt;&lt;font color=&quot;#c000c0&quot;&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!ve_accessible_strict(tbl-&amp;gt;owner_env, get_exec_env()))&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#c000c0&quot;&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;read_unlock(&amp;amp;neigh_tbl_lock);&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;So, instead of applying the same code to two identical functions, &lt;i&gt;neigh_add()&lt;/i&gt; and &lt;i&gt;neigh_delete()&lt;/i&gt;,  it applied the same hunk twice into &lt;i&gt;neigh_delete()&lt;/i&gt;, left &lt;i&gt;neigh_add()&lt;/i&gt; untouched. Thus ARP record was not added, because &lt;b&gt;vzctl&lt;/b&gt; calls it in form &lt;i&gt;&quot;ip neigh add proxy x.x.x.x dev eth0&quot;&lt;/i&gt;, which is supposed to add an ARP record (by the way, you can see an ARP table using &lt;i&gt;&apos;arp -a&apos;&lt;/i&gt;). Because of the mispatched kernel (those scary lines you&apos;ve seen above), the record was not added and containers became unreachable.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Oh, pain! And what should I do now?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;A&lt;/b&gt;: Yesterday when things happened it was better to roll back to the previous kernel, &lt;b&gt;028stab070.7&lt;/b&gt;. But today we have already released the new kernel with the fix for this problem: &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel5/028stab070.14&quot;&gt;&lt;b&gt;028stab070.14&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oh, I was going to narrate about three good reasons to keep your system up-to-date (what a fairy-tale without an obligatory epimyth?). The first one is obvious: when you  update the system, you&apos;ve got all the utilities up-to-date and they won&apos;t spoil your patches. The second one is pretty clear, too: when your system is up-to-date, you&apos;ve got new fancy stuff. Also, when you update your system and use brand new kernels, a flower grows in a soul of a developer or a QA person :)&lt;br /&gt;&lt;br /&gt;Speaking of flowers, Kir himself put all of his heart in &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel5-testing&quot;&gt;&lt;b&gt;rhel5-testing branch&lt;/b&gt;&lt;/a&gt;. It was supposed to improve the quality of our stable kernels. This particular bug (really easy to catch, actually) and the whole story tells us one sad thing: almost nobody runs rhel5-testing. When you run those kernels too (along with our QA, which does the testing), you add  different hardware, different setups and different usage scenarios. If you want to make sure things work for you and contribute to the community, please invest some of your time and hardware and test it on your box(es).</description>
  <category>testing</category>
  <category>kernel</category>
  <category>openvz</category>
  <category>bug</category>
  <category>rhel5</category>
  <lj:mood>shedding-the-light</lj:mood>
  <lj:security>public</lj:security>
  <lj:poster>al_shams</lj:poster>
  <lj:posterid>849215</lj:posterid>
  <lj:reply-count>10</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/33832.html</guid>
  <pubDate>Sat, 13 Nov 2010 17:43:28 GMT</pubDate>
  <title>On RHEL5 kernel releases</title>
  <link>http://openvz.livejournal.com/33832.html</link>
  <description>&lt;p&gt;You might have noticed that we have announced a new kernel branch
named rhel5-testing a while ago (&lt;a href=&quot;http://openvz.org/pipermail/announce/2010-July/000138.html&quot;&gt;back in July&lt;/a&gt;,
to be more specific). The idea is pretty simple: at the same time as giving the new
kernel to our internal QA we are releasing it to &lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel5-testing&quot;&gt;rhel5-testing&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Although this change imposes some more work on me (more kernels
to release, scripts to run, changelogs to prepare), I&apos;m pleased
to say that this model works very well. First, vendors who use
our kernels as a base for theirs (for example, &lt;a href=&quot;http://www.openwall.com/Owl/&quot;&gt;OWL&lt;/a&gt;) now enjoy
earlier access to the sources. Second, new kernels get more
testing coverage due to OpenVZ users who choose to use this
branch. Finally, it works as a “technology preview”.&lt;/p&gt;

&lt;p&gt;Now, let me explain why we have so strange version numbers
in the recent rhel5-testing kernels — kernels 028stab07x
are intermixed with 028stab070.y. The thing is, we still keep
updating 028stab070.y with new fixes and upstream (RHEL) updates,
while 028stab07x is a newer “sub-branch” which adds a few new
features:&lt;ul&gt;
&lt;li&gt;live migration of containers with NFS and AutoFS mounts&lt;/li&gt;
&lt;li&gt;iotop working in containers and the host system&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Because of these new features, these kernels haven&apos;t reached the
stability yet so we keep releasing those in rhel5-testing.
Hopefully soon it will end up being stable enough and we
will abandon 028stab070.y in favor of 028stab078 (or so).&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; this post was mostly written yesterday. Today we have just released
&lt;a href=&quot;http://wiki.openvz.org/Download/kernel/rhel5-testing/028stab078.1&quot;&gt;028stab078.1&lt;/a&gt; kernel.&lt;/p&gt;</description>
  <comments>http://openvz.livejournal.com/33832.html</comments>
  <category>testing</category>
  <category>kernel</category>
  <category>openvz</category>
  <category>rhel5</category>
  <lj:security>public</lj:security>
  <lj:poster>k001</lj:poster>
  <lj:posterid>990679</lj:posterid>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://openvz.livejournal.com/33574.html</guid>
  <pubDate>Thu, 11 Nov 2010 08:39:57 GMT</pubDate>
  <title>OpenVZ spiced things up for e-reader on-line store.</title>
  <link>http://openvz.livejournal.com/33574.html</link>
  <description>When it comes to e-reader advertising, what do you expect to see on its screen? That&apos;s right, some trendy titles, I bet they simply browse popular e-reading resources (I won&apos;t mention them here to avoid shilling and luring) and choose some titles from best-selling top ten. There still are open minded and I&apos;d rather dare to call them alternative folks, who put there OpenVZ users guide for the demo on the main page!&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://shams.sacred.ru/pics/openvz-ereader.png&quot;&gt;&lt;br /&gt;Just before someone starts blaming it&apos;s shopped, here&apos;s &lt;a href=&quot;http://pocketbook-usa.com/&quot;&gt;the proof link&lt;/a&gt;&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;&lt;br /&gt;Also it&apos;s good bearing O.Henry&apos;s company on that screen! I tried to understand why the users guide. Is it &quot;buy-this-one-because-you&apos;re-geeky&quot;? Or this is because OpenVZ manuals are as popular as Stieg Larsson endless series? Or perhaps someone wanted to cheer OpenVZ team up? Whatever the purpose was, they did cheer us up. Hurray!</description>
  <comments>http://openvz.livejournal.com/33574.html</comments>
  <category>fun</category>
  <lj:mood>pleased and proud</lj:mood>
  <lj:security>public</lj:security>
  <lj:poster>al_shams</lj:poster>
  <lj:posterid>849215</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>

