After my dismal failure at Pohmelfs, I shopped for alternative distributed files systems. I can't tell if CODA is abandoned or not, but I'll give it a try.
- Build into kernel 2.6.33, no problems.
- Debian has let their user mode utilities rot away.
- CMU has prebuilt .debs, including for Squeeze. That looks good.
- Add the CMU apt sources, looks like this now… # cat /etc/apt/sources.list.d/coda.listdeb http://www.coda.cs.cmu.edu/debian lenny/
- aptitude update ; aptitude install coda-server, scary text about unsigned packages follows, but it is OK.
- Configure server with vice-setup
- Similar for the client machines, except aptitude install coda-client… ends with00:35:02 Venus starting... 00:35:02 /coda now mounted
- Test client with CMU's server: # cfs lv /coda/testserver.coda.cs.cmu.eduStatus of volume 7f000000 (2130706432) named "/" Volume type is ReadWriteLooks good. I can read the sample documents.
- Test client with my server: Much hanging and server not founding. Most likely related to my "hostname" being an internal address unreachable by the client. There is a spot in the /etc/coda/*.conf file and in one in the /vice directory, but it still attempts to use the unreachable address and no hints in vice-setup on how to force an address.
- I temporarily change my hostname to the external interface address. No luck. The client does a pile of DNS lookups for SRV records for my host with _codasrv._udp prepended, then does one for a regular A record. Gets my address, but never tries to contact.
- Reboot client. Success! Now we can connect. Something evil must have been cached.
- Many failures to authenticate with clog until I realize that the example I'm working from only has an account of admin because that is what they gave vice-setup. Use the account I gave with the password "changeme" and I'm in.
- Find cpasswd, change that password.
- Try to make myself a user account. au -h MYHOST nu, coda is a pretty hostile system. It echoes my new password in the clear even though it knows how not to, then fails with AuthNameToId() --> AUTH_FAILED
- Find pdbtool. Use it to make my account from the server side, but I can't see how to set the password. Go back and try au from a client, and now I can set my password.
- Notice I have no group. Use pdbtool to make a group with my name, program explodes with an assert failure. That's going to be a problem.
- Unpack a linux kernel on the client. It flew until arch/arm, not it is crawling along at about 1 file per second. No load on server, no load on client, no load on network, just glacial progress.
- Abandon Code!
Coda is badly documented, user hostile, and not robust.
I do not trust it.