On 29/08/14 01:07 PM, Vagrant Cascadian wrote:
> Looks like you need to load the overlayfs or aufs modules. It's not
> uncommon for container technologies to disallow loading modules by
> default, as that can compromise the security of the host machine. If you
> manually load overlayfs or aufs from the host server, it might work.
>
>
I still haven't gotten any response on what the preferred kernel options 
for AUFS should be for LTSP.

I have built AUFS as a module, because I don't necessarily want it 
available to all containers as a feature. If anyone would kindly provide 
their suggestions for the following options, I'd appreciate it. I made 
the following choices, but I may not need all of them:

   Aufs (Advanced multi layered unification filesystem) support 
(AUFS_FS) [N/m/y/?] (NEW) m
     Maximum number of branches
     > 1. 127 (AUFS_BRANCH_MAX_127) (NEW)
       2. 511 (AUFS_BRANCH_MAX_511) (NEW)
       3. 1023 (AUFS_BRANCH_MAX_1023) (NEW)
       4. 32767 (AUFS_BRANCH_MAX_32767) (NEW)
     choice[1-4?]: 1
     Detect direct branch access (bypassing aufs) (AUFS_HNOTIFY) [N/y/?] 
(NEW) y
       method
       > 1. fsnotify (AUFS_HFSNOTIFY) (NEW)
         2. inotify (DEPRECATED) (AUFS_HINOTIFY) (NEW)
       choice[1-2]: 1
     NFS-exportable aufs (AUFS_EXPORT) [N/y/?] (NEW) y
     Readdir in userspace (AUFS_RDU) [N/y/?] (NEW)
     support for /proc/maps and lsof(1) (AUFS_PROC_MAP) [N/y/?] (NEW)
     Respect the attributes (mtime/ctime mainly) of special files 
(AUFS_SP_IATTR) [N/y/?] (NEW)
     Show whiteouts (AUFS_SHWH) [N/y/?] (NEW)
     Ramfs (initramfs/rootfs) as an aufs branch (AUFS_BR_RAMFS) [N/y/?] 
(NEW) y
     Fuse fs as an aufs branch (AUFS_BR_FUSE) [N/y/?] (NEW) y
     Hfsplus as an aufs branch (AUFS_BR_HFSPLUS) [Y/n/?] (NEW)
     Debug aufs (AUFS_DEBUG) [N/y/?] (NEW)


Summary of what I have done so far:

The latest LTSP servers can be run as OpenVZ containers, but obviously 
require AUFS support in the hardware node (HN or CT0) kernel as pointed 
out above. I don't really want to give up PVE. The Proxmox Virtual 
Environment provides complete server virtualization management for 
OpenVZ containers that we've adapted to; its kernel currently uses the 
OpenVZ Kernel from sources listed below.

The Proxmox kernel sources are available from:

https://github.com/proxmox/pve-kernel-2.6.32

     pve-kernel-2.6.36-32

which includes sources and patches from

http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab093.4/

     vzkernel-2.6.32-042stab093.4.src.rpm
     patch-042stab093


The AUFS 2.1-32 sources are available from:

http://sourceforge.net/p/aufs/aufs2-standalone/ci/aufs2.1-32/tree/

     git clone git://git.code.sf.net/p/aufs/aufs2-standalone 
aufs2-standalone.git
     cd aufs2-standalone.git
     git checkout aufs2.1-32


Here is a summary of what I've done to replace the Proxmox kernel with a 
custom one.

Both vzkernel-2.6.32-042stab093.4.src.rpm and patch-042stab093 patch 
linux-2.6.32, change symbol names and relocate functions. This, of 
course, requires modifying the distributed patches for AUFS 2.1 to 
successfully rebuild kernel. I've created a complete aufs2.1-32 patch 
that has been created specifically to rebuild the Proxmox 2.6.32 kernel 
packages. Note that this custom patch includes all files required to 
either compile aufs2.1 into the kernel or as a module. All of 
aufs2-base.patch, aufs2-kbuild.patch, aufs2-standalone.patch, 
proc_map.patch and loopback.patch have been included into this patch. I 
will continue to post new patches as the kernel gets updated

My current pve-kernel-2.6.32+aufs2.1-32.patch can be found on the 
owncloud link below, but will be updated to reflect the suggestions 
offered for the question at the beginning of this message.

https://owncloud.cs.uwindsor.ca/public.php?service=files&t=83cdb7f8067adaa046c3b3579cc47fdd

To rebuild the kernel:

     cd /your/src
     apt-get install kernel-package lintian
     git clone https://github.com/proxmox/pve-kernel-2.6.32 
pve-kernel-2.6.32.git
     cd pve-kernel-2.6.32.git
     patch -p1 < /your/downloads/pve-kernel-2.6.32+aufs2.1-32.patch

The root changelog.Debian is patched with an arbitrarily large version 
epoch so this kernel doesn't get overwritten by an update. You should 
customize this changelog.Debian for your site before rebuilding the kernel.

Finally,

     make

Install the kernel and headers packages created.


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_____________________________________________________________________
Ltsp-discuss mailing list.   To un-subscribe, or change prefs, goto:
      https://lists.sourceforge.net/lists/listinfo/ltsp-discuss
For additional LTSP help,   try #ltsp channel on irc.freenode.net

Reply via email to