Just clarifying Darren's comment - we got bitten by this pretty badly so I figure it's worth saying again here. ZFS will *allow* you to use a ZVOL of one pool as a ZDEV in another pool, but it results in race conditions and an unstable system. (At least on Solaris 10 update 8).
We tried to use a ZVOL from rpool (on fast 15k rpm drives) as a cache device for another pool (on slower 7.2k rpm drives). It worked great up until it hit the race condition and hung the system. It would have been nice if zfs had issued a warning, or at least if this fact was better documented. Scott Duckworth, Systems Programmer II Clemson University School of Computing On Tue, Mar 30, 2010 at 5:09 AM, Darren J Moffat <darr...@opensolaris.org>wrote: > On 30/03/2010 10:05, Erik Trimble wrote: > >> F. Wessels wrote: >> >>> Thanks for the reply. >>> >>> I didn't get very much further. >>> >>> Yes, ZFS loves raw devices. When I had two devices I wouldn't be in >>> this mess. >>> I would simply install opensolaris on the first disk and add the >>> second ssd to the >>> data pool with a zpool add mpool cache cxtydz Notice that no slices or >>> partitions >>> were used. >>> But I don't have space for two devices. So I have to deal with slices >>> and partitions. >>> I did another clean install in 12Gb partition leaving 18Gb free. >>> I tried parted to resize the partition, but it said that resizing >>> (solaris2) partitions >>> wasn't implemented. >>> I tried fdisk but no luck either. >>> I tried the send and receive, create new partition and slices, restore >>> rpool in >>> slice0, do installgrub but it wouldn't boot anymore. >>> >>> Can anybody give a summary of commands/steps howto accomplish a bootable >>> rpool and l2arc on a ssd. Preferably for the x86 platform. >>> >> >> Look up zvols, as this is what you want to use, NOT partitions (for the >> many reasons you've encountered). >> > > In this case partitions is the only way this will work. > > > In essence, do a normal install, using the ENTIRE disk for your rpool. >> >> Then create a zvol in the rpool: >> >> # zfs create -V 8GB rpool/zvolname >> >> Add this zvol as the cache device (L2arc) for your other pool >> >> # zpool create tank mirror c1t0d0 c1t1d0s0 cache rpool/zvolname >> >> > That won't work L2ARC devices can not be a ZVOL of another pool, they can't > be a file either. An L2ARC device must be a physical device. > > -- > Darren J Moffat > > _______________________________________________ > zfs-discuss mailing list > zfs-discuss@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss >
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss