Hallo,
Pawel Jakub Dawidek hat gestern Abend einen ersten Patch online gestellt, der FreeBSDs ZFS auf Version 28 hebt. Dieser Patch integriert allen bisher von Sun / Oracle veröffentlichten Code, es ist als das modernste ZFS, was es gibt. Es entspricht OpenSolaris Head. Vorweg sollte noch gesagt sein, dass dieser Patch sehr experimentell ist. So experimentell, dass er auf gar keinen Fall für irgendwas außer Testen und da auch nur mit Backups genutzt werden sollte! Es gibt derzeit auch keinen Zeitplan, wann diese Arbeit in -CURRENT integriert werden kann. Wie Pawel schreibt, es handelt sich dabei in erster Linie um ein Zeichen mit dem man zeigen möchte "ZFS ist trotz des Oracle-Chaos nicht tot!".
Neuerungen:
- Data deduplication aka "Dedup".
- RAIDZ3
- zfs diff
- zpool split
- Pools können "read only" importiert werden
- Rückrollen auf ältere Transaktionen ist ohne den Debugger möglich.
- Vieles, vieles mehr.
Für alles andere, inklusive Links zum Download und Installationsanleitungen verweise ich auf die E-Mail. Bitte lest diese vollständig, wenn ihr testen möchtet!
Pawel Jakub Dawidek hat gestern Abend einen ersten Patch online gestellt, der FreeBSDs ZFS auf Version 28 hebt. Dieser Patch integriert allen bisher von Sun / Oracle veröffentlichten Code, es ist als das modernste ZFS, was es gibt. Es entspricht OpenSolaris Head. Vorweg sollte noch gesagt sein, dass dieser Patch sehr experimentell ist. So experimentell, dass er auf gar keinen Fall für irgendwas außer Testen und da auch nur mit Backups genutzt werden sollte! Es gibt derzeit auch keinen Zeitplan, wann diese Arbeit in -CURRENT integriert werden kann. Wie Pawel schreibt, es handelt sich dabei in erster Linie um ein Zeichen mit dem man zeigen möchte "ZFS ist trotz des Oracle-Chaos nicht tot!".
Neuerungen:
- Data deduplication aka "Dedup".
- RAIDZ3
- zfs diff
- zpool split
- Pools können "read only" importiert werden
- Rückrollen auf ältere Transaktionen ist ohne den Debugger möglich.
- Vieles, vieles mehr.
Für alles andere, inklusive Links zum Download und Installationsanleitungen verweise ich auf die E-Mail. Bitte lest diese vollständig, wenn ihr testen möchtet!
Code:
Date: Tue, 31 Aug 2010 23:59:15
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
To: freebsd-fs@FreeBSD.org
Cc: freebsd-current@FreeBSD.org
Subject: ZFS v28 is ready for wider testing.
Parts/Attachments:
1 Shown ~119 lines Text
2 203 bytes Application
----------------------------------------
Hello.
I'd like to give you ZFS v28 for testing. If you are neither brave nor
mad, you can stop here.
The patchset is very experimental. It can eat your cookie and hurt your
teddy bear, so be warned. Don't try it for anything except testing.
This patchset is also a message we, as the FreeBSD project, would like
to send to our users: Eventhough OpenSolaris is dead, the ZFS file
system is going to stay in FreeBSD. At this point we have quite a few
developers involved in ZFS on FreeBSD as well as serveral companies.
We are also looking forward to work with IllumOS.
So, what this new ZFS brings?
- Data deduplication. Read more here:
http://blogs.sun.com/bonwick/entry/zfs_dedup
- Triple parity RAIDZ (RAIDZ3). Read more here:
http://dtrace.org/blogs/ahl/2009/07/21/triple-parity-raid-z/
- zfs diff. Read more here:
http://arc.opensolaris.org/caselog/PSARC/2010/105/20100328_tim.haley
- zpool split. Read more here:
http://arc.opensolaris.org/caselog/PSARC/2009/511/20090924_mark.musante
- Snapshot holds. Read more here:
http://arc.opensolaris.org/caselog/PSARC/2009/297/20090511_chris.kirby
- zpool import -F. Allows to rewind corrupted pool to earlier
transaction group.
- Possibility to import pool in read-only mode.
And much, much more, including plenty of preformance improvements and bug
fixes.
So test whatever you can and report back. Look for regressions, strange
behaviour, missing features, deadlocks, livelocks, preformance
degradation, etc.
The boot code is not updated at all, so booting off of ZFS doesn't
currently work.
The patch is against today's FreeBSD HEAD.
The patch enables (in sys/modules/zfs/Makefile) ZFS internal debugging,
please don't turn it off. Also, compile your kernel with the following
options:
options KDB
options DDB
options INVARIANTS
options INVARIANT_SUPPORT
options WITNESS
options WITNESS_SKIPSPIN
options DEBUG_LOCKS
options DEBUG_VFS_LOCKS
Ignore all the LOR (Lock Order Reversal) reports from WITNESS. There will
be plenty of those, and you'll desperately want to report them, but please
don't.
The best way to report a problem is to answer to this e-mail with as short
as possible procedure of how to reproduce it and debugging info. I'd
prefer textdump if possible. Below you can find quick procedure how to
setup textdumps:
Choose spare/swap disk/partition in your system, let's say it is
/dev/ad0s1b.
Add the following line to /etc/fstab:
/dev/ad0s1b none swap sw 0 0
Add the following line to /etc/rc.conf:
ddb_enable="YES"
Run the following commands:
# /etc/rc.d/swap1 start
# /etc/rc.d/dumpon start
# /etc/rc.d/ddb start
This will setup swap, mark it as dump device and setup some DDB
scripts. Or you can just reboot.
Now when your system panic or deadlock, enter DDB and call the
following command:
ddb> run kdb.enter.panic
It will execute all the commands I need, dump them in text format to
your swap device and reboot machine.
After the reboot, you should find textdump.tar.0 file in /var/crash/
directory. This is the debug info I need.
End of textdumps procedure.
Ok, now that I know you read everything carefully, here is the patch:
http://people.freebsd.org/~pjd/patches/zfs_20100831.patch.bz2
Good luck! >:>