Re: create zpool from zvols?
- Reply: Michael Jung : "RE: create zpool from zvols?"
- In reply to: Rich : "Re: create zpool from zvols?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 25 Mar 2022 13:49:38 UTC
Thanks for the super-quick response. I guess I'll just use plain files then. I don't really want to use the zpools for anything, I just want an easy way to experiment with and demonstrate zpool create commands. FWIW, the tunable does allow the "zpool create" command to work: [root@ibex] # sysctl vfs.zfs.vol.recursive vfs.zfs.vol.recursive: 1 [root@ibex] # zpool create ztest mirror /dev/zvol/zroot/zv{0,1} [root@ibex] # zpool status ztest pool: ztest state: ONLINE config: NAME STATE READ WRITE CKSUM ztest ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 zvol/zroot/zv0 ONLINE 0 0 0 zvol/zroot/zv1 ONLINE 0 0 0 errors: No known data errors On Fri 2022-03-25 07:41 AM MDT -0600, <rincebrain@gmail.com> wrote: > https://reviews.freebsd.org/D4998 added a knob to allow you to do this > even > though it sometimes deadlocks, which is why it's off by default. > > It's a FreeBSD-only tunable. > > That tunable is still there in the post-OpenZFS FreeBSD, too, though > it's > labeled "Allow zpools to use zvols as vdevs (DANGEROUS)", so it seems > likely that it still can cause undesirable outcomes. > > - Rich > > > > On Fri, Mar 25, 2022 at 9:34 AM John Doherty <bsdlists@jld3.net> > wrote: > >> Hello, I am using ZFS on FreeBSD 13.0-RELEASE-p8. For experimentation >> and demonstration, I would like to create zpools using zvols as the >> underlying block devices. >> >> For example, I have these: >> >> [root@ibex] # zfs list -r -t volume zroot | grep zv >> zroot/zv0 8.25G 832G 56K - >> zroot/zv1 8.25G 832G 56K - >> >> This seems as if it would do what I want: >> >> [root@ibex] # zpool create -n ztest mirror /dev/zvol/zroot/zv{0,1} >> would create 'ztest' with the following layout: >> >> ztest >> mirror >> zvol/zroot/zv0 >> zvol/zroot/zv1 >> >> But when I try to actually do it, it doesn't work: >> >> [root@ibex] # zpool create ztest mirror /dev/zvol/zroot/zv{0,1} >> cannot create 'ztest': no such pool or dataset >> >> FWIW, doing something similar on OmniOS works fine: >> >> [root@orca] # uname -srvp >> SunOS 5.11 omnios-r151040-852962cae3 i386 >> [root@orca] # zfs create -V 2G rpool/zv0 >> [root@orca] # zfs create -V 2G rpool/zv1 >> [root@orca] # zpool create ztest mirror /dev/zvol/dsk/rpool/zv{0,1} >> [root@orca] # zpool status ztest >> pool: ztest >> state: ONLINE >> scan: none requested >> config: >> >> NAME STATE READ WRITE CKSUM >> ztest ONLINE 0 0 0 >> mirror-0 ONLINE 0 0 0 >> /dev/zvol/dsk/rpool/zv0 ONLINE 0 0 0 >> /dev/zvol/dsk/rpool/zv1 ONLINE 0 0 0 >> >> errors: No known data errors >> >> I thought I had done this in the past. Am I doing something wrong? Am >> I >> misremembering and this never worked? >> >> Using files created with truncate(1) rather zvols seems to work fine >> so >> maybe that's what I did before. Not sure, it's been a long time since >> I >> wanted to do something like this. >> >> Thanks for any enlightenment.