From owner-freebsd-questions@FreeBSD.ORG Fri Sep 9 18:59:36 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8BDF16A420; Fri, 9 Sep 2005 18:59:36 +0000 (GMT) (envelope-from djh@nebcorp.com) Received: from ratchet.nebcorp.com (ratchet.nebcorp.com [205.217.153.72]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4599943D49; Fri, 9 Sep 2005 18:59:36 +0000 (GMT) (envelope-from djh@nebcorp.com) Received: by ratchet.nebcorp.com (Postfix, from userid 1014) id A7AA8D9834; Fri, 9 Sep 2005 11:59:35 -0700 (PDT) Date: Fri, 9 Sep 2005 11:59:35 -0700 From: Danny Howard To: freebsd-questions@freebsd.org Message-ID: <20050909185935.GI31865@ratchet.nebcorp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i X-Loop: djhoward@uiuc.edu Cc: freebsd-scsi@freebsd.org Subject: Fibre Channel disks to two Systems? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Sep 2005 18:59:37 -0000 [NOTE: If posting followup, please mind the cross-post to -questions and -scsi.] Hello, We host our PostgreSQL database on FreeBSD. Until now, we have just built the beefiest DB server we can spec, and then dump the data every thirty minutes to a backup DB server, so if the primary DB server fails, we load the database on the backup and fail over to the backup server. But I'd rather offload the disk to an external storage device, then I can have two identical DB servers, and if one fails, I swap the disks over to the other DB server, mount the filesystem, possibly run data consistency checks, and proceed from there. >From my research, I am thus far most impressed with the SANbloc 2Gb, which holds fourteen FC drives in a 3U rackmount. It can be had with redundant RAID controllers, or as a JBOD. There are similar products from other vendors as well. I could concievably do the RAID in software by running a gstripe across a set of gmirrors. As I understand it, I can have an FC loop with one or more drives, connected to two servers, and either server can talk to one or the other drives exclusively. My QUESTION is: how is the arbitration done in FreeBSD? You run camcontrol on either server and activate / deactivate drives in the loop? What happens if say, the primary server locks up in some weird manner? Can it block the backup server from talking to the drives? (We can always have a NOC tech turn off a badly failed primary database, and power-cycle the disk array, if needed ...) A really far-out idea I had was that with fourteen drive bays I could have two hot spares, and then set up a stripe across four mirrored pairs (4x2 = 8-disk RAID10) and then with the remaining four drives assign each to be a third component of the gmirrored pairs, let the gmirrors sync up, then detach those drives from the gmirrors, mount them on the backup database, gstripe those containers together, and have a point-in-time "snapshot" of the drive array that could be mounted on the backup server, from which I could run database dumps, or conduct failover tests, etc. (I could kick this around -geom. :) Uhmmm, has anyone done similar? Suggestions? Feedback? Advice? Or, should I try to get a NetApp, or similar device, even though FreeBSD does not support iSCSI, because NFS performance over GigE may still beat FC? Also, does anyone have a FreeBSD-friendly storage systems integrator or other vendor they can reccomend, particularly one near the San Francisco area? I keep contacting various vendors who then fail to get back to me. :( Thanks for all feedback and suggestions! Sincerely, -danny -- http://dannyman.toldme.com/