[OpenAFS] largefile support question - resolved

Tony D'Amato tdamato@odu.edu
Thu, 04 Nov 2004 13:14:03 -0500


> From: "Tony D'Amato" <tdamato@odu.edu>
> To: openafs-info@openafs.org
> Date: Thu, 14 Oct 2004 16:53:46 -0400
> Subject: [OpenAFS] largefile support question
> 
> I'm sure that this may have been answered, but I've been googling for
> several minutes trying to find the status of the largefile support in
> the OpenAFS server (we're keen to have this, and so I'm running 1.3.70
> on our RedHat Linux 9 w/ patches servers, upgraded from 1.2.11.)
> 
> I checked the Wiki here, but the information looks a little old:
> 
> http://grand.central.org/twiki/bin/view/AFSLore/LargeFiles
> 
> I also checked Bug number 1493 ("beginning resurrection of largefile
> support") on the Central.org RT server below:
> 
> http://rt.central.org/rt/Ticket/Display.html?id=1493
> 
> Now, my question is this... what would be the process from moving a file
> server from non-largefile to largefile support? We've got enough disk
> space on three servers that moving volumes around would not be a problem
> (inconvenient, but not a problem *grin*)
> 

Well, here I am answering my own question *grin*

I broke down and bit the bullet to install Large file support on our
OpenAFS servers. Here's what I did and my results:

1) I build OpenAFS 1.3.73 using my own RPMs (originally based on Derek
Atkins's RH8 RPMS for 1.2.11 and my changes for 1.3.70), making the
following changes to the RPMs:

--- openafs-1.3.70.spec 2004-08-17 10:28:18.000000000 -0400
+++ openafs-1.3.73.spec 2004-10-18 14:29:24.000000000 -0400
@@ -1,5 +1,5 @@
-%define afsvers 1.3.70
-%define pkgrel 1odu8
+%define afsvers 1.3.73
+%define pkgrel 1odu9

 # Define your particular Red Hat and kernel versions:
 #      For Linux 2.4:  24
@@ -26,6 +26,10 @@
 # not remove the installed tree as part of the %clean operation
 %define debugspec 0

+# Set 'largefilesupport' to 1 if you want to build the
+# largefile version of the fileserver and utilities
+%define largefilesupport 1
+
 # Set 'enterprisekernelsupport' to 1 if you want to build the
 # kernel module for the enterprise kernel
 # Note: This will only work for kernvers == 24 on i686
@@ -66,7 +70,11 @@
 Summary: OpenAFS distributed filesystem
 Name: openafs
 Version: %{afsvers}
+%if %{largefilesupport}
+Release: %{osvers}.%{pkgrel}.LFS
+%else
 Release: %{osvers}.%{pkgrel}
+%endif
 Copyright: IPL
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
 Packager: Derek Atkins <warlord@MIT.EDU>
@@ -445,6 +453,9 @@
 %if %{enable_fast_restart}
        --enable-fast-restart \
 %endif
+%if %{largefilesupport}
+       --enable-largefile-fileserver \
+%endif
        --enable-transarc-paths"

 # Configure AFS
----end----

The main change was to add the switch '--enable-largefile-fileserver' to
the compile. I then built the binaries with rpmbuild -ba.

2) During a maintenance window, on one server at a time, I brought down
AFS services, installed the new LFS RPMs with 'rpm -Fvh', brought AFS
services back online, while making sure there were no errors
in /usr/afs/logs. Based on some hints in the Wiki, I then forced a
salvage on all of the volumes on the upgraded server. I repeated this
process until all of our servers were upgraded. During this process, one
or two of the remaining servers would not sync back up with the upgraded
server until I rebooted it.

3) I then ran an initial test - I created a 10 GIG tarball on non-AFS
space, copied it into AFS space, and then issued a 'tar tvf' on it. This
was successful! (The reason I chose this test was when we were running
1.2.11 on clients/servers, I had attempted to store the same 10 GIG
tarball in AFS space, and got lots of errors, both on the client side
and on the server side.)

So far, we've been running with this configuration for about just under
a month, and all is running well.

I hope this information helps others who may be contemplating large file
support under OpenAFS. Thanks!!

-- 
Tony.

He that would make his own liberty secure must guard even his enemy 
from oppression; for if he violates this duty he establishes a precedent
that will reach to himself. --Thomas Paine