gmirror + ZFS issues
Eric van Gyzen
eric at vangyzen.net
Fri May 16 14:28:38 UTC 2014
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
More information about the freebsd-stable
mailing list