
On Wed, 18 Apr 2012, Craig Sanders <cas@taz.net.au> wrote:
On Wed, Apr 18, 2012 at 04:55:01PM +1000, Russell Coker wrote:
Sorry, my previous message wasn't clear.
I will use ZFS for the main data storage but Ext3 for booting in a separate mdadm device.
OK, you mean having a small partition on each disk in the zpool, with mdadm raid-1 for the rootfs?
Yes.
sure, that'll work. mdadm has no problem with multiple extra devices in a RAID-1. and reads should be amazingly fast.
It works for 2 disks, I've never had a reason to try with more. I wouldn't expect reads to be fast. Last time I tested such things I had great difficulty in demonstrating any read benefit for Linux Software RAID-1.
however, zfs works much better if you give it entire disks rather than partitions. in particular, it can disable write barriers and get much better performance. IIRC it can't do that with partitions because it doesn't know what else may be writing to the disk.
Hmm, so it relies entirely on it's journalling to get consistent data? So what happens with an application calls fsync() or fdatasync()? How does ZFS know that the data is on disk? I'll have to do some benchmarks of these things.
making zpools from partitions does work, but is very strongly discouraged.
It sounds like ZFS will be more difficult than I thought. Do you have a reference for a good ZFS sysadmin guide?
do the initial install on a spare disk (because only debian's kfreebsd supports installation on zfs right now), reboot, create your zpool(s), rsync rootfs to zfs, chroot, reconfigure and re-install grub, make sure that zfs-initramfs package is installed and run update-initramfs. rebooting again without the spare disk should give you a working root on zfs.
if it doesn't work first time, plug the spare disk back and fix :)
That sounds horrible, like a 1990's Linux install! With a bit of luck the server I'll get will have an internal USB port. Then I can use a USB boot device. This is easy to setup and it's also easy to have a spare device just in case of corruption. So far I've only seen one USB device fail properly in production, and it stopped accepting WRITE requests but could still be read. Apart from panicing the kernel when a rw mount was attempted it seemed to work. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/