ZFS-inly server and dedicated ZIL

Lawrence K. Chen, P.Eng. lkchen at ksu.edu
Wed Apr 10 21:39:27 UTC 2013


The root pool only having one root vdev is probably a restriction on what functionality could be put into the bootblock.

But, can't really tell what it is you're trying to do...

You say raid10-like ZFS with two SSDs....which to me means you have at least 4 physical drives, and 2 SSDs.

zpool create tank mirror disk1 disk2 mirror disk3 disk4 .... log ... cache ....

perhaps as: .... log mirror ssd1a ssd2a cache ssd1b ssd2b

tank is load-balancing onto sets of mirrors, with a mirror of the first partition of the two ssds for ZIL and using the second partition of the two ssds concurrently for cache.

So, in this case....tank can't be used as a root pool.  an Internal USB stick as your root pool would be one way to go.  or you could carve out another partition on the SSDs for a root pool.

On my home system, I currently have a pair of SSDs....each with 7 partitions.... 5 tiny ones for mirror ZILs for the other zpools in my system, the mirrored root pool and partitions to be L2ARC for the two zpools in my system that I'm using dedup in.  (there's currently only 4 zpools in my system, including the root....but I had originally envisioned the possibility of adding additional external jbod arrays....)

I used to have 6 disk raid10-like with part of an external SSD for its zil...and no cache.  It has since been redone as a raidz2 with mirrored zil (from the internal SSDs)....planning to add another SSD soon.

----- Original Message -----
> Dear colleagues,
> 
> I'm planning to make new PostgreSQL server using zaid10-like ZFS with
> two SSDs
> splitted into mirrored ZIL and striped arc2. However, it seems
> current
> ZFS implementation does not support this:
> 
> ./lib/libzfs/common/libzfs_pool.c-		case EDOM:
> ./lib/libzfs/common/libzfs_pool.c-			zfs_error_aux(hdl,
> dgettext(TEXT_DOMAIN,
> ./lib/libzfs/common/libzfs_pool.c:			    "root pool can not have
> multiple vdevs"
> ./lib/libzfs/common/libzfs_pool.c-			    " or separate logs"));
> ./lib/libzfs/common/libzfs_pool.c-			(void) zfs_error(hdl,
> EZFS_POOL_NOTSUP, msg);
> 
> Am I right, or did I missed something obvious?
> 
> Ok, if so: In this situation, I see two possibilities:
> - make system boot from internal USB stick (only /bootdisk with /boot
> and
> /rescue) with the rest of ZFS-on-root
> - use dedicated pair of disks for ZFS pool without ZIL for system.
> 
> what would you recommend?
> 
> Thanks!
> 
> --
> Sincerely,
> D.Marck                                     [DM5020, MCK-RIPE,
> DM3-RIPN]
> [ FreeBSD committer:
>                                 marck at FreeBSD.org ]
> ------------------------------------------------------------------------
> *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru
> ***


More information about the freebsd-fs mailing list