From owner-freebsd-current@FreeBSD.ORG Mon Apr 9 03:39:24 2007 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B672F16A400; Mon, 9 Apr 2007 03:39:24 +0000 (UTC) (envelope-from bland@FreeBSD.org) Received: from smtp1.jp.viruscheck.net (smtp1.jp.viruscheck.net [154.33.69.52]) by mx1.freebsd.org (Postfix) with ESMTP id 8073713C448; Mon, 9 Apr 2007 03:39:24 +0000 (UTC) (envelope-from bland@FreeBSD.org) Received: from (mail1.jp.viruscheck.net) [154.33.69.39]:13243 by smtp1.jp.viruscheck.net with esmtp id 1HakFw-0006cn-3h ; Mon, 09 Apr 2007 12:09:24 +0900 Received: from (noc.orchid.orchidtechnology.com) [125.206.34.113]:35626 by mail1.jp.viruscheck.net with esmtp id 1HakFv-0000nk-IJ ; Mon, 09 Apr 2007 12:09:23 +0900 Received: from [89.60.200.25] ([89.60.200.25]) by noc.orchid.orchidtechnology.com (8.13.4/8.13.4) with ESMTP id l3939M0O065291; Mon, 9 Apr 2007 12:09:22 +0900 (JST) (envelope-from bland@FreeBSD.org) Message-ID: <4619AE5C.7000902@FreeBSD.org> Date: Mon, 09 Apr 2007 12:09:16 +0900 From: Alexander Nedotsukov User-Agent: Thunderbird 1.5.0.10 (Windows/20070221) MIME-Version: 1.0 To: Pawel Jakub Dawidek References: <20070406214325.GB61039@garage.freebsd.pl> In-Reply-To: <20070406214325.GB61039@garage.freebsd.pl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-fs@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: ZFS - quick start. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2007 03:39:24 -0000 Pawel, Quick question. Is it typical to ZFS to run over 100 kthreads? I see a lot of spa_*s in ps output. Other bits are: bland@nest:~$zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT tank 4,19G 295M 3,90G 6% ONLINE - bland@nest:~$zfs list NAME USED AVAIL REFER MOUNTPOINT tank 295M 3,83G 18K /tank tank/ports 294M 3,83G 294M /usr/ports tank/tmp 535K 3,83G 535K /tmp Thanks, Alexander. Pawel Jakub Dawidek wrote: > 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@20070406 > # mount -r /dev/zvol/tank/ufs@20070406 /ufs20070406 > > # zfs clone tank/ufs@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@justincase > > Turns out it was more stupid than risky? Rollback your snapshot! > > # zfs rollback tank/home/pjd@justincase > # zfs destroy tank/home/pjd@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 > >