Frequently Asked Questions
Questions
- What is a Snapshot?
- What is a Repository?
- What is a Policy?
- How to Restore My Backed Up Files/Directories?
- How Do I Define Files And Folders To Be Ignored By Kopia
- How Do I Enable Encryption?
- How Do I Enable Compression?
- How Do I Enable Data Deduplication?
- How Do I Change My Repository Password?
- Does Kopia Support Storage Classes, Like Amazon Glacier?
- How Do I Decrease Kopia’s CPU Usage?
- How Do I Decrease Kopia’s Memory (RAM) Usage?
- What are Incomplete Snapshots?
- What is a Kopia Repository Server?
- How does the KopiaUI handle multiple repositories?
Is your question not answered here? Please ask in the Kopia discussion forums for help!
Answers
What is a Snapshot?
A snapshot
is a point-in-time backup of your files/directories; each snapshot contains the files/directories that you can restore when you need to.
What is a Repository?
A repository
is the storage location where your snapshots are saved; Kopia supports cloud/remote, network, and local storage locations and all repositories are encrypted with a password that you designate.
See the repository help docs for more information.
What is a Policy?
A policy
is a set of rules that tells Kopia how to create/manage snapshots; this includes features such as compression, snapshot retention, and scheduling when to take snapshots automatically.
How to Restore My Backed Up Files/Directories?
Files/directories are restored from the snapshots you create. To restore the data you backed up in a snapshot, Kopia gives you three options:
-
mount the contents of a snapshot as a local disk so that you can browse and copy files/directories from the snapshot as if the snapshot is a local directory on your machine;
-
restore all files/directories contained in a snapshot to any local or network location that you designate;
-
or selectively restore individual files from a snapshot.
The Getting Started Guide provides directions on how to restore files/directions when using Kopia GUI and when using Kopia CLI.
How Do I Define Files And Folders To Be Ignored By Kopia?
Files and directories can be ignored from snapshots by adding ignore rules
to the policy
or creating .kopiaignore
files. For more information, please refer to our guide on creating ignore rules.
How Do I Enable Encryption?
Encryption is at the repository
level, and Kopia encrypts all snapshots in all repositories by default. Kopia asks for a password when creating your repository
. This password is used to encrypt your backups.
By default, Kopia uses the AES256-GCM-HMAC-SHA256
encryption algorithm for all repositories, but you can choose CHACHA20-POLY1305-HMAC-SHA256
if you want to. Picking an encryption algorithm is done when you initially create a repository
. In KopiaUI
, to pick the CHACHA20-POLY1305-HMAC-SHA256
encryption algorithm, you need to click the Show Advanced Options
button at the screen where you enter your password when creating a new repository
. For Kopia CLI users, you need to use the --encryption=CHACHA20-POLY1305-HMAC-SHA256
option when creating a repository
with the kopia repository create
command.
Currently, encryption algorithms cannot be changed after a repository
has been created.
NOTE There is no way to recover it or the files and folders within that repository. Store your repository password in a safe place, such as a password manager, so you can retrieve it later.
How Do I Enable Compression?
Compression is controlled by policies and is disabled by default. If compression is not working for a snapshot, it is likely that you have not enabled compression yet in your policy
.
Enabling compression when using KopiaUI
is easy; edit the policy
you want to add compression to and pick a Compression Algorithm
in the Compression
section. Kopia CLI users need to use the kopia policy set
command as shown in the Getting Started Guide. You can set compression on a per-source-directory basis…
kopia policy set </path/to/source/directory/> --compression=<none|deflate-best-compression|deflate-best-speed|deflate-default|gzip|gzip-best-compression|gzip-best-speed|pgzip|pgzip-best-compression|pgzip-best-speed|s2-better|s2-default|s2-parallel-4|s2-parallel-8|zstd|zstd-better-compression|zstd-fastest>
…or globally for all source directories:
kopia policy set --global --compression=<none|deflate-best-compression|deflate-best-speed|deflate-default|gzip|gzip-best-compression|gzip-best-speed|pgzip|pgzip-best-compression|pgzip-best-speed|s2-better|s2-default|s2-parallel-4|s2-parallel-8|zstd|zstd-better-compression|zstd-fastest>
If you enable or disable compression or change the compression algorithm, the new setting is applied going forward and not reteroactively. In other words, Kopia will not modify the compression for files/directories already uploaded to your repository.
If you are unclear about what compression algorithm to use, zstd
is considered one of the top algorithms currently.
How Do I Enable Data Deduplication?
Data deduplication is enabled automatically by Kopia for all repositories, regardless of whether you use the GUI or CLI. You do not need to do anything.
How Do I Change My Repository Password?
You must use Kopia CLI if you want to change your repository
password; changing password is not currently supported via Kopia GUI. The kopia repository change-password
command is used to change your password.
Before changing your password, you must be connected to your repository
. This means that you can reset your password if you forget your password AND you are still connected to your repository
. But this also means that you cannot reset your password if you forget your password and you are NOT still connected to your repository
, because you will need your current password to connect to the repository
.
Remember to select a secure repository password. The password is used to decrypt and access the data in your snapshots.
Does Kopia Support Storage Classes, Like Amazon Glacier?
Yes. Please read the storage classes guide to learn more.
How Do I Decrease Kopia’s CPU Usage?
It is difficult to know what is causing high CPU use on your machine without details about your unique issue (which you can post about on the community forums). However, generally speaking, there are two policy
settings you should change if you want to decrease the amount of CPU Kopia uses while creating snapshots:
- Maximum Parallel Snapshots: This setting controls how many snapshots Kopia runs simultaneously. The lower this number, the less CPU Kopia will use when running multiple snapshots – with the caveat that the total time it takes to run all your snapshots will be higher. This setting is not applicable if you only ever run one snapshot at a time.
- Kopia CLI users can change this setting by running the
kopia policy set --global --max-parallel-snapshots=#
command, where#
is the number of snapshots you want Kopia to run simultaneously. - Kopia GUI users can change this setting from the
Upload
tab when editing theglobal
policy inKopiaUI
.
- Kopia CLI users can change this setting by running the
- Maximum Parallel File Reads: This setting controls how many files Kopia uploads simultaneously when running a snapshot. The lower this number, the less CPU Kopia will use when running a snapshot – with the caveat that it will take longer to complete a snapshot. By default, Kopia sets this setting to the number of logical cores your machine’s CPU has, so make sure to lower it to a smaller number than the default.
- Kopia CLI users can change this setting by running the
kopia policy set [target] --max-parallel-file-reads=#
command, where#
is the number of file uploads you want Kopia to run simultaneously. This setting can be set per policy or globally, in which case make sure to use--global
in yourkopia policy set
command. - Kopia GUI users can change this setting from the
Upload
tab when editing policies inKopiaUI
, either theglobal
policy or individual policies.
- Kopia CLI users can change this setting by running the
An added benefit of decreasing these settings is that Kopia’s memory usage will also decrease.
How Do I Decrease Kopia’s Memory (RAM) Usage?
It is difficult to know what is causing high memory use on your machine without details about your unique issue (which you can post about on the community forums). However, generally speaking, compression and parallelism (i.e., simultaneous snapshots or simultaneous uploads) are the two big culprits of memory usage in Kopia when creating snapshots. If you want to decrease the amount of memory used by Kopia, you should tweak these settings:
- Disabling compression will result in less memory usage than enabling compression. If you want to keep compression, compression benchmarks suggest
s2
,deflate
, andgzip
are the most memory-friendly compression algorithms when backing up small files. When backing up large files, all the compression algorithms have similar memory usage. Thus, if your machine has low memory, trys2
,deflate
, orgzip
. Read the FAQ on enabling compression to learn how to change or remove compression in Kopia. - Decreasing the number of parallel snapshots and parallel file reads will decrease Kopia’s memory usage because Kopia will run fewer simultaneous processes. Read the FAQ on decreasing Kopia’s CPU usage to learn how to decrease parallelism in Kopia.
What are Incomplete Snapshots?
When creating snapshots from large files or folders, Kopia
sometimes marks snapshots as incomplete. This is because Kopia
creates checkpoints
at predefined time intervals. If a snapshot takes longer than the predefined checkpoint interval, Kopia
creates a temporary incomplete snapshot, preventing the snapshot from being garbage-collected by the maintenance tasks. Kopia will remove incomplete snapshots once a complete snapshot of the files and directories has been created.
For more information on the checkpoint interval
, please refer to the command-line reference.
What is a Kopia Repository Server?
See the Kopia Repository Server help docs for more information.
KopiaUI and Multiple Repositories
When KopiaUI starts up, it will look for configuration files in Kopia’s configuration directory (%APPDATA%\kopia
on Windows; $HOME/.config/kopia
on linux; $HOME/Library/Application Support/kopia
on macOS). KopiaUI will look for all files ending in *.config
and use these configurations to determine the set of repositories to connect to.
KopiaUI will always look for a repository.config
file, even if that file does not exist, in which case it will try to start up a connection which will never succeed.
Be aware that if you create multiple config files for testing purposes, eg, repository.orig.config
, repository.test1.config
, repository.test2.config
, etc., KopiaUI will try to connect to ALL of them at startup, even if they are not intended to be valid. Thus, if you don’t want KopiaUI to use a config file, make sure it ends in something other than .config
.