You are currently on IBM Systems Media’s archival website. Click here to view our new website.

AIX > Administrator > Virtualization

How the Nested File System Influences Storage Virtualization


Virtualizing physical resources into their logical entities has resulted in tremendous IT throughput by reducing overhead costs, enabling multitasking, and improving scalability and overall hardware-resource utilization. Today, virtualized computing, storage and networking form cornerstones in providing the layer of virtualization for an IT infrastructure.

To that end, the nested file system has influenced storage virtualization, which enables a host system to map a guest virtual machine’s (VM’s) file system to almost any storage media. So what are nested file systems? In a typical virtualized environment, the host system maps regular files as virtual block devices to guest VMs. Completely unaware of this, a guest VM will have its own file-system to deal with its own workload. A guest file system mounted within a host file system is called as nested file system. For example:

/host
/host/guest

The /host is a parent file system and /host/guest is a nested file system within /host. Both are mount points. It’s important to mount the parent file system before mounting the child (nested) file system.

For example, an AIX JFS nested file system mounts automatically when you restart your system so you must mount the parent system before mounting the nested file system. Like any other file system nested file systems can have their own storage, and it’s convenient to add space management to nested and parent file systems.

Misalignment Problem

Any virtualized environment that uses shared storage has several layers of storage through which a VM can access the data. Storage space in each of these layers is divided into small chunks, called “blocks,” whose size depends upon the implementation. The block size and starting offset are different at different layers. Different block sizes aren’t an issue but care must be taken to align the starting offset with the start of a block in the next layer of storage.

Suppose a block is size “x” but due to some offset of a file system, it’s misaligned by “y.” Then, for every write operation of x, it will store x – y in one block and y in another block, thus wasting storage space. Such misalignment causes an increase in I/O latency because storage arrays have to process five blocks to read/write what should be done in four. This inefficiency in I/O operations leads to performance degradation. Figure 1 illustrates this by showing two layers of misalignment involved in a general nested file-system environment. Figure 2, by contrast, shows the proper alignment.

Solutions

The starting offset can be checked by using utilities such as the fdisk command:

fdisk -lu /hostFS/devices/disks/myPartition

Correcting the starting offset is best addressed by correcting the template from which new VMs are provisioned. Aligning disks is not required but is preferred to improve performance. Corrections can be performed using the following steps:

If the misaligned partition is not in the boot partition:

  1. Create a new, aligned virtual disk as per the best practices prescribed by the corresponding vendors.
  2. Attach this new aligned virtual disk to the VM and copy the contents from the misaligned virtual disk to the new one.
  3. Detach and destroy the misaligned virtual disk after verifying the contents and integrity of the data on the new aligned virtual disk.

However, if the misaligned partition is in the boot partition:

  1. Back up the VM system image.
  2. Shut down the VM.
  3. Attach the misaligned system image virtual disk to a different VM.
  4. Attach a new aligned virtual disk to this VM.
  5. Copy the contents of the system image virtual disk to the new aligned virtual disk.

Keep in Mind

Despite nested file systems’ strengths in many circumstances, you should avoid using them in some cases. For example, they aren’t ideal for workloads that are sensitive to I/O latency; or write-dominated workloads, because journaling in the host file system could cause significant performance degradations. Likewise, in instances when a parent mount-point is shared, then all children will be shared as well. Finally, an improper combination of guest and host file systems can be disastrous to performance, but with an appropriate combination, the overhead can be negligible.

On the plus side, for workloads that have a significant amount of sequential reads, nested file systems can even improve throughput due to the read-ahead mechanism at the host level. Clearly, when configured correctly, the nesting of file systems provides multi-fold benefits over flat file system structure.

Ankur Agrrawal is a software developer in IBM STG India, who focuses on storage virtualization, cloud computing, computer architecture and OSs.

Piyush Madan is an intern in IBM's summer research project.

Rahul Shankar is an intern in IBM's summer research project.

Shagun Akarsh is an intern in IBM’s summer research project.



Advertisement

Advertisement

2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

AIX > ADMINISTRATOR > VIRTUALIZATION

A Closer Look at the IBM PowerVM 3.1 Update

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters