(Illustration by Gaich Muramatsu)
On Tue, Jul 15, 2003 at 09:59:06AM -0300, Deives Michellis wrote: > i need some help replicating coda fs... > > every time I change those files, my "slave" coda servers die with > exitcode 77 and there is this message on the logs: Which files? I'm guessing whenever your change /vice/db/VSGDB... > oot_at_Trinity:/vice/srv# cat SrvErr > Assertion failed: 0, file "vsg.cc", line 222 > EXITING! Bye! Had a hard time finding this in my source tree, as the whole file got removed somewhere between 5.3.20 and 6.0.x. Good thing there is CVS... This specific assertion triggers when you are trying to add a second volume storage group that has the same identifier as a group that was added previously. > Here is my VSGDB: > > root_at_Ragnarok:/vice/db# cat VSGDB > E0000100 Ragnarok > E0000100 Trinity > E0000100 Ragnarok Trinity Change this to, E0000100 Ragnarok E0000101 Trinity E0000102 Ragnarok Trinity > I've tried diferente IDs (such as E0000101 Trinity and E0000102 > Ragnarok Trinity), but the last ones didnt work. The volumes didnt > replicated. You specify the replication group when you create the volumes and this creates all the underlying replicas and other administrivia. Because you probably already have a couple volumes created with VSG E0000100 that are singly replicated on Ragnarok, you really can't just change which servers are a member of that group because the new server is missing the underlying replica and other information. Use different VSGid's for different replication groups and specifically create the volumes for a group however you want them replicated. With the above VSGDB the following command, createvol_rep coda:root_rep E0000102 Will create a new volume that has replicas on both ragnarok and trinity. Now if you want to use that volume as the volume that is mounted on /coda, you have to put that name in /vice/db/ROOTVOLUME and reinit your clients so that they correctly pick up the new root volume. > Has anybody made a replication-howto-for-n00bs, or could send me you > config files as an example? I would really appreciate that, as the > documentation provided on the website is for advanced users, not > newbies. I guess a lot of Coda isn't ready for newbies. There are too many configuration files to deal with and strange dependencies that will cause things to fail with incomprehensible errors (like the 'assert in vsg.cc:222' that you hit). But things are slowly getting better. The 6.0 servers have no internal dependency on the VSGDB information, and at some point we will be able to say, createvol coda:root server1 server2 ... And possibly, addreplica coda:root server3 removereplica coda:root server2 JanReceived on 2003-07-15 10:34:57