@
nixgeek, I am assuming that we are not talking legacy Solaris, but Oracle Solaris 11.2 (Solaris for short).
There are multiple issues that might create confusion when one is comparing ZFS in Solaris to ZFS in FreeNAS (FreeBSD).
ZFS in Solaris and FreeBSD gets deployed on SPARC and x86 platforms. However, as far as I know, any SPARC hardware that can be used to run FreeBSD 10.2 is not capable of running Oracle Solaris 11.2. Thus direct comparisons on SPARC platform are difficult.
On x86 platform, ZFS can be used to create a root pool. And yes, there is a difference, Solaris allocates the swap space and dump space inside the root pool. FreeBSD places swap on a separate partition. Swap has to go somewhere...
Beyond that, I cannot see fundamental differences. Let's see how a disk that is not a part of root pool looks like in Solaris.
Code:
Current partition table (original):
Total disk sectors available: 143358287 + 16384 (reserved sectors)
Part Tag Flag First Sector Size Last Sector
0 usr wm 256 68.36GB 143358320
1 unassigned wm 0 0 0
2 unassigned wm 0 0 0
3 unassigned wm 0 0 0
4 unassigned wm 0 0 0
5 unassigned wm 0 0 0
6 unassigned wm 0 0 0
8 reserved wm 143358321 8.00MB 143374704
The above is from
Using Disks in a ZFS Storage Pool in
http://docs.oracle.com/cd/E36784_01/html/E36835/gazdp.html . As you can see, the ZFS area neither starts at sector 0 nor ends at the last sector. And by comparison from my FreeNAS
Code:
[root@freenas /]# gpart show ada2
=> 34 7814037101 ada2 GPT (3.7T)
34 94 - free - (47k)
128 7814037000 1 freebsd-zfs (3.7T)
7814037128 7 - free - (3.5k)
[root@freenas /]#
There is a very good reason for FreeNAS (FreeBSD) freebsd-zfs partition to not start on sector 0, but that was not your question :) (As mentioned above alignment, and 4K issues, etc.)
Also you can read in the current Solaris documentation (the one I referenced above) that a storage device can be a whole disk or an individual slice. No preference is given to using the whole disk, and no disadvantage is given to using a slice.
I can see where a confusion can arise. In Solaris, when manipulating ZFS, one can use names like
c0t0d0 or
c0t1d0, and Solaris automagically uses
c0t0d0s0 or
c0t1d0s0. E.g.
zpool create mypool mirror c0t0d0 c0t1d0 is a valid, and somewhat preferred, command. However, one has to remember that some magic (partitioning) would be done in background, not the entire disk would be used, and that
zpool create mypool mirror c0t0d0s0 c0t1d0s0 is an equivalent command, if the disks are already properly partitioned.
P.S.
The disk from my system has no swap. But swap has to go somewhere, so I have disks with swap... Just not all of my disks have swap.