ZFS v VxFS - Ease
By dom on Jan 04, 2007
I've had people asking me to blog more of my stuff on ZFS, especially in relation to the Veritas suite (Microsoft NTFS and Linux afficionados, make yourselves known to my highly efficient Customer Services team using the comments form below).
I did a lot of poking into ZFS performance over the summer. The Veritas Filebench results are already posted here but apart from the numbers, what leapt out straight away was the simplicity of use of ZFS compared to the competition.
I'm not talking about GUIs because I grew up in environments (banks, IT vendors) where they simply weren't used either because the required precision in the configuration demanded command line and scripting or the work was remote (for which read "from home in middle of night") and the comms just didn't move the bits fast enough to support GUIs.
For a start the conceptual framework is a lot simpler. The following table lists the building blocks of both Veritas VxVM/VxFS and ZFS.
|The pool: all the disks in the system.||A physical disk is the basic storage device (media) where the data is ultimately stored.|
|File systems: as many as are required.||When you place a physical disk under VxVM control, a VM disk is assigned to the physical disk. A VM disk is under VxVM control and is usually in a disk group.|
|A VM disk can be divided into one or more subdisks. Each subdisk (actually a set of contiguous disk blocks) represents a specific portion of a VM disk.|
|VxVM uses subdisks to build virtual objects called plexes. A plex consists of one or more subdisks located on one or more physical disks.|
|A disk group is a collection of disks that share a common configuration, and which are managed by VxVM.|
|A volume is a virtual disk device that appears like a physical disk device and consists of one or more plexes contained in a disk group, each holding a copy of the selected data in the volume.|
|A VxFS file system is constructed on a volume so that files can be stored.|
So how does this translate into practice? The following table lists the activities and times taken to create useable storage using either Veritas or ZFS:
# zpool create -f tank [list of disks]
# zfs create tank/fs
# /usr/lib/vxvm/bin/vxdisksetup -i c2t16d0 |
# vxdg init dom-dg c2t16d0
# for i in [list of disks]
/usr/lib/vxvm/bin/vxdisksetup -i $i
# for i in [list of disks]
vxdg -g dom-dg adddisk $i
# vxassist -g dom-dg -p maxsize layout=stripe
6594385920 [ get size of volume, then feed back in ]
Time Taken: 30 minutes # vxassist -g dom-dg make dom-vol 6594385920 layout=stripe
# mkfs -F vxfs /dev/vx/rdsk/dom-dg/dom-vol
version 6 layout
6594385920 sectors, 412149120 blocks of size 8192, log size 32768 blocks
# mount -F vxfs /dev/vx/dsk/dom-dg/dom-vol /mnt
|Time Taken: 17.5 seconds||Time Taken: 30 minutes|
It's far simpler, is it not? The timings are for 48 72 Gb disks in 3500 jbods, by the way. If you want a bit more guidance on using ZFS, you should: