When synchronizing images between the VCD publishing directory and the subscription directory, due to the excessive number of concurrent synchronization images, the VCD may be further stuck due to insufficient NFS performance, and no tasks can continue to be executed. It is necessary to limit the number of concurrent synchronizations.
VCD 10.x
There are two parameters related to the concurrent limitation:
contentLibrary.item.sync.batch.size( default value: 0)
catalog.sync.enableParallelChunkedTransfer (default value: true)
When contentLibrary.item.sync.batch.size set to 1, it doesn't matter whether the parallel parameter is set or not. When size is set to greater than 1, if parallel is true, the number of files corresponding to size will be started at the same time. If parallel is false, the tasks will be executed sequentially. The subsequent tasks will be in a waiting state before the previous task is completed. The failure of the previous task will not affect the execution of the next task.
Steps to limit the number of concurrent synchronizations:
1). Take a non-memory snapshot of all VCD nodes at the same time.
2). Modify the following parameters. No need to restart the service after modification:
$VCLOUD_HOME/bin/cell-management-tool manage-config -n catalog.sync.enableParallelChunkedTransfer -v false
3). Check whether the parameter is modified successfully:
$VCLOUD_HOME/bin/cell-management-tool manage-config -n catalog.sync.enableParallelChunkedTransfer -l
4). Start file synchronization on vcd and check whether there are still multiple tasks started, or enter the following path to check whether there are multiple folders writing files at the same time:
cd /opt/vmware/vcloud-director/data/transfer