OpenAFS Status - PowerPoint PPT Presentation

About This Presentation
Title:

OpenAFS Status

Description:

Client tracking turns out to be hard when clients lie (unbeknownst to ... OpenAFS Status. If your cell phone rang, you owe me a beer. Oh wait, the beer's free. ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 35
Provided by: workshop
Category:

less

Transcript and Presenter's Notes

Title: OpenAFS Status


1
OpenAFS Status
  • new year, new challenges
  • Derrick Brashear
  • The OpenAFS Project
  • 3 June 2009

2
First things first
  • If were going to have a live debug session, we
    need to know what to debug.
  • Because after all, OpenAFS is bug-free, right?

3
This all sounds familiar
  • New stable release coming. (1.4.11)
  • New development releases continue apace. (1.5.60,
    1.5.61 soon)

4
Recently resolved issues
  • A race in the namei fileservers background sync
    support, ih_sync_all.
  • Could cause volumes to go offline during a
    release until salvage.
  • Linux post-2.6.29 keyring-to-group PAG copying
    Oops issue.
  • Fileserver host tracking/hashing (again).
  • Most Linux mmap-close-write corruption cases
    fixed.()
  • Linux byte range (client-only) locking now works!

5
In the past year
  • OpenAFS 1.4.8 shipped with a large number of
    fixes to Rx packet tracking.
  • Double-frees
  • Races

6
New in 1.4.10
  • Security fixes (sigh)
  • Rx in-use packet freeing fix.
  • Fix for Rx idleness tracking.
  • Corrections for ubik database recovery process.

7
New in 1.4.10
  • Multiple (more than 2) local realms.
  • Requires username space to be the same. (shadow
    in any realm is the same person)
  • List realms one per line in /usr/afs/etc/krb.conf
    or equivalent.

8
1.4.10 open issues
  • Panic in Linux VFS layer (infrequent).
  • Page mapping with close followed by write on
    Linux can lose data where file cache.
  • Fileserver host list can be corrupted.

9
New in 1.5.60
  • A fix for the ih_sync_all bug.
  • Hartmut pointed us the right way here.
  • Retry in the event of volserver transaction
    creation.
  • Based on Rainer Toebbickes patch.
  • Dragonfly BSD userland support.
  • Contributed by Matt Benjamin.
  • Cache type abstraction.
  • Thanks to Marc Dionne and Simon Wilkinson

10
1.5.60 open issues
  • Demand Attach Fileserver bugs (more on that
    later)
  • Otherwise, same issues as 1.4.10.

11
Unix platform round-up
  • AIX 5 and 6
  • FreeBSD 7 and current
  • HP-UX 11.0, 11i v1 and v2
  • Irix 6.5
  • Linux 2.2, 2.4, 2.6 (ia32, ia64, x86_64, ppc,
    ppc64, arm, sparc, sparc64)
  • MacOS 10.3, 10.4, 10.5.
  • OpenBSD 4.4, 4.5.
  • Solaris 2.6, 7, 8, 9, 10, 11 (and OpenSolaris)

12
MacOS X
  • Most of the issues with 10.4 were resolved for
    10.5 with help from Apple.
  • However, getting tokens at login is (now) hard.
  • AFSCommander tool available, integration coming.
  • Sadly, no kexts on the iPhone (It IS just OSX).

13
Linux
  • iget() is dead.
  • Cache manager opens files by path, as in OSX, to
    deal.
  • Cache type abstraction.
  • Changes to avoid deadlocks due to VM system page
    writeback.
  • Dynamic sizing for AFS client vnode pool.

14
AIX
  • A LAM plugin for Kerberos 5 based aklog is
    available and works with CDE Screenlock.
  • The client properly supports AFSDB.
  • AIX 6 support was contributed by Niklas
    Edmundsson.
  • AIX 5.1 will properly support PAGs again in
    1.4.11, 1.5.61

15
BSD
  • Previous work on FreeBSD had always stumbled on
    locking issues.
  • Matt Benjamin revisited, fixed, and updated the
    previous work. He found the locking issues still
    lurked.
  • Further work on OpenBSD and NetBSD has also been
    done but clients are not as ready.

16
Clients
  • Actually not much exciting on clients.
  • Numerous interaction issues with GUI environments
    have been addressed.
  • Notable exception Finder (more later)
  • Far fewer resources are leaked during client
    operation. Were not perfect yet.
  • No more gratuitous token disappearance.

17
Fileservers
  • The salvager wont corrupt directories anymore on
    64 bit hosts thanks to good sleuthing by Rainer
    Toebbicke.
  • Your larger-than-2tb partitions are now good to
    go.
  • Old vos clients may report odd numbers for
    empty partitions.

18
Playing nicely with other children
  • Quotas enforced on TellMeAboutYourself /WhoAreYou
    calls to clients will preclude resource hogging.
  • No more assert()s when a volume is found in an
    unexpected state.
  • The server will never keep clients waiting
    forever for an answer (nor is the client that
    patient anymore) starting with 1.4.8.

19
And who were you, again?
  • Client tracking turns out to be hard when clients
    lie (unbeknownst to themselves).
  • Just because an address is reused does not mean
    its the same client.
  • The fileserver will work even harder to take
    client address information with a lump of salt.

20
Things to test in 1.5
  • Cache bypass (Linux-only, new since 1.5.53)
  • Support for additional platforms is also needed.
  • Split cache (dedicated portion for read-write
    data).
  • Early versions of this had corruption issues
    likely related to writedcache-enforce-xdcache-writ
    elock-20071208 thanks to Stephan Weisand for
    working with me on that (for quite a while).

21
Features galore
  • Linux NFS translator still not globally
    suportable.
  • GPL-only changes recently break it.
  • Mountpointless volume addressing
    (/afs/.mount/cellvolumeid/) is available.
  • Originally done for the Linux NFS translator.
  • An extension allows any vnode to be used.
    (/afs/.mountcellvolumeidvnodeidu
    niquifier/)

22
But now how much would you pay?
  • Read-write disconnected AFS support.
  • Cache read-ahead. (Configurable window size,
    defaults to off)
  • Tunable with fs precache.
  • And...

23
Demand Attach Fileserver
  • Known issues
  • Volume headers for non-existent data on disk can
    remain in memory in a way that does not allow
    them to be purged.
  • Several outstanding bugs in RT.
  • Please share other issues if you have them!

24
A common theme
  • Were (always) looking for volunteers.
  • Sometimes we are better about asking than others.
  • Today I will reiterate please help us test 1.5
    (especially DAFS and Disconnected AFS)

25
Pending integration
  • Rx K5
  • Being revised to match current build trees.
  • Rx OSD.
  • Being committed in manageable chunks.
  • Testing now possible!

26
More pending work
  • Extended callback messages to optimize away
    unneeded traffic.
  • Both change ranges when data is stored, and
    metadata bundling when other things cause the
    callback.
  • Also possible to get finer-than-whole-volume
    notifications on releases.

27
Near term undertakings
  • Locking enhancements for Unix clients.
  • A fix for the MacOS Finder cross-volume drag
    issue.
  • A userspace helper and the ad-hoc reference any
    vnode semantics make this simple to solve.

28
And on the horizon
  • Multiple volume snapshots.
  • RxTCP.
  • Directory object changes (Unicode, typed streams,
    more files, better hashing).
  • Full Kerberos 5 support.

29
On version control
  • git is coming.
  • It should be much easier to track upstream as we
    work with you on integrating your changes.
  • And it should be easier for us to merge them,
    too.
  • More about this will be discussed.

30
Fresh blood
  • Google Summer of Code accepted us again.
  • Summaries available on the OpenAFS website.
  • More in a moment.
  • The UIUC Capstone project still working with us.
  • Their target project is an improved Windows
    Server Manager application.

31
Google Summer of Code
  • Windows MMC management snapin, Brant Gurganus.
  • Improved OpenAFS server selection, Jake
    Thebault-Spieker.
  • OpenAFS features in the Linux kAFS client, Wang
    Lei.

32
Google Summer of Code
  • Last years projects offered varying success.
  • Write support for disconnected AFS.
  • kAFS pioctl support.
  • Read-write replication.
  • Per-file ACL support.

33
In other news
  • More during the roadmap discussion.
  • Oh yeah, got anything for us to debug?

34
OpenAFS StatusIf your cell phone rang, you owe
me a beer.Oh wait, the beers free.
Write a Comment
User Comments (0)
About PowerShow.com