From owner-freebsd-fs@FreeBSD.ORG Thu Apr 17 08:44:06 2008 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E21FC106566C for ; Thu, 17 Apr 2008 08:44:06 +0000 (UTC) (envelope-from bra@fsn.hu) Received: from people.fsn.hu (people.fsn.hu [195.228.252.137]) by mx1.freebsd.org (Postfix) with ESMTP id A06668FC15 for ; Thu, 17 Apr 2008 08:44:06 +0000 (UTC) (envelope-from bra@fsn.hu) Received: from [172.16.151.53] (fw.axelero.hu [195.228.243.120]) by people.fsn.hu (Postfix) with ESMTP id 9EC958BED9 for ; Thu, 17 Apr 2008 10:44:01 +0200 (CEST) Message-ID: <48070DCF.9090902@fsn.hu> Date: Thu, 17 Apr 2008 10:43:59 +0200 From: Attila Nagy User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: freebsd-fs@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Consistent inodes between distinct machines X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Apr 2008 08:44:07 -0000 Hello, I have several NFS servers, where the service must be available 0-24. The servers are mounted read only on the clients and I've solved the problem of maintaining consistent inodes between them by rsyncing an UFS image and mounting it via md on the NFS servers. The machines have a common IP address with CARP, so if one of them falls out, the other(s) can take over. This works nice, but rsyncing multi gigabyte files are becoming more and more annoying, so I've wondered whether it would be possible to get constant inodes between machines via alternative ways. The best would be to have a common subversion server and each machine could do updates from that to its own local UFS filesystem. The problem is that the inode allocation isn't predictable, even when starting with the same filesystem image on all machines. I see several arc4random calls in the following files: src/sys/ufs/ffs/ffs_alloc.c src/sys/ufs/ffs/ffs_vfsops.c but it seems that if I change them to a constant value, the issue is becoming better, but there are still differences between the two machines, when I do svn checkout on both of them. Doing a ktrace with the two svn co's it seems that it does exactly the same operations on the two machines. So my question is: is it possible to maintain consistent inodes across several machines somehow if I execute the same operations (at least that's what I think an svn co does) on all of them? Any other ways, which I could do to be able to switch between the NFS servers, without clients getting stale NFS filehandles? Thanks,