If you have very large images that you need to synchronize to the branch server, you can use delta images to save network bandwidth.
A delta image contains only the differences between two regular images. If there are only a few changes between two images, the delta image can be very small. Synchronizing a delta image to the branch consumes less network bandwidth but it requires some extra hardware resources on the branch server to rebuild the installable image.
retail_create_delta tool creates a delta image on the Uyuni server.
The tool uses
Use the name and the version strings of the target and the source image as parameters to the command.
The format of the parameters must be
<NAME>-<VERSION> and they must correspond to the image names and versions available in the pillar.
For example, if the pillar contains:
images: POS_Image_JeOS6: 6.0.0: ... 6.0.1: ... POS_Image_Graphical6: 6.0.0: ...
retail_create_delta command is:
retail_create_delta POS_Image_JeOS6-6.0.1 POS_Image_JeOS6-6.0.0
This command will generate the delta image between version 6.0.0 and version 6.0.1.
The resulting delta file is saved in
/srv/www/os-images and the corresponding pillar file in
Performance tuning is possible with the
-B <VALUE> option, which is passed to
With higher values you achieve smaller deltas at the cost of higher memory requirements.
For more information, see the
xdelta3 documentation (
When an image is synchronized to the branch server, the
image-sync-formula first checks whether the source image is available on the branch server.
Only if the source image is available, the delta will be downloaded to save network bandwidth.