cpc

command module
v0.0.0-...-aea4edc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2023 License: BSD-3-Clause Imports: 6 Imported by: 0

README

cpc

A copy tool for incremental copies of large files, such as databases.

It's like rsync --inplace but a bit faster.

It uses a thread per core and doesn't do writes of 4KB pages that are unchanged.

Problem statement

We had two filesystems on a machine and some large SQLite databases and other files on one filesystem that we wanted to move to the other filesystem. More specifically: two ext4 filesystems on separate AWS EBS block devices, both attached to the same Linux 64-core VM with lots of memory (larger than the data to be copied).

To minimize service disruption, we wanted to do a live inconsistent copy of the data to get most of it over, then stop the service, then do another quick increment copy, then start it up again.

This tool let us do the migration with minimal downtime.

Documentation

Overview

The cpc command is like cp but optimized for files like SQLite that are only written at 4K page granularity. It writes the dest file in-place and tries to not write a page that's identical.

Directories

Path Synopsis
Package cpc provides a copy function optimized for files like SQLite that are only written at 4K page granularity.
Package cpc provides a copy function optimized for files like SQLite that are only written at 4K page granularity.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL