Monday, December 25, 2006

Linux LVM and ZFS

Since I received the A5200, I've only been using the SBus-based, "socal" HBAs in the E4500 and Ultra 2, where I've run Solaris. Yesterday, I received my Emulex LP8000 PCI fibre HBAs, so now I can use the A5200 with my Blade 1000, pSeries p640, and some of my x86 hardware. I've really been wanting to give the Linux LVM a try and compare it to ZFS, primarily, but some other volume managers, as well, like the AIX LVM and VxVM.

Thus far, I've done a CentOS 4 install, which much to my surprise included the Emulex drivers. I have also gotten familiar with the Linux LVM. For the most part, it resembles the AIX LVM in functionality. The terminology and concepts are identical, as well. I was a bit surprised to find that the Linux LVM is only capable of striping at the moment. This seemed to be a huge disadvantage to me; however, mirroring, RAID-5, etc. are also possible in Linux -- just not with the LVM. It requires you to use the mdtools and then use the Linux LVM on top of it for striping if you desire to do so. One single point of storage administration does make things easier. Dealing with mdtools and Linux LVM is not ideal, in my opinion.

I also had some difficulty doing an online resize of an ext3 filesystem I created on top of an LVM logical volume. It seems only recently that Linux has been capable of doing online resizing of ext3 filesystems. It seems to be the case with other filesystems (JFS, XFS, etc.) to unmount the filesystem before resizing it is possible. This is certainly not ideal, given one could, for example, be using the filesystem for Oracle tablespaces. Taking those tablespaces offline to unmount the filesystem would often not be possible in most production environments. In comparison, ZFS, VxVM, and the AIX LVM manage to do online resizing with little trouble and with no disruption to filesystem IO.

This was just meant to be a brief, cursory glance at the Linux LVM, but in the future I'd like to get familiar with Linux LVM tuning to do a few benchmarks against ZFS, VxVM, and the AIX LVM (with JFS and JFS2). I think I'll end up writing a more formalized comparison between them in the future, as well as something that looks at the storage situation in Linux, presently (which I find to be grotesque at best).