For anyone else following this, I neglected to mention that you do need
to run 'make install_headers" from the aufs2-standalone.git directory in
order to build aufs2-util.
git clone git://git.code.sf.net/p/aufs/aufs2-standalone
aufs2-standalone.git
cd aufs2-standalone.git
git checkout aufs2.1-32
make install_headers
git clone git://git.code.sf.net/p/aufs/aufs2-util aufs2-util.git
cd aufs2-util.git
git checkout aufs2.1
make install
Although I've managed to get this part done, I haven't been able to get
a container to use aufs yet.
On 15/09/14 03:02 PM, Robert Mavrinac wrote:
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.
--
Robert Mavrinac
Server & Network Technician
School of Computer Science
Room 3104 Lambton Tower
University of Windsor
401 Sunset Avenue, Windsor, ON N9B 3P4
519-253-3000 (4410)
Email:[email protected] <mailto:[email protected]>
------------------------------------------------------------------------------
Slashdot TV. Video for Nerds. Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&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