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.
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:
Set ‘kdirect.enable’ to 0 in ‘/etc/vstorage/vstorage-mount.conf’.
Stop all VEs on the node or migrate them to another node using
prlctl migrate
or Virtuozzo Automator.Stop the
vstorage-ui-agent
service:# systemctl stop vstorage-ui-agent.service
Unmount the storage location:
# umount /vstorage/<cluster_name>
Start the
vstorage-ui-agent
service again:# systemctl start vstorage-ui-agent.service
The service will remount the storage location automatically.
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
Migrate all VEs back.
To disable the fast path on a deployment without GUI, do the following on each node:
Set ‘kdirect.enable’ to 0 in ‘/etc/vstorage/vstorage-mount.conf’.
Stop all VEs on the node or migrate them to another node using
prlctl migrate
or Virtuozzo Automator.Unmount and remount the storage location:
# umount /vstorage/<cluster_name> # mount -a /vstorage/<cluster_name>
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
Migrate all VEs back.