Adding second drive to ZFS mirror - FreeBSD, atacontrol, gptid and documentation

dweimer dweimer at dweimer.net
Tue Apr 8 19:33:06 UTC 2014


On 04/08/2014 2:04 pm, Frank Leonhardt wrote:
> Background: I ordered two identical drives with a view to installing
> FreeBSD 10 on a ZFS mirror. One drive was DOA so I sent it back and
> pressed on. It was replaced with an identical drive. Now I come to
> creating a mirrored ZFS root post-install.
> 
> The new drive is there and appears in the gptid directory (I think). I 
> have:
> 
> # ls -l /dev/gptid
> crw-r-----  1 root  operator  0x5d Mar 20 11:24
> b20a8b87-9419-11e3-9063-001fc6b111fc
> crw-r-----  1 root  operator  0x61 Mar 18 16:50
> b251371d-9419-11e3-9063-001fc6b111fc
> 
> I'm a little hazy about how I tie this up. I definitely have
> /dev/ad4p? and /dev/ad6 when I look.
> 
> But this get's weird. atacontrol is missing - we're supposed to use
> camcontrol now, right? Okay, it's implied as being there in the
> release notes, but there's no man page for it and camcontrol produces:
> 
> # camcontrol devlist
> <WDC WD10EFRX-68JCSN0 01.01A01>    at scbus0 target 0 lun 0 
> (ada0,pass0)
> <WDC WD10EFRX-68PJCN0 01.01A01>    at scbus1 target 0 lun 0 
> (ada1,pass1)
> <Generic 2.0 Reader    -0 1.00>    at scbus5 target 0 lun 0 (da0,pass2)
> <Generic 2.0 Reader    -1 1.00>    at scbus5 target 0 lun 1 (da1,pass3)
> <Generic 2.0 Reader    -2 1.00>    at scbus5 target 0 lun 2 (da2,pass4)
> 
> The top two are my babies, and they appear in /dev too. (I am certain
> there are NO SCSI or USB drives on this box):
> 
> crw-r-----  1 root  operator  0x51 Mar 18 16:50 /dev/ada0
> crw-r-----  1 root  operator  0x53 Mar 20 11:24 /dev/ada0p1
> crw-r-----  1 root  operator  0x55 Mar 18 16:50 /dev/ada0p2
> crw-r-----  1 root  operator  0x57 Mar 18 16:50 /dev/ada0p3
> crw-r-----  1 root  operator  0x5a Mar 18 16:50 /dev/ada1
> 
> What's going on? I just ran with it and tried to add the second drive
> as a mirror using the instructions for Solaris published by Oracle:
> 
> # zpool attach zroot gptid/b251371d-9419-11e3-9063-001fc6b111fc
> gptid/b20a8b87-9419-11e3-9063-001fc6b111fc
> 
> And for my trouble I got:
> 
> cannot attach gptid/b20a8b87-9419-11e3-9063-001fc6b111fc to
> gptid/b251371d-9419-11e3-9063-001fc6b111fc: device is too small
> 
> For completeness:
> 
> # zpool status
> 
>   pool: zroot
>  state: ONLINE
>   scan: none requested
> config:
> 
>         NAME                                          STATE     READ 
> WRITE CKSUM
>         zroot                                         ONLINE 0     0    
>  0
>           gptid/b251371d-9419-11e3-9063-001fc6b111fc  ONLINE 0     0    
>  0
> 
> 
> Does anyone understand this? Am I doing something wrong? The FreeBSD
> installer slices up the drive whereas Solaris doesn't (AFAIK) and this
> may relevant. In case the new drive, although theoretically identical,
> was actually "too small" as per the error message I checked:
> 
> Old Drive:
> 
> Model Family:     Western Digital Red (AF)
> Device Model:     WDC WD10EFRX-68JCSN0
> Serial Number:    WD-WCC1U4956043
> LU WWN Device Id: 5 0014ee 2b3cb08f1
> Firmware Version: 01.01A01
> User Capacity:    1,000,204,886,016 bytes [1.00 TB]
> Sector Sizes:     512 bytes logical, 4096 bytes physical
> Device is:        In smartctl database [for details use: -P show]
> ATA Version is:   ATA8-ACS (minor revision not indicated)
> SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
> 
> New Drive:
> 
> Model Family:     Western Digital Red (AF)
> Device Model:     WDC WD10EFRX-68PJCN0
> Serial Number:    WD-WCC4J1746659
> LU WWN Device Id: 5 0014ee 25ef68b37
> Firmware Version: 01.01A01
> User Capacity:    1,000,204,886,016 bytes [1.00 TB]
> Sector Sizes:     512 bytes logical, 4096 bytes physical
> Rotation Rate:    5400 rpm
> Device is:        In smartctl database [for details use: -P show]
> ATA Version is:   ACS-2 (minor revision not indicated)
> SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
> 
> As I said, identical. I've obviously guessed the runes incorrectly. 
> Help!
> 
> Thanks, Frank.
> 
> 
> 
> 
> 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"

what is the output from "gpart show"?  I am guessing with three 
partitions that you have a boot, swap, and then zfs partition.  You will 
need to duplicate the setup on the second drive, write the bootcode to 
the correct partition, use geom mirror to mirror the swap and then add 
the last partition to mirror.  It shouldn't have been too small, but if 
you were trying to add /dev/ada1p3 to the zfs mirror the fact that the 
new disk doesn't have the gpart table setup and doesn't have a partition 
3 may have given a bogus error message.

-- 
Thanks,
    Dean E. Weimer
    http://www.dweimer.net/


More information about the freebsd-questions mailing list