ZFS - quick start.

Peter peter at pean.org
Tue Apr 10 18:03:48 UTC 2007


Pawel Jakub Dawidek skrev:

>Ok, ZFS is now in the tree, what's now? Below you'll find some
>instructions how to quickly make it up and running.
>
>First of all you need some disks. Let's assume you have three spare SCSI
>disks: da0, da1, da2.
>
>Add a line to your /etc/rc.conf to start ZFS automatically on boot:
>
>	# echo 'zfs_enable="YES"' >> /etc/rc.conf
>
>Load ZFS kernel module, for the first time by hand:
>
>	# kldload zfs.ko
>
>Now, setup one pool using RAIDZ:
>
>	# zpool create tank raidz da0 da1 da2
>
>It should automatically mount /tank/ for you.
>
>Ok, now put /usr/ on ZFS and propose some file systems layout.  I know
>you probably have some files already, so we will work on /tank/usr
>directory and once we ready, we will just change the mountpoint to /usr.
>
>	# zfs create tank/usr
>
>Create ports/ file system and enable gzip compression on it, because
>most likely we will have only text files there. On the other hand, we
>don't want to compress ports/distfiles/, because we keep compressed
>stuff already in-there:
>
>	# zfs create tank/usr/ports
>	# zfs set compression=gzip tank/usr/ports
>	# zfs create tank/usr/ports/distfiles
>	# zfs set compression=off tank/usr/ports/distfiles
>
>(You do see how your life is changing, don't you?:))
>
>Let's create home file system, my own home/pjd/ file system. I know we
>use RAIDZ, but I want to have directory where I put extremly important
>stuff, you I'll define that each block has to be stored in tree copies:
>
>	# zfs create tank/usr/home
>	# zfs create tank/usr/home/pjd
>	# zfs create tank/usr/home/pjd/important
>	# zfs set copies=3 tank/usr/home/pjd/important
>
>I'd like to have directory with music, etc. that I NFS share. I don't
>really care about this stuff and my computer is not very fast, so I'll
>just turn off checksumming (this is only for example purposes! please,
>benchmark before doing it, because it's most likely not worth it!):
>
>	# zfs create tank/music
>	# zfs set checksum=off tank/music
>	# zfs set sharenfs=on tank/music
>
>Oh, I almost forget. Who cares about access time updates?
>
>	# zfs set atime=off tank
>
>Yes, we set it only on tank and it will be automatically inherited by
>others.
>
>Will be also good to be informed if everything is fine with our pool:
>
>	# echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
>
>For some reason you still need UFS file system, for example you use ACLs
>or extended attributes which are not yet supported by our ZFS. If so,
>why not just use ZFS to provide storage? This way we gain cheap UFS
>snapshots, UFS clones, etc. by simply using ZVOLs.
>
>	# zfs create -V 10g tank/ufs
>	# newfs /dev/zvol/tank/ufs
>	# mount /dev/zvol/tank/ufs /ufs
>
>	# zfs snapshot tank/ufs at 20070406
>	# mount -r /dev/zvol/tank/ufs at 20070406 /ufs20070406
>
>	# zfs clone tank/ufs at 20070406 tank/ufsok
>	# fsck_ffs -p /dev/zvol/tank/ufsok
>	# mount /dev/zvol/tank/ufsok /ufsok
>
>Want to encrypt your swap and still use ZFS? Nothing more trivial:
>
>	# zfs create -V 4g tank/swap
>	# geli onetime -s 4096 /dev/zvol/tank/swap
>	# swapon /dev/zvol/tank/swap.eli
>
>Trying to do something risky with your home? Snapshot it first!
>
>	# zfs snapshot tank/home/pjd at justincase
>
>Turns out it was more stupid than risky? Rollback your snapshot!
>
>	# zfs rollback tank/home/pjd at justincase
>	# zfs destroy tank/home/pjd at justincase
>
>Ok, everything works, we may set tank/usr as our real /usr:
>
>	# zfs set mountpoint=/usr tank/usr
>
>Don't forget to read zfs(8) and zpool(8) manual pages and SUN's ZFS
>administration guide:
>
>	http://www.opensolaris.org/os/community/zfs/docs/zfsadmin.pdf
>
>  
>

I think i just did somethink stupid. Heh.

I wanted to try to add some space to my pool, so i used
zpool add tank da0s1eand it worked out very well.
But  I cant figure out how to remove it. Can I remove it?
I dont want to have my external drive connected to my laptop for ever. :(
zpool iostat -v tells me there is only 8MB of data on the da0s1e..

If there is a simple way to solve this problem please tell me.

Thanks in advance.


More information about the freebsd-current mailing list