Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 May 2014 09:27:29 -0500
From:      Eric van Gyzen <eric@vangyzen.net>
To:        Nicolas Haller <nicolas@boiteameuh.org>, <freebsd-stable@freebsd.org>
Subject:   Re: gmirror + ZFS issues
Message-ID:  <53762051.30807@vangyzen.net>
In-Reply-To: <53761E51.9060908@boiteameuh.org>
References:  <5376115D.5050704@boiteameuh.org> <53761477.70205@denninger.net> <53761E51.9060908@boiteameuh.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 05/16/2014 09:18, Nicolas Haller wrote:
> On 16/05/2014 09:36, Karl Denninger wrote:
>>
>> On 5/16/2014 8:23 AM, Nicolas Haller wrote:
>>> Hello,
>>>
>>> I've got a new server and I installed FreeBSD 10 on it. I have a
>>> problem to create a new zfs pool. The command stalls on IO wait (D
>>> state / zio->io_cv).
>>>
>>> The device for the pool is a 1.7T partition (index 4) of a gmirror
>>> device.
>> Why?
>>
>> ZFS provides its own mirroring and it is superior, as it checksums each
>> block and thus does not rely on the drive returning an error to detect
>> problems.  It can also rewrite a bad block (assuming the problem is
>> transient) and scrub also relies on independent components.
>>
>> You're destroying the data integrity advantage that ZFS gives you by
>> using a gmirror under it.  Stop doing that and see if your problem
>> disappears.
>>
>> (In other words it sounds like the problem is real but you shouldn't be
>> doing that anyway, so it also shouldn't bite you.)
>>
>
> Yes you're right but I have two disks on this server which host my
> non-zfs root fs. The first 98G partition you show on "gpart show"
> output is my UFS root fs and I want it mirrored.
>
> As I'm not sure it's a good idea to mix gmirror and ZFS mirror on the
> same drives (What do you think about this?), I let gmirror handle the
> mirror thing.

I use gmirror for swap and a ZFS mirror for all file systems.  It works
quite well.  I suspect it would work equally well for your setup.

Eric


$ gpart show
=>       34  488281183  ada0  GPT  (232G)
         34          6        - free -  (3.0k)
         40        256     1  freebsd-boot  (128k)
        296   31457280     2  freebsd-swap  (15G)
   31457576  456823640     3  freebsd-zfs  (217G)
  488281216          1        - free -  (512B)

=>       34  488281183  ada1  GPT  (232G)
         34          6        - free -  (3.0k)
         40        256     1  freebsd-boot  (128k)
        296   31457280     2  freebsd-swap  (15G)
   31457576  456823640     3  freebsd-zfs  (217G)
  488281216          1        - free -  (512B)


$ gmirror status
       Name    Status  Components
mirror/swap  COMPLETE  gpt/swap1 (ACTIVE)
                       gpt/swap2 (ACTIVE)


$ zpool status
  pool: root1
 state: ONLINE
  scan: scrub repaired 0 in 0h42m with 0 errors on Mon Mar 10 12:18:11 2014
config:

    NAME           STATE     READ WRITE CKSUM
    root1          ONLINE       0     0     0
      mirror-0     ONLINE       0     0     0
        gpt/root1  ONLINE       0     0     0
        gpt/root2  ONLINE       0     0     0




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53762051.30807>