
On Sun, 14 Jul 2013, Craig Sanders wrote:
On Sat, Jul 13, 2013 at 02:42:22PM +1000, Russell Coker wrote:
On Sat, 13 Jul 2013, Craig Sanders <cas@taz.net.au> wrote:
from the zfsonlinux faq:
http://zfsonlinux.org/faq.html#PerformanceConsideration
"Create your pool using whole disks: When running zpool create use whole disk names. This will allow ZFS to automatically partition the disk to ensure correct alignment. It will also improve interoperability with other ZFS implementations which honor the wholedisk property."
Other than the compatibility reason stated there, this FAQ, and the differing behaviour of the scheduling elevator dependent upon whether it's a disk or a partition, has always *smelt* to me. If dealing with a whole disk, it still creates -part1 & -part9 anyway.
Who's going to transfer a zpool of disks from a Linux box to a *BSD or Solaris system? Almost no-one.
read the first reason again, automatic alignment of the partitions increases performance - and it's the sort of thing that it's a PITA to do manually, calculating the correct starting locations for all partitions. it'll be a lot more significant to most linux users than the second reason...as you say, that's irrelevant to most people.
eh? parted has done proper alignment by default since just after the dinosaurs were wiped out. I was actually surprised the other day when ext4.ko issued an alignment warning about a filesystem on one of the new Oracle database VMs at work, and I looked at the many year old template it was deployed from, and alignment was already correct. The Oracle forums (I was surprised that there was actually an Oracle community who talk out in the open on web fora - I thought it was all enterprisey type people who don't like to talk) mentioned this was a known issue with how Oracle does redo log IO, and it was just a cosmetic issue.
and, unlike lvm, with both btrfs and zfs, once you've created the pool you don't need to remember or specify the device names of the disks in the pool unless you're replacing one of them - most operations (like creating, deleting, changing attributes of a volume or zvol) are done with just the name of the pool and volume. this leads to short, simple, easily understood command lines.
eh? That's pretty close to the occasions where you need to specify raw device names in lvm too. -- Tim Connors