7.9. Managing Fast Path

Fast path is a feature that boosts Virtuozzo Storage read performance if node I/O is a bottleneck. In previous versions of Virtuozzo Storage, performance could be limited by node I/O being handled in a single thread in user space. In the current version of Virtuozzo Storage, the fast path is enabled by default, and I/O is handled using multi-threading in kernel space, eliminating unnecessary context switches and improving performance.

Note

Starting from Virtuozzo Hybrid Server 7.5 Update 5, you cannot turn off the fast path option. The fuse_kio_pcs fast path module is a prerequisite for the vstorage-mount service, and it cannot be unloaded on the nodes where Virtuozzo Storage is mounted.

../_images/stor_image69.png

If node I/O is a bottleneck, the fast path may increase maximum node read performance up to three times in some cases.

Note

Typically, node I/O may be a bottleneck in clusters with cache on SSD or all-SSD setups.

7.9.1. Disabling Fast Path in Virtuozzo Hybrid Server 7.5 Update 4 and Earlier Versions

Ways to disable the feature differ, depending on whether or not you use the GUI.

Important

We highly recommend not disabling the fast path for production clusters unless you should turn it off for debugging. In all other cases, ensure the fast path is enabled.

To disable the fast path on a GUI-enabled deployment, do the following on each node:

  1. Set ‘kdirect.enable’ to 0 in ‘/etc/vstorage/vstorage-mount.conf’.

  2. Stop all VEs on the node or migrate them to another node using prlctl migrate or Virtuozzo Automator.

  3. Stop the vstorage-ui-agent service:

    # systemctl stop vstorage-ui-agent.service
    
  4. Unmount the storage location:

    # umount /vstorage/<cluster_name>
    
  5. Start the vstorage-ui-agent service again:

    # systemctl start vstorage-ui-agent.service
    

    The service will remount the storage location automatically.

  6. Enable the VE online compacting feature that is turned off automatically when disabling the fast path:

    # vstorage -c <cluster_name> set-config gen.do_punch_hole=1
    
  7. Migrate all VEs back.

To disable the fast path on a deployment without GUI, do the following on each node:

  1. Set ‘kdirect.enable’ to 0 in ‘/etc/vstorage/vstorage-mount.conf’.

  2. Stop all VEs on the node or migrate them to another node using prlctl migrate or Virtuozzo Automator.

  3. Unmount and remount the storage location:

    # umount /vstorage/<cluster_name>
    # mount -a /vstorage/<cluster_name>
    
  4. Enable the VE online compacting feature that is turned off automatically when disabling the fast path:

    # vstorage -c <cluster_name> set-config gen.do_punch_hole=1
    
  5. Migrate all VEs back.