Jason
Mike Herrick wrote:
No html mail thanks.
Sorry 'bout that.
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?
Yeah, looks like there aren't any snapshots listed in LDAP.
Are there snapshots in /srv/stateless/snapshots?
Maybe use GQ (GUI LDAP client) to poke around in LDAP to see if any record of the snapshots are being made?
Part of the problem may be that I hadn't run 'stateless-servers -a'. Do I have to run this before or after taking a snapshot? What values do I give for nfs_path and rsync_path?
I don't have GQ, but here's the output of ldapsearch:
[root@localhost tmp]# ldapsearch -x -b 'dc=stateless-test,dc=example,dc=com' '(objectclass=*)' # extended LDIF # # LDAPv3 # base <dc=stateless-test,dc=example,dc=com> with scope sub # filter: (objectclass=*) # requesting: ALL #
# stateless-test.example.com dn: dc=stateless-test,dc=example,dc=com dc: stateless-test objectClass: domain
# people, stateless-test.example.com dn: ou=people,dc=stateless-test,dc=example,dc=com objectClass: organizationalUnit ou: people
# groups, stateless-test.example.com dn: ou=groups,dc=stateless-test,dc=example,dc=com objectClass: organizationalUnit ou: groups
# services, stateless-test.example.com dn: ou=services,dc=stateless-test,dc=example,dc=com objectClass: organizationalUnit ou: services
# stateless, services, stateless-test.example.com dn: dc=stateless,ou=services,dc=stateless-test,dc=example,dc=com objectClass: statelessContainer dc: stateless
# hosts, stateless, services, stateless-test.example.com dn: dc=hosts,dc=stateless,ou=services,dc=stateless-test,dc=example,dc=com objectClass: statelessContainer dc: hosts
# servers, stateless, services, stateless-test.example.com dn: dc=servers,dc=stateless,ou=services,dc=stateless-test,dc=example,dc=com objectClass: statelessContainer dc: servers
# demo-group, groups, stateless-test.example.com dn: cn=demo-group,ou=groups,dc=stateless-test,dc=example,dc=com objectClass: posixGroup cn: demo-group gidNumber: 1000 memberUid: group-name
# demo-user, people, stateless-test.example.com dn: uid=demo-user,ou=people,dc=stateless-test,dc=example,dc=com objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: demo-user uidNumber: 1000 gidNumber: 1000 cn: Demo User sn: Demo User homeDirectory: /home/users/demo-user loginShell: /bin/bash userPassword:: e1NTSEF9QVRNVUNxTnNod0g2enE1OTlHWnFOc3FpSzd5UnJSb1c=
# DemoSystem, stateless, services, stateless-test.example.com dn: statelessConfigurationName=DemoSystem,dc=stateless,ou=services,dc=stateles s-test,dc=example,dc=com objectClass: statelessConfiguration statelessConfigurationName: DemoSystem statelessDefaultSnapshotName: DemoSystem-3
# DemoSystem-1, DemoSystem, stateless, services, stateless-test.example.com dn: statelessSnapshotName=DemoSystem-1,statelessConfigurationName=DemoSystem,d c=stateless,ou=services,dc=stateless-test,dc=example,dc=com statelessSnapshotName: DemoSystem-1 objectClass: statelessSnapshot statelessSnapshotServer: 6.6.6.1
# 00:02:b3:41:29:43, hosts, stateless, services, stateless-test.example.com dn: macAddress=00:02:b3:41:29:43,dc=hosts,dc=stateless,ou=services,dc=stateles s-test,dc=example,dc=com objectClass: statelessClient macAddress: 00:02:b3:41:29:43 statelessConfigurationName: DemoSystem
# status, 00:02:b3:41:29:43, hosts, stateless, services, stateless-test.coren te.com dn: dc=status,macAddress=00:02:b3:41:29:43,dc=hosts,dc=stateless,ou=services,d c=stateless-test,dc=example,dc=com objectClass: statelessClientStatus dc: status
# DemoSystem-2, DemoSystem, stateless, services, stateless-test.example.com dn: statelessSnapshotName=DemoSystem-2,statelessConfigurationName=DemoSystem,d c=stateless,ou=services,dc=stateless-test,dc=example,dc=com statelessSnapshotName: DemoSystem-2 objectClass: statelessSnapshot statelessSnapshotServer: 6.6.6.1
# DemoSystem, servers, stateless, services, stateless-test.example.com dn: cn=DemoSystem,dc=servers,dc=stateless,ou=services,dc=stateless-test,dc=cor ente,dc=com objectClass: statelessServer cn: DemoSystem
# --nfs-path, servers, stateless, services, stateless-test.example.com dn: cn=--nfs-path,dc=servers,dc=stateless,ou=services,dc=stateless-test,dc=cor ente,dc=com objectClass: statelessServer cn: --nfs-path
# /srv/stateless/protosystems/DemoSystem, servers, stateless, services, state less-test.example.com dn: cn=/srv/stateless/protosystems/DemoSystem,dc=servers,dc=stateless,ou=servi ces,dc=stateless-test,dc=example,dc=com objectClass: statelessServer cn: /srv/stateless/protosystems/DemoSystem
# DemoSystem-3, DemoSystem, stateless, services, stateless-test.example.com dn: statelessSnapshotName=DemoSystem-3,statelessConfigurationName=DemoSystem,d c=stateless,ou=services,dc=stateless-test,dc=example,dc=com statelessSnapshotName: DemoSystem-3 objectClass: statelessSnapshot statelessSnapshotServer: 6.6.6.1
# search result search: 2 result: 0 Success
# numResponses: 19 # numEntries: 18 [root@localhost tmp]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 10095152 5916920 3665416 62% / /dev/hda1 101086 8947 86920 10% /boot none 127684 0 127684 0% /dev/shm /dev/mapper/VGStateless-DemoSystem 4128448 3357000 561736 86% /srv/stateless/protosystems/DemoSystem /dev/mapper/VGStateless-DemoSystem_1 4128448 3338300 580436 86% /srv/stateless/snapshots/DemoSystem/DemoSystem-1 /dev/mapper/VGStateless-DemoSystem_3 4128448 3338300 580436 86% /srv/stateless/snapshots/DemoSystem/DemoSystem-3 [root@localhost tmp]# stateless-snapshooter --list Protosystems: DemoSystem
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.
Its possible the snapshot process never completed, and so that snapshot wasn't properly prepared for readonly booting.
The readonly-root package was installed in the protosystem, and I verified that /etc/rc.readonly exists in both the protosystem and the snapshot.
Mike.