[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Stateless Linux experience...

Mike Herrick wrote:
Thought I'd give this a try.  Still in progress, but a couple of pointers to
pass on to anyone who wants to give it a go.

1) First, make sure you get the latest source from CVS.  There are a couple
of bugs in parsing arguments that have been fixed (as noted in


2) Even with the latest code, there is a typo on line 96 of
stateless-snapshooter.py ("--protosytem" should be "--protosystem").

copy editor for hire

3) I tried this on a machine that initially had 128MB of RAM.  When I got to
the "stateless-snapshooter -n -p DemoSystem" step, I ran out of memory:
"device-mapper ioctl cmd 9 failed: Cannot allocate memory".  I added 128MB
of RAM and still had the same problem, so I stopped some non-essential
services (httpd, sendmail, etc.).  Then I was able to continue.

I'll have to settle for testing it with 1GB dual channel pc3200, we'll see if it makes a difference. We got that message when we were loading the 'vmlinuz' kernel instead of the pxelinux.0 boot image first.

4) Because I needed to reboot to add RAM, all of the files that I had copied
from the 'test' system to /srv/stateless/protosystem/DemoSystem seemed to
have been lost.  It wasn't until after I had re-copied them from the test
machine that I remembered the "mount /dev/mapper/VGStateless-DemoSystem
/srv/stateless/protosystems/DemoSystem" command in one of the previous
steps.  Moral of the story: add it to the /etc/fstab so it'll be
automatically remounted on reboots.

entered into fstab, though mine kept that mount when I rebooted.

5) In the /etc/dhcpd.conf file, it refers to "linux-install/pxelinux.0" as
the PXE bootable image, but when the PXE client connects this file is not
found.  I copied /usr/lib/syslinux/pxelinux.0 (from syslinux RPM) to

I changed this. Whatever is referred to as the pxelinux location is actually tacked onto /tftpboot/. I'm concerned that parts of the program may attempt to run and be looking inside /tftpboot/ for the images, or be looking for non-pxe files realitve to that path. Anyway I changed it to /pxelinux.0 and dropped the files in /tftpboot to make my life easier.

6) Because of the RAM problem above, I'm not sure that subsequent
invocations of "stateless-snapshooter -n -p DemoSystem" actually worked as
designed.  When I execute "stateless-snapshooter -l", I get:



But it doesn't say anything about snapshots.  This makes me nervous.  What
should the output look like?

That's what mine looks like.

7) When I run "python statelessGenPXEConfig.py" after adding the MAC
addresses, I get "Unable to get NFS location of DemoSystem snapshot
DemoSystem-1".  I'm not exactly sure where it's supposed to have picked up
the NFS path definition from.  It appears to me from browsing some of the
code that somewhere along the line I was supposed to have executed
"stateless-servers", but I didn't see anything about that in the

In the config.py you can control all the paths the python scripts look to. This need to be changed, I think, to run off the etc/sysconfig/stateless file, because users aren't going to manipulate python scripts (no matter how simple it may be).

Since the statelssGenPXEConfig.py script failed to generate any PXE
configuration, I generated my own by hand:

DEFAULT stateless/DemoSystem/DemoSystem-1/vmlinuz

ah very helpful.

I then added the following to /etc/exports:

/srv/stateless/snapshots/DemoSystem/DemoSystem-1 *(ro,async)

I have the same, but added no_root_squash. I think I also put the subnet in there because I don't need to export the file to the whole internet.

With these changes, I was able to get a machine to boot from the snapshot,
but there were many errors/warnings stemming from having a read-only root
(and /var) filesystem on a diskless client.

Going to try it now. I had the initial install authorize of a pre-existing, usable ldap auth server, so maybe I'll get past this.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]