# ZFS and Dump



## bluetick (Jun 8, 2009)

Does dump work with zfs? If so what mount point do you use?

```
df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a    496M    148M    308M    32%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad0s1e    496M    528K    456M     0%    /tmp
/dev/ad0s1f     70G     16G     48G    25%    /usr
/dev/ad0s1d    1.2G    617M    506M    55%    /var
tank           457G     13G    444G     3%    /tank
```


```
motown# /sbin/dump -0u -L -C16 -B4589840 -P 'growisofs -Z /dev/cd1=/dev/fd/0' /tank

DUMP: WARNING: Cannot use -L on an unmounted filesystem.
dump: /tank: unknown file system
```
Other combos of /dev/zfs /dev/zfs/tank give errors also.


----------



## graudeejs (Jun 8, 2009)

As i know, dump doesn't work on ZFS, and there are no similar tool for zfs so far...
I was thinking of using zfs send to generate stream of data, that can be saved as image and later using cat and zfs recieve to get data back....

I haven't tried yet...,.


----------



## phoenix (Jun 8, 2009)

ZFS send is, in essence, the same as a UFS dump.  ZFS receive is, in essense, the same as a UFS restore.

Haven't tested with ZFSv13 yet, but on ZFSv6, receive is poorly coded and will not go above 10-15 KBytes/sec write speed.  This is a known problem with ZFS receive, and affects all ZFS systems (Solaris/OpenSolaris, FreeBSD, FUSE, etc).  Something to do with the receive buffer.


----------



## xy16644 (Jun 3, 2012)

If you create a dump file of your entire system which was based on UFS...are there any options for restoring this dump file onto a new server that uses ZFS?

Asked differently, what are your options for backing up an entire UFS system and restoring it on a ZFS based system (if any)?


----------



## graudeejs (Jun 3, 2012)

xy16644 said:
			
		

> If you create a dump file of your entire system which was based on UFS...are there any options for restoring this dump file onto a new server that uses ZFS?


Asked differently, what are your options for backing up an entire UFS system and restoring it on a ZFS based system (if any)?

Yes, simply restore it over zfs (As far as I can remember)




			
				xy16644 said:
			
		

> Asked differently, what are your options for backing up an entire UFS system and restoring it on a ZFS based system (if any)?



tar(1) also works fine


----------



## xy16644 (Jun 3, 2012)

So restore doesn't care that the source filesystem was UFS but the destination filesystem is ZFS?


----------



## graudeejs (Jun 3, 2012)

xy16644 said:
			
		

> So restore doesn't care that the source filesystem was UFS but the destination filesystem is ZFS?



I would say:


> restore doesn't care what destination FS is.


However don't just believe me. Better make a small test 
I haven't been using UFS for years now... I don't remember all the details.


----------



## bbzz (Jun 3, 2012)

And there's always *tar* I guess.


----------



## xy16644 (Jun 3, 2012)

Like you use dump/restore on a UFS machine...what is the equivalent on a ZFS system? What do you use to backup/restore an entire ZFS system to another machine?


----------



## da1 (Jun 3, 2012)

*zfs send*/*zfs receive*.


----------



## da1 (Jun 3, 2012)

PS: it has limitations. Example: it's tricky if you want to send the root pool of machine A to backup server B due to the mountpoints getting overwritten in case of a reboot.


----------



## bbzz (Jun 3, 2012)

@da1 
What do you mean gets overwritten? Change mountpoint once pool is copied, and use *-u* to not mount it.


----------



## da1 (Jun 3, 2012)

@bbzz: we had a thread about this some time ago, you and I  (http://forums.freebsd.org/showthread.php?t=28010)
Also -> http://lists.freebsd.org/pipermail/freebsd-fs/2011-December/013302.html

Both deal with the idea of sending/receiving a zroot pool for the sake of a full disaster recovery (ex: DataCenter burns down, god makes a typo in a script and sends another flood, etc).


Regardless, we are off topic and that is not good .


----------



## bbzz (Jun 3, 2012)

Oh *I* see. Well, you need to specify a mountpoint for only the root filesystem (none), and then 
`# zfs inherit -r mounpoint mybackuppool/ROOT` and then all FS below get mountpoint none. That's what I meant.

//offtopic


----------



## Terry_Kennedy (Jun 3, 2012)

xy16644 said:
			
		

> Like you use dump/restore on a UFS machine...what is the equivalent on a ZFS system? What do you use to backup/restore an entire ZFS system to another machine?


You might want to have a look at this thread from a while back.


----------



## xy16644 (Jun 3, 2012)

Terry_Kennedy said:
			
		

> You might want to have a look at this thread from a while back.



Many thanks for that. 

I also found this very useful:

http://thegreyblog.blogspot.com/2009/01/backing-up-zfs-file-systems.html

I was most interested in the "Backing up" section (just scroll down a bit). I see you can do a zfs send to a filename...this is excellent! The example he used was:

[CMD=""]zfs send zpool-name/filesystem-name@snapshot-name > dump-file-name[/CMD]

and then a restore:

[CMD=""]zfs receive another-zpool-name/another-filesystem-name <>[/CMD]

In the above mentioned restore example there was no mention of the file to restore so I assume you put this at the end of the command?

Am I over simplifying this or can I use this to backup a copy of a snapshot to another machine and use this in the event of a disaster recovery scenario?


----------

