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 [EMAIL PROTECTED]" 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:[EMAIL PROTECTED] ( 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 [EMAIL PROTECTED] ( 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 [EMAIL PROTECTED] ( 15:36:37 )
GetVolumeInfo [EMAIL PROTECTED] ( 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
Jan