Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew...

21
Using the Andrew File System on *BSD [email protected] , BSDCan, 2006

Transcript of Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew...

Page 1: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Using the Andrew File System on *BSD

[email protected], BSDCan, 2006

Page 2: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

why another network filesystem

1-slide history of Andrew File System

user view

admin view

OpenAFS

Arla

AFS on OpenBSD, FreeBSD and NetBSD

Page 3: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Filesharing on the Internet

use FTP or link to HTTP

file interface through WebDAV

use insecure protocol over vpn

Page 4: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

History of AFS1984: developed at Carnegie Mellon

1989: TransArc Corperation

1994: over to IBM

1997: Arla, aimed at Linux and BSD

2000: IBM releases source

2000: foundation of OpenAFS

Page 5: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

User view <1>

global filesystem rooted at /afs

/afs/cern.ch/...

/afs/cmu.edu/...

/afs/gorlaeus.net/users/h/hugo/...

Page 6: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

User view <2>

authentication through Kerberos

#>kinit <username>

obtain krbtgt/<realm>@<realm>

#>afslog

obtain afs@<realm>

#>cd /afs/<cell>/users/<username>

Page 7: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

User view <3>

ACL (dir based) & Quota usage

runs on Windows, OS X, Linux, Solaris ... and *BSD

Page 8: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Admin view <1>

<cell>

<partition>

<partition>

<volume><server>

<server>

<volume>

Page 9: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Admin view <2>

gorlaeus.net

/vicepa

/vicepb

users

h

hugo

bram

fwncafs1

<server>

/afs/gorlaeus.net/users/h/hugo/presos/afs_slides.graffle

Page 10: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Admin view <2a>

gorlaeus.net

/vicepa

/vicepa

users

h

hugo

bram

fwncafs1

fwncafs2

/afs/gorlaeus.net/users/h/hugo/presos/afs_slides.graffle

Page 11: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Admin view <3>

servers require KeyFile ~= keytab

procedure differs for

Heimdal: ktutil copy

MIT: asetkey add

Page 12: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Admin view <4>

entry in CellServDB

>gorlaeus.net #my cell name

10.0.0.1 <dbserver host name>

required on servers

required on clients without DynRoot

Page 13: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Admin view <5>

File locking

no databases on AFS (requires byte range locking)

Backup

use acl aware tool e.g. afs-amanda

vos dump and your favorite tool

Page 14: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Alternatives

NFSv4

Coda, research only

WebDAV

Microsoft DFS, only tree view

Page 15: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Implementations

OpenAFS client

licensed as IBM OpenSource

running as port on OpenBSD 3.9

OpenAFS server

works on Open- Free- and NetBSD

Page 16: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Implementations

Arla

started development in 1997

aimed for Linux and *BSD

BSD license

Page 17: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Arla

user

kernel

vfs

/dev/nnpfs0

arlad

token

afs

>ls /afs/<cell>/<dir>

Page 18: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

OpenBSD

Arla 0.35 in base system since 3.4

Arla 0.42 working on 3.8 and 3.9

OpenAFS client in ports as of 3.9

Page 19: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

FreeBSD

Arla 0.42 working on 5.x

broken on 6.x due to vfs changes

Page 20: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

NetBSD

Arla 0.42 should work on 3.0

Page 21: Using the Andrew File System on *BSD · why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD.

Future

Arla: Fix vfs code for FreeBSD > 6.x

OpenBSD: upgrade to latest arla code?

FreeBSD: integrate Arla code in base?