[OpenAFS-devel] Re: Re: [GSoC2010] the kafs project of OpenAFS

Wang Lei wang840925@gmail.com
Fri, 9 Apr 2010 02:23:59 +0800


2010/4/9  <openafs-devel-request@openafs.org>:
> Send OpenAFS-devel mailing list submissions to
> =C2=A0 =C2=A0 =C2=A0 =C2=A0openafs-devel@openafs.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> =C2=A0 =C2=A0 =C2=A0 =C2=A0https://lists.openafs.org/mailman/listinfo/ope=
nafs-devel
> or, via email, send a message with subject or body 'help' to
> =C2=A0 =C2=A0 =C2=A0 =C2=A0openafs-devel-request@openafs.org
> Message: 2
> Date: Thu, 08 Apr 2010 10:56:49 -0400
> From: Dale Pontius <pontius@btv.ibm.com>
> To: openafs-devel@openafs.org
> Subject: Re: [OpenAFS-devel] [GSoC2010] the kafs project of OpenAFS
>
> I work for a large multinational, and my CellServDB file, for lack of a
> better word - big. =C2=A0Dozens of cells and well over 100 cell (not file=
)
> servers. =C2=A0Can you describe a little better how the AFSDB records can=
 be
> used to build a dynamic CellServDB structure, especially without picking
> up all of the non-Company afs cell servers from public dns?

I know that, clients could get the cell's location from a DNS server. For c=
ell
www.openafs.org, I could get this cell's location with the dns query

$dig www.openafs.org afsdb
;; QUESTION SECTION:
;www.openafs.org.               IN      AFSDB

;; ANSWER SECTION:
www.openafs.org.        3596    IN      CNAME   openafs.org.
openafs.org.            3600    IN      AFSDB   1 andrew.e.kth.se.
openafs.org.            3600    IN      AFSDB   1 grand-opening.mit.edu.
openafs.org.            3600    IN      AFSDB   1 penn.central.org.

this format is described in RFC1183

  AFSDB has the following format:
   <owner> <ttl> <class> AFSDB <subtype> <hostname>
The owner is the name of the AFS cell, followed by a trailing dot.
The <hostname> field is a domain name of a host that has a server for
the cell named by the owner name of the RR.
A subtype, the value of which is a 16 bit integer. A subtype equal to
'1' indicates a host with an AFS v3.0 Volume Location Server.
The target is the FQDN (not an alias!) of the host providing the
service, followed by a trailing dot.

As OpenAFS documentation:
If the client attempts to access an AFS cell not listed in CellServDB and a=
fsd
 was started with the -afsdb option, the Cache Manager will attempt an AFSD=
B
DNS record lookup and dynamically add the database server locations
for that cell
based on the result of the DNS query.

But The CellServDB must exist however, even if it is empty. The cell
name is needed,
and OpenAFS will use DNS to find the servers. I have no idea about
that how to optimize it if
there are too many cells. I am not very clear about how to add the
afsdb record to DNS.
Maybe you should add it with yourself. I thought you could find that
in the OpenAFS documentation.

> Most would favor pushing as much into userspace as can be done well
> there. =C2=A0Keep in the kernel only what needs to be in the kernel.

Thank you, I think I would.
> I like the idea of using kafs - really I'd just as soon use kafs with
> the OpenAFS userspace. =C2=A0Nouveau is getting to the point of being usa=
ble,
> removing the nVidia kernel taint. =C2=A0Only the OpenAFS kernel taint is
> left, and kafs would get rid of that.
>
> Thanks,
>
> --
> Dale Pontius
> Senior Engineer
> IBM Corporation
> Phone: (802) 769-6850
> Tie-Line: 446-6850
> email: pontius@us.ibm.com
>

Thank you for your advice.

--=20
Best Wish.

Wang Lei