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 https://listman.redhat.com/archives/fedora-devel-list/2004-November/msg00233.html). 2) Even with the latest
code, there is a typo on line 96 of stateless-snapshooter.py ("--protosytem"
should be "--protosystem"). 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. 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. 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 /tftpboot/linux-install. 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: Protosystems: DemoSystem But it doesn't say anything
about snapshots. This makes me nervous. What should the output look 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 documentation. Since the statelssGenPXEConfig.py script failed to generate any PXE
configuration, I generated my own by hand: DEFAULT stateless/DemoSystem/DemoSystem-1/vmlinuz
initrd=stateless/DemoSystem/DemoSystem-1/initrd.img
NFSROOT=6.6.6.1:/srv/stateless/snapshots/DemoSystem/DemoSystem-1 I then added the following to /etc/exports: /srv/stateless/snapshots/DemoSystem/DemoSystem-1 *(ro,async) 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. When I finally got the
machine to boot, it wouldn’t let me login! I suspect some read-only root
problem during the login process that prevented the login process from
completing. Mike. |