Archive
Posts in Storage
Creating XFS file systems on older Linux kernels
This past week I created a new XFS file system to test a feature and received the following error when I tried to mount it: The file system was created with the default options and the output of xfs_info looked good: The system had an existing XFS file system mounted so I decided to compare the metadata from the working file system with the one I just created. This showed one subtle differences: The working file system had the crc and ftype flags set to 0 while the non-working file system had crc set to 0 and ftype set to 1 (these are the defaults for the version of xfsprogs I was using). Re-creating the file system with ftype=0 allowed the file system to mount. I'm not one to sit back and enjoy a victory and move on…
$ read more →The importance of cleaning up disk headers after testing
Yesterday I was running some benchmarks against a new MySQL server configuration. As part of my testing I wanted to see how things looked with ZFS as the back-end. So I loaded up some SSDs and attempted to create a ZFS pool. Zpool spit out a "device busy" error when I tried to create my pool leading to a confused and bewildered matty…
$ read more →Importing and mounting ZFS pools at boot time on Fedora servers
If you read my blog you know I am a huge fan of the ZFS file system. Now that the ZFS on Linux project is shipping with Ubuntu I hope it gets more use in the real world. Installing ZFS on a Fedora server is relatively easy though I haven't found a good guide describing how to import pools and mount file systems at boot. After a bit of digging in /usr/lib/systemd/system/ it turns out this is super easy…
$ read more →Displaying device multi-path statistics on Linux hosts
Linux provides a number of useful utilities for viewing I/O statistics. Atop, iostat, iotop, etc. are extremely useful utilities but they don't allow you to easily see I/O statistics for each path to a mapper device. To illustrate this lets say you have a mapper device named mpatha with four paths (represented by sdcl, sdnf, sdeq and sdpk in the output below): To visualize the amount of I/O traversing down each path to a mapper device we need to combine iostat and grep: This solution requires you to look up the device you want to monitor and the default output is terrible…
$ read more →Printing tape drive serial numbers
While automating a process this week I needed a way to get the serial number off a batch of tape drives. At first I thought I could retrieve this information through /sys. But after a bunch of poking around with cat, systool and udevadm I realized I couldn't get what I want through /sys. One such failure: If I can't get the serial # through /sys I can always poke the drive directly, right…
$ read more →