[OpenIndiana-discuss] Layout of zfs fs

Volker A. Brandt vab at bb-c.de
Tue Oct 27 22:19:02 UTC 2020


Hi Harry!


> > Both will work.  Any dataset snapshot can be sent/received separately,
> > if you want.  But you can also use a recursive send where the dataset
> > itself and all "child datasets" will be included in the stream.  Check
> > out the "-r" and "-R" flags in the zfs(1M) man page.
>
> I could not find an -r (lowercase) for send sub-command (maybe you are
> only refering to zfs main cmd).

No, it was a Solaris-ism that doesn't exist in illumos.  Sorry for not
having checked it before sending the mail.

> But experimenting with send -R I seem to have
> gotten myself into some trouble.
>
> I attempted to:
>    zfs send -R rpool/export/home/MYUSER |ssh oi0 zfs recv p12x

OK, so you are transferring an entire dataset, not a snapshot.  Not
sure how this could have worked, as the -R flag only applies to
snapshots, not datasets.

> So the result was that rpool/export/home/MYUSER showed up on the VBox
> instance of oi as p12x/export/home/MYUSER.   But it attempted to
> retain the mountpoint from the sending os of /export/home/reader.

Works as designed. The -R flag implies -p, which retains all properties
including the mountpoint.  I doubt it has worked in your case since
there is no -R flag for datasets.

> Fortunately the mount was unsucessful since MYUSER was not empty.

As it would be whenever a mountpoint isn't empty.

> So the sent fs is setting there and can cbe displayed with
> zfs list -r and shows the mountpoint that was refused as if it worked.

Well, it did work, it just didn't mount the dataset.

> On receiving OS:
>
> ,----
> |  root # zfs list -r p12x
> |  NAME   USED  AVAIL  REFER  MOUNTPOINT
> |  p12x  3.86G   203G  3.86G  /export/home/reader
> |
> |  (Shows the data occupying 3.86 of space)
> `----

Are you sure this is correct?  I don't see your dataset "p12x/export
/home/MYUSER" there.  You only have the pool itself, with the mount-
point property.

> However the fs p12x/export/home/MYSUSER will not accept substitute
> mount point and claims the fs does not exist:
>
> ,----
> |   On the recv OS:
> |   I created an empty directory at /2x-rpool and tried:
> |     (2x is hostname of sending OS)
> |      zfs set mountpoint=/2x-rpool p12x/export/home/reader
> |   cannot open 'p12x/export/home/reader': dataset does not exist
> `----

That's because it really doesn't exist (see above).

> So I can't remount it. Or see the data in anyway I can think off.
>
> zfs cannot even destroy it:
>
> ,----
> |   On recv OS:
> |     root # zfs destroy -r p12x/export/home/reader
> |   cannot open 'p12x/export/home/reader': dataset does not exist
> `----

Same here: It doesn't exist.

> Fortunately `zpool' still knew how:
>
> ,----
> |   On recv OS:
> |    zpool destroy p12x
> |    (Finished with no errors)
> `----
>
>    zfs list -r shows it gone
>
>
> So is there a way to send rpool to a remote host without all that mess?

Yes, there is.  First, create a snapshot, like

  rpool/export/home/MYUSER at now

To change a mountpoint while receiving, specify it on the "receive"
side of the pipe (really only one line):

  zfs send -R rpool/export/home/MYUSER at now |
  ssh oi0 zfs recv -e -o mountpoint=/export/home/MYUSER p12x/export/home

You could leave out -R since there is nothing to replicate if you only
have one dataset with one snapshot.

The "-e" will tell zfs recv to just use the MYUSER part of the sent
dataset name.  Note that p12x/export/home must already exist.

If you want to be sure everything is copied before mounting it, use
"zfs recv -u ..." so that datasets aren't automatically mounted on the
receiving side.


Hope this helps -- Volker
-- 
------------------------------------------------------------------------
Volker A. Brandt        Consulting and Support for Solaris-based Systems
Brandt & Brandt Computer GmbH                   WWW: http://www.bb-c.de/
Am Wiesenpfad 6, 53340 Meckenheim, GERMANY            Email: vab at bb-c.de
Handelsregister: Amtsgericht Bonn, HRB 10513              Schuhgröße: 46
Geschäftsführer: Rainer J.H. Brandt und Volker A. Brandt

"When logic and proportion have fallen sloppy dead"



More information about the openindiana-discuss mailing list