(Illustration by Gaich Muramatsu)
On Tue, Nov 18, 2003 at 04:45:33PM -0300, Lucas wrote: > Thanks Jan, I already realized that... > But this is the error message on the client side (although server is > running properly and volume 'volumen' is created): > > # cfs mkm /coda/server1.domain.com/lucas volumen > /coda/server1.domain.com: No such file or directory Ehh, let's walk through the steps, Client receives request for server1.domain.com. Client resolves this to an ip-address. Client connects to Coda server at this address. Client asks which volume should be mounted as the root of the tree, server responds with 'volumen'. Client asks where the volume 'volumen' is located. Server responds with 'at this ip-address' (should be address of the server). Client connects to server that is hosting the volume, gets the top-level directory in the volume and mounts that as a directory at /coda/server1.domain.com If your client does not have a directory at server1.domain.com that means that something in this sequence went wrong. Now we don't really know what is wrong, but there should be enough clues to figure this out. - If "clog username_at_server1.domain.com" works, then the initial resolution is probably ok as we use the identical code to map the realm name to a (set of) ip-address(es). - If volume creation worked, the server is probably running, so the second step is most likely fine as well. - You could start 'codacon' in a separate console or xterm on the client before you start venus. It will show a lot of 'what venus is doing' stuff and should give a reasonable indication how far we're getting. example. I just started a clean client and did ls /coda/coda.cs.cmu.edu, this is what came up, $ codacon codacon: bind to localhost failed, venus not running? NewConnectFS marais.coda.cs.cmu.edu ( 15:36:36 ) NewConnection marais.coda.cs.cmu.edu ( 15:36:36 ) BackProbe marais.coda.cs.cmu.edu ( 15:36:36 ) GetRootVolume @coda.cs.cmu.edu ( 15:36:37 ) We just connected to one of the three Coda rootservers. And asked for the name of the rootvolume at coda.cs.cmu.edu. NewConnectFS verdi.coda.cs.cmu.edu ( 15:36:37 ) NewConnection verdi.coda.cs.cmu.edu ( 15:36:37 ) BackProbe verdi.coda.cs.cmu.edu ( 15:36:37 ) GetVolumeInfo vmm:root_at_coda.cs.cmu.edu ( 15:36:37 ) A connection to another rootserver is made and we get the 'volume replication information' for the rootvolume. This tells us things like how many replicas we have and what their identifiers are. The name of the rootvolume is 'vmm:root'. GetVolumeInfo 3338666117_at_coda.cs.cmu.edu ( 15:36:37 ) Getting information for one of the replicas, this information will contain things like which server (ip-address) will be hosting the replica. NewConnectFS mozart.coda.cs.cmu.edu ( 15:36:37 ) NewConnection mozart.coda.cs.cmu.edu ( 15:36:37 ) BackProbe mozart.coda.cs.cmu.edu ( 15:36:37 ) GetVolumeInfo 3372220546_at_coda.cs.cmu.edu ( 15:36:37 ) GetVolumeInfo 3707764869_at_coda.cs.cmu.edu ( 15:36:37 ) Getting information of the other two volume replicas. NewConnectFS marais.coda.cs.cmu.edu ( 15:36:37 ) BackProbe marais.coda.cs.cmu.edu ( 15:36:37 ) NewConnectFS verdi.coda.cs.cmu.edu ( 15:36:37 ) BackProbe verdi.coda.cs.cmu.edu ( 15:36:37 ) NewConnectFS mozart.coda.cs.cmu.edu ( 15:36:37 ) BackProbe mozart.coda.cs.cmu.edu ( 15:36:37 ) Set up connections to the 3 replicas. GetAttr coda.cs.cmu.edu ( 15:36:37 ) Fetch coda.cs.cmu.edu [2] ( 15:36:37 ) fetching (coda.cs.cmu.edu) 100% ( 15:36:37 ) Fetched the attributes and data of the top level directory. Now depending on how far your client is getting several things could be wrong. We're either getting the wrong rootvolume name and the server doesn't know anything about which replicas are available. Or the server doesn't really know it's own IP-address is and gives wrong information when we ask it about the location of the volume replica. This often happens when /etc/hosts contains an entry similar to '127.0.0.1 server1.domain.com' and as a result the server thinks it's ip-address is 127.0.0.1. However when the client sees this it will try to connect over the loopback interface to a server that is ofcourse not running on the client. There is also a command called 'getvolinfo' (installed on the server) this contains the 'get volume location information' code and can be used to check if it makes any sense. # getvolinfo verdi.coda.cs.cmu.edu vmm:root RPC2 connection to verdi.coda.cs.cmu.edu:2432 successful. Returned volume information for vmm:root VolumeId 7f00049a Replicated volume (type 3) ... ServerCount 3 Replica0 id c7000085, Server0 128.2.191.192 Replica1 id c9000082, Server1 128.2.209.199 Replica2 id dd000085, Server2 128.2.222.111 JanReceived on 2003-11-18 15:56:22