Stateless Linux experience...

Mike Herrick mherrick at corente.com
Wed Nov 17 14:05:23 UTC 2004


> 	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 at 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 at 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 at 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.





More information about the fedora-devel-list mailing list