From owner-freebsd-doc@FreeBSD.ORG Tue Aug 26 04:06:29 2008 Return-Path: Delivered-To: freebsd-doc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5737B1065678 for ; Tue, 26 Aug 2008 04:06:29 +0000 (UTC) (envelope-from prvs=01172986d7=johnl@taugh.com) Received: from gal.iecc.com (gal.iecc.com [208.31.42.53]) by mx1.freebsd.org (Postfix) with ESMTP id DF4528FC21 for ; Tue, 26 Aug 2008 04:06:28 +0000 (UTC) (envelope-from prvs=01172986d7=johnl@taugh.com) Received: (qmail 56009 invoked from network); 26 Aug 2008 03:34:26 -0000 Received: from simone.iecc.com (208.31.42.140) by mail1.iecc.com with QMQP; 26 Aug 2008 03:34:26 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 26 Aug 2008 03:39:46 -0000 Date: Mon, 25 Aug 2008 23:39:46 -0400 (EDT) From: John R Levine To: freebsd-doc@freebsd.org Message-ID: User-Agent: Alpine 1.10 (BSF 962 2008-03-14) Cleverness: None detected MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Subject: Update to section 19.4 on disk mirroring X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2008 04:06:29 -0000 I just added an extra disk to a BSD server to mirror the existing one, and looked at section 19.4 on GEOM mirroring. While the advice it gives on setting up bootable gmirror disks isn't wrong, it's seriously suboptimal since it involves a needless full copy of a disk, which takes hours rather than five minutes if you do it the easy way. I dunno what the etiquette is for updating the handbook, but I'd be happy to redo this part to say, roughly: It's straightforward to convert any bootable FreeBSD disk to a gmirror mirror if you have a second disk of the same size. Call the existing disk ad0 and the new second disk ad2. First, use fdisk to set the slices on the second disk identically to the first disk, using fdisk -p to dump the slice config of ad0 and fdisk -f to apply that config to ad2. Put geom_mirror_load="YES" into /boot/loader.conf to ensure that gmirror is loaded at boot time, or build and install a new kernel with options GEOM_MIRROR. You can't do GEOM work when any of the file systems are mounted, so reboot from a live FS CD. Create the mirror, initially with the single existing disk: # gmirror label -v gm0 ad0 You should see a kernel message confirming the creation of the mirror, and a listing /dev/mirror should show an entry corresponding to each partition on the disk, e.g., for /dev/ad0s1a now there's /dev/mirror/gm0s1a You need to change fstab to refer to the mirrored file systems. Mount your root fs on /mnt so you can edit it: # mount /dev/mirror/gm0s1a /mnt Edit /mnt/etc/fstab, changing each entry including the swap file appropriately, e.g. /dev/ad0s1a to /dev/mirror/gm0s1a. Unmount /mnt, reboot from the disk. It should come up and mount all the /dev/mirror file systems, running as before except for the filesytem names. Now add the new second disk to the mirror: # gmirror insert gm0 ad2 Use gmirror status to see it copying the data from ad0 to ad2 in in the background. You can use your system while it does this. Regards, John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY "I dropped the toothpaste", said Tom, crestfallenly.