Docu: first proof reading

This is a first proof reading of the currently existing documentation.

fixes (hopefully all):
* spelling
* grammar

Tries to increase readabilty and ease of understanding by simplifying
and restructing some sentences and paragraphs. Filler words which add
to the cognitive load but don't add anything are removed
(most notably `also`).
This commit is contained in:
Aaron Lauterer 2020-04-14 17:12:47 +02:00 committed by Dietmar Maurer
parent 9a328319dd
commit 4f3db187cf
6 changed files with 239 additions and 250 deletions

View File

@ -3,6 +3,7 @@ Administration Guide
The administration guide.
.. todo:: either add a bit more explanation or remove the previous sentence
Terminology
-----------
@ -12,7 +13,7 @@ Backup Content
When doing deduplication, there are different strategies to get
optimal results in terms of performance and/or deduplication rates.
Depending on the type of data, one can split data into fixed or variable
Depending on the type of data, one can split data into *fixed* or *variable*
sized chunks.
Fixed sized chunking needs almost no CPU performance, and is used to
@ -21,7 +22,7 @@ backup virtual machine images.
Variable sized chunking needs more CPU power, but is essential to get
good deduplication rates for file archives.
Therefore, the backup server supports both strategies.
The backup server supports both strategies.
File Archives: ``<name>.pxar``
@ -29,9 +30,9 @@ File Archives: ``<name>.pxar``
.. see https://moinakg.wordpress.com/2013/06/22/high-performance-content-defined-chunking/
A file archive stores a whole directory tree. Content is stored using
A file archive stores a full directory tree. Content is stored using
the :ref:`pxar-format`, split into variable sized chunks. The format
is specially optimized to achieve good deduplication rates.
is optimized to achieve good deduplication rates.
Image Archives: ``<name>.img``
@ -44,8 +45,8 @@ data. Content is split into fixed sized chunks.
Binary Data (BLOBs)
^^^^^^^^^^^^^^^^^^^
This type is used to store smaller (< 16MB) binaries like
configuration data. Larger files should be stored as image archive.
This type is used to store smaller (< 16MB) binary data such as
configuration files. Larger files should be stored as image archive.
.. caution:: Please do not store all files as BLOBs. Instead, use the
file archive to store whole directory trees.
@ -54,15 +55,15 @@ configuration data. Larger files should be stored as image archive.
Catalog File: ``catalog.pcat1``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The catalog file is basically an index for file archive. It contains
the list of files, and is used to speedup search operations.
The catalog file is an index for file archives. It contains
the list of files and is used to speed-up search operations.
The Manifest: ``index.json``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The manifest contains the list of all backup files, including
file sizes and checksums. It is used to verify the consistency of a
The manifest contains the list of all backup files, their
sizes and checksums. It is used to verify the consistency of a
backup.
@ -73,17 +74,17 @@ The backup server groups backups by *type*, where *type* is one of:
``vm``
This type is used for :term:`virtual machine`\ s. Typically
contains the virtual machine configuration and an image archive
contains the virtual machine's configuration and an image archive
for each disk.
``ct``
This type is used for :term:`container`\ s. Contains the container
This type is used for :term:`container`\ s. Contains the container's
configuration and a single file archive for the container content.
``host``
This type is used for physical host, or if you want to run backups
manually from inside virtual machines or containers. Such backups
may contain file and image archives (no restrictions here).
This type is used for backups created from within the backed up machine.
Typically this would be a physical host but could also be a virtual machine
or container. Such backups may contain file and image archives, there are no restrictions in this regard.
Backup ID
@ -102,14 +103,14 @@ The time when the backup was made.
Backup Group
~~~~~~~~~~~~
We call the tuple ``<type>/<ID>`` a backup group. Such group
may contains one or more backup snapshots.
The tuple ``<type>/<ID>`` is called a backup group. Such a group
may contain one or more backup snapshots.
Backup Snapshot
~~~~~~~~~~~~~~~
We call the triplet ``<type>/<ID>/<time>`` a backup snapshot. It
The triplet ``<type>/<ID>/<time>`` is called a backup snapshot. It
uniquely identifies a specific backup within a datastore.
.. code-block:: console
@ -118,25 +119,25 @@ uniquely identifies a specific backup within a datastore.
vm/104/2019-10-09T08:01:06Z
host/elsa/2019-11-08T09:48:14Z
As you can see, the time is formatted as RFC3399_ using Coordinated
As you can see, the time format is RFC3399_ with Coordinated
Universal Time (UTC_, identified by the trailing *Z*).
:term:`DataStore`
~~~~~~~~~~~~~~~~~
A datastore is a place to store backups. The current implementation
A datastore is a place where backups are stored. The current implementation
uses a directory inside a standard unix file system (``ext4``, ``xfs``
or ``zfs``) to store backup data.
or ``zfs``) to store the backup data.
Datastores are identified by a simple *ID*. You can configure that
Datastores are identified by a simple *ID*. You can configure it
when setting up the backup server.
Backup Server Management
------------------------
The command line tool to configure and manage the server is called
The command line tool to configure and manage the backup server is called
:command:`proxmox-backup-manager`.
@ -144,7 +145,7 @@ Datastore Configuration
~~~~~~~~~~~~~~~~~~~~~~~
A :term:`datastore` is a place to store backups. You can configure
several datastores, but you need at least one of them. The datastore is identified by a simple `name` and point to a directory.
multiple datastores. At least one datastore needs to be configured. The datastore is identified by a simple `name` and points to a directory.
The following command creates a new datastore called ``store1`` on :file:`/backup/disk1/store1`
@ -152,20 +153,20 @@ The following command creates a new datastore called ``store1`` on :file:`/backu
# proxmox-backup-manager datastore create store1 /backup/disk1/store1
To list existing datastores use:
To list existing datastores run:
.. code-block:: console
# proxmox-backup-manager datastore list
store1 /backup/disk1/store1
Finally, it is also possible to remove the datastore configuration:
Finally, it is possible to remove the datastore configuration:
.. code-block:: console
# proxmox-backup-manager datastore remove store1
.. note:: Above command removes the datastore configuration. It does
.. note:: The above command removes only the datastore configuration. It does
not delete any data from the underlying directory.
@ -184,16 +185,16 @@ The command line client is called :command:`proxmox-backup-client`.
Respository Locations
~~~~~~~~~~~~~~~~~~~~~
The client uses a special repository notation to specify a datastore
The client uses the following notation to specify a datastore repository
on the backup server.
[[username@]server:]datastore
If you do not specify a ``username`` the default is ``root@pam``. The
default for server is to use the local host (``localhost``).
The default value for ``username`` ist ``root``. If no server is specified, the
default is the local host (``localhost``).
You can pass the repository by setting the ``--repository`` command
line options, or by setting the ``PBS_REPOSITORY`` environment
You can pass the repository with the ``--repository`` command
line option, or by setting the ``PBS_REPOSITORY`` environment
variable.
@ -219,8 +220,8 @@ Environment Variables
Output Format
~~~~~~~~~~~~~
Most commands support the ``--output-format`` parameter, which can be
set to the following values:
Most commands support the ``--output-format`` parameter. It accepts
the following values:
:``text``: Text format (default). Structured data is rendered as a table.
@ -240,9 +241,9 @@ Please use the following environment variables to modify output behavior:
``PROXMOX_OUTPUT_NO_HEADER``
If set (to any value), do not render table headers.
.. note:: The ``text`` format is designed to be human readable, but
.. note:: The ``text`` format is designed to be human readable, and
not meant to be parsed by automation tools. Please use the ``json``
format for such purpose because it is machine readable.
format if you need to process the output.
.. _creating-backups:
@ -250,15 +251,15 @@ Please use the following environment variables to modify output behavior:
Creating Backups
~~~~~~~~~~~~~~~~
This section explains how to create backup on physical host, or from
inside virtual machines or containers. Such backups may contain file
and image archives (no restrictions here).
This section explains how to create a backup from within the machine. This can
be a physical host, a virtual machine, or a container. Such backups may contain file
and image archives. There are no restrictions in this case.
.. note:: If you want to backup virtual machines or containers see :ref:`pve-integration`.
.. note:: If you want to backup virtual machines or containers on Proxmov VE, see :ref:`pve-integration`.
The prerequisite is that you have already set up (or can access) a
backup server. It is assumed that you know the repository name and
credentials. In the following examples we simply use ``backup-server:store1``.
For the following example you need to have a backup server set up, working
credentials and need to know the repository name.
In the following examples we use ``backup-server:store1``.
.. code-block:: console
@ -275,15 +276,15 @@ credentials. In the following examples we simply use ``backup-server:store1``.
This will prompt you for a password and then uploads a file archive named
``root.pxar`` containing all the files in the ``/`` directory.
.. Caution:: Please note that proxmox-backup-client does not
.. Caution:: Please note that the proxmox-backup-client does not
automatically include mount points. Instead, you will see a short
``skip mount point`` notice for each of them. The idea is that you
create a separate file archive for each mounted disk. You can also
``skip mount point`` notice for each of them. The idea is to
create a separate file archive for each mounted disk. You can
explicitly include them using the ``--include-dev`` option
(i.e. ``--include-dev /boot/efi``). You can use this option
multiple times, once for each mount point you want to include.
multiple times for each mount point that should be included.
The ``--repository`` option is sometimes quite long and is used by all
The ``--repository`` option can get quite long and is used by all
commands. You can avoid having to enter this value by setting the
environment variable ``PBS_REPOSITORY``.
@ -291,26 +292,26 @@ environment variable ``PBS_REPOSITORY``.
# export PBS_REPOSTORY=backup-server:store1
You can then execute all commands without specifying the ``--repository``
After this you can execute all commands without specifying the ``--repository``
option.
One single backup is allowed to contain more than one archive. For example, assume you want to backup two disks mounted at ``/mmt/disk1`` and ``/mnt/disk2``:
One single backup is allowed to contain more than one archive. For example, if
you want to backup two disks mounted at ``/mmt/disk1`` and ``/mnt/disk2``:
.. code-block:: console
# proxmox-backup-client backup disk1.pxar:/mnt/disk1 disk2.pxar:/mnt/disk2
This create a backup of both disks.
This creates a backup of both disks.
The backup command takes a list of backup specifications, which
include archive name on the server, the type of the archive, and the
archive source at the client. The format is quite simple to understand:
include the archive name on the server, the type of the archive, and the
archive source at the client. The format is:
<archive-name>.<type>:<source-path>
Common types are ``.pxar`` for file archives, and ``.img`` for block
device images. Thus it is quite easy to create a backup for a block
device:
device images. To create a backup of a block device run the following command:
.. code-block:: console
@ -320,42 +321,43 @@ Excluding files/folders from a backup
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sometimes it is desired to exclude certain files or folders from a backup archive.
Using the proxmox backup client this is possible via simple text based
``.pxarexclude`` files placed in the filesystem hierarchy.
To tell the Proxmox backup client when and how to ignore files and directories,
place a text file called ``.pxarexclude`` in the filesystem hierarchy.
Whenever the backup client encounters such a file in a directory, it interprets
each line as glob match patterns for files and directories that are to be excluded
from the backup.
Whenever such a file is encountered in a directory, the backup client reads its
content and lines are interpreted as glob match patterns for files/directories
to exclude from the archive.
The file must contain a single glob pattern on each line. Empty lines are ignored.
The same is true for lines starting with ``#``, indicating a line containing comments.
Lines starting with ``!`` correspond to glob match patterns for explicit inclusion
of files previously excluded by a match. This allows for example to exclude
all entries in a directory except for a few single files.
Lines ending in ``/`` match directory entries only.
The folder containing the ``.pxarexclude`` file is considered to be the root of
the given patterns. It is only possible to match files in this or below this folder.
The file must contain a single glob pattern per line. Empty lines are ignored.
The same is true for lines starting with ``#``, which indicates a comment.
A ``!`` at the beginning of a line reverses the glob match pattern from an exclusion
to an explicit inclusion. This makes it possible to exclude all entries in a
directory except for a few single files/subdirectories.
Lines ending in ``/`` match only on directories.
The directory containing the ``.pxarexclude`` file is considered to be the root of
the given patterns. It is only possible to match files in this directory and its subdirectories.
``\`` is used to escape glob characters. ``?`` matches any single character,
``*`` matches any character including the empty string.
``**`` is used to match also subdirectories and can be used to exclude for example
all files ending in ``.tmp`` within the directory or a subdirectory by the
``\`` is used to escape special glob characters.
``?`` matches any single character.
``*`` matches any character, including an empty string.
``**`` is used to match subdirectories. It can be used to, for example, exclude
all files ending in ``.tmp`` within the directory or subdirectories with the
following pattern ``**/*.tmp``.
``[...]`` matches a single character from any of the provided characters within
the brackets. ``[!...]`` does the complementary and matches any singe character
not contained within the brackets. It is also possible to specify ranges by two
characters separated by ``-``. For example ``[a-z]`` matches any lowercase
alphabetic character, ``[0-9]`` matches any one single digit.
not contained within the brackets. It is also possible to specify ranges with two
characters separated by ``-``. For example, ``[a-z]`` matches any lowercase
alphabetic character and ``[0-9]`` matches any one single digit.
The order of the glob match patterns defines if the file is finally included or
The order of the glob match patterns defines if a file is included or
excluded, later entries win over previous ones.
This is also true for match patterns encountered deeper down the directory tree,
which may then override a previous exclusion.
Note however that folders marked for exclusion are not read by the client,
so ``.pxarexclude`` files contained within have no effect.
``.pxarexclude`` files are treated as regular files and are also included in the
which can override a previous exclusion.
Be aware that excluded directories will **not** be read by the backup client.
A ``.pxarexclude`` file in a subdirectory will have no effect.
``.pxarexclude`` files are treated as regular files and will be included in the
backup archive.
For example, consider the following folder structure:
For example, consider the following directory structure:
.. code-block:: console
@ -369,7 +371,7 @@ For example, consider the following folder structure:
folder/subfolder1:
. .. file0 file1 file2 file3
The ``.pxarexclude`` files containing the following:
The different ``.pxarexclude`` files contain the following:
.. code-block:: console
@ -386,7 +388,7 @@ The ``.pxarexclude`` files containing the following:
This would exclude ``file1`` and ``file3`` in ``subfolder0`` and all of
``subfolder1`` except ``file2``.
Restoring this archive form backup results in:
Restoring this backup will result in:
.. code-block:: console
@ -403,8 +405,8 @@ Restoring this archive form backup results in:
Encryption
^^^^^^^^^^
Proxmox backup support client side encryption using AES-256 in GCM_
mode. You first need to create an encryption key in order to use that:
Proxmox backup supports client side encryption with AES-256 in GCM_
mode. First you need to create an encryption key:
.. code-block:: console
@ -416,7 +418,7 @@ extra protection, you can also create it without a password:
.. code-block:: console
# proxmox-backup-client key create /path/to/my-backup.key --kdf none
# proxmox-backup-client key create /path/to/my-backup.key --kdf none
.. code-block:: console
@ -427,7 +429,7 @@ extra protection, you can also create it without a password:
...
You can avoid having to enter the passwords by setting the environment
You can avoid entering the passwords by setting the environment
variables ``PBS_PASSWORD`` and ``PBS_ENCRYPTION_PASSWORD``.
.. todo:: Explain master-key
@ -437,12 +439,12 @@ Restoring Data
~~~~~~~~~~~~~~
The regular creation of backups is a necessary step to avoid data
loss. More important, however, is the restoration. Be sure to perform
periodic recovery tests to ensure that you can access your data in
loss. More important, however, is the restoration. It is good practice to perform
periodic recovery tests to ensure that you can access the data in
case of problems.
First, you need to find the snapshot you want to restore. The snapshot
command gives you a list of all snapshots on the server:
First, you need to find the snapshot which you want to restore. The snapshot
command gives a list of all snapshots on the server:
.. code-block:: console
@ -452,7 +454,7 @@ command gives you a list of all snapshots on the server:
host/elsa/2019-12-03T09:35:01Z | 51790622048 | root.pxar catalog.pcat1 index.json
...
You can also inspect the catalog to find specific files.
You can inspect the catalog to find specific files.
.. code-block:: console
@ -470,9 +472,8 @@ backup.
# proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z root.pxar /target/path/
You can instead simply download the contents of any archive using '-'
instead of ``/target/path``. This dumps the content to standard
output:
To get the contents of any archive you can restore the ``ìndex.json`` file in the
repository and restore it to '-'. This will dump the content to the standard output.
.. code-block:: console
@ -494,20 +495,18 @@ to use the interactive recovery shell.
...
The interactive recovery shell is a minimalistic command line interface that
utilizes the metadata stored in the catalog for you to quickly list, navigate and
search files contained within a file archive.
You can select individual files as well as select files matched by a glob pattern
for restore.
utilizes the metadata stored in the catalog to quickly list, navigate and
search files in a file archive.
To restore files, you can select them individually or match them with a glob
pattern.
The use of the catalog for navigation reduces the overhead otherwise caused by
network traffic and decryption, as instead of downloading and decrypting
individual encrypted chunks from the chunk-store to access the metadata, we only
need to download and decrypt the catalog.
Using the catalog for navigation reduces the overhead considerably because only
the catalog needs to be downloaded and, optionally, decrypted.
The actual chunks are only accessed if the metadata in the catalog is not enough
or for the actual restore.
Similar to common UNIX shells ``cd`` and ``ls`` are the commands used to change
working directory and list directory contents of the archive.
working directory and list directory contents in the archive.
``pwd`` shows the full path of the current working directory with respect to the
archive root.
@ -567,7 +566,7 @@ This allows you to access the full content of the archive in a seamless manner.
load on your host, depending on the operations you perform on the mounted
filesystem.
To unmount the filesystem simply use the ``umount`` command on the mountpoint:
To unmount the filesystem use the ``umount`` command on the mountpoint:
.. code-block:: console
@ -579,7 +578,7 @@ Login and Logout
The client tool prompts you to enter the logon password as soon as you
want to access the backup server. The server checks your credentials
and responds with a ticket that is valid for two hours. The client
tool automatically stores that ticket and use it for further requests
tool automatically stores that ticket and uses it for further requests
to this server.
You can also manually trigger this login/logout using the login and
@ -590,7 +589,7 @@ logout commands:
# proxmox-backup-client login
Password: **********
To remove the ticket, simply issue a logout:
To remove the ticket, issue a logout:
.. code-block:: console
@ -608,60 +607,62 @@ command:
# proxmox-backup-client forget <snapshot>
.. caution:: This command removes all the archives in this backup
snapshot so that they are inaccessible and unrecoverable.
.. caution:: This command removes all archives in this backup
snapshot. They will be inaccessible and unrecoverable.
Such manual removal is sometimes required, but normally the prune
The manual removal is sometimes required, but normally the prune
command is used to systematically delete older backups. Prune lets
you specify which backup snapshots you want to keep. There are the
following retention options:
you specify which backup snapshots you want to keep. The
following retention options are available:
``--keep-last <N>``
Keep the last ``<N>`` backup snapshots.
``--keep-hourly <N>``
Keep backups for the last ``<N>`` different hours. If there is more than one
backup for a single hour, only the latest one is kept.
Keep backups for the last ``<N>`` hours. If there is more than one
backup for a single hour, only the latest is kept.
``--keep-daily <N>``
Keep backups for the last ``<N>`` different days. If there is more than one
backup for a single day, only the latest one is kept.
Keep backups for the last ``<N>`` days. If there is more than one
backup for a single day, only the latest is kept.
``--keep-weekly <N>``
Keep backups for the last ``<N>`` different weeks. If there is more than one
backup for a single week, only the latest one is kept.
Keep backups for the last ``<N>`` weeks. If there is more than one
backup for a single week, only the latest is kept.
.. note:: The weeks start on Monday and end on Sunday. The software
uses the `ISO week date`_ system and correctly handles weeks at
the end of the year.
.. note:: Weeks start on Monday and end on Sunday. The software
uses the `ISO week date`_ system and handles weeks at
the end of the year correctly.
``--keep-monthly <N>``
Keep backups for the last ``<N>`` different months. If there is more than one
backup for a single month, only the latest one is kept.
Keep backups for the last ``<N>`` months. If there is more than one
backup for a single month, only the latest is kept.
``--keep-yearly <N>``
Keep backups for the last ``<N>`` different years. If there is more than one
backup for a single year, only the latest one is kept.
Keep backups for the last ``<N>`` years. If there is more than one
backup for a single year, only the latest is kept.
The retention options are processed in the order given above. Each option
only covers backups within its time period. The next option does not take care
of already covered backups. It will only consider older backups.
Those retention options are processed in the order given above. Each
option covers a specific period of time. We say that backups within
this period are covered by this option. The next option does not take
care of already covered backups and only considers older backups.
For example, the ``--keep-monthly`` option does not consider any backup that is
younger than one month.
The prune command also looks for unfinished and incomplete backups and
removes them unless they are newer than the last successful backup. In
this case, the last failed backup is retained.
.. todo:: check if the previous statement is correct
Unfinished and incomplete backups will be removed by the prune command unless
they are newer than the last successful backup. In this case, the last failed
backup is retained.
.. code-block:: console
# proxmox-backup-client prune <group> --keep-daily 7 --keep-weekly 4 --keep-monthly 3
You can use the ``--dry-run`` option to test your settings. This just
shows the list of existing snapshots and what action prune would take
on that.
You can use the ``--dry-run`` option to test your settings. This only
shows the list of existing snapshots and which action prune would take.
.. code-block:: console
@ -676,8 +677,8 @@ on that.
.. note:: Neither the ``prune`` command nor the ``forget`` command free space
in the chunk-store. The chunk-store still contains the data blocks
unless you are performing :ref:`garbage-collection`.
in the chunk-store. The chunk-store still contains the data blocks. To free
space you need to perform :ref:`garbage-collection`.
.. _garbage-collection:
@ -687,8 +688,7 @@ Garbage Collection
The ``prune`` command removes only the backup index files, not the data
from the data store. This task is left to the garbage collection
command. It is therefore recommended to carry out garbage collection
regularly.
command. It is recommended to carry out garbage collection on a regular basis.
The garbage collection works in two phases. In the first phase, all
data blocks that are still in use are marked. In the second phase,

View File

@ -5,24 +5,23 @@ Glossary
`Virtual machine`_
A Virtual machine is a program that can execute an entire
operatin system inside an emulated hardware environment.
A virtual machine is a program that can execute an entire
operating system inside an emulated hardware environment.
`Container`_
A Container is an isolated user space. Programs runs directly on
the hosts kernel, but with limited access to the host resources.
A container is an isolated user space. Programs run directly on
the host's kernel, but with limited access to the host resources.
Datastore
A place to store backups. The current implemenation is
file-system based, so this refers to a directory containing the
backup data.
A place to store backups. A directory which contains the backup data.
The current implemenation is file-system based.
`Rust`_
Rust is a new, fast and memory-efficient system programming
language, with no runtime or garbage collector. Rusts rich type
language. It has no runtime or garbage collector. Rusts rich type
system and ownership model guarantee memory-safety and
thread-safety. I can eliminate many classes of bugs
at compile-time.
@ -31,11 +30,9 @@ Glossary
Is a tool that makes it easy to create intelligent and
beautiful documentation. It was originally created for the
Python documentation, and it has excellent facilities for the
documentation of the Python programming language. It has excellent facilities for the
documentation of software projects in a range of languages.
`reStructuredText`_
Is an easy-to-read, what-you-see-is-what-you-get plaintext
@ -44,8 +41,8 @@ Glossary
`FUSE`
Filesystem in Userspace (`FUSE <https://en.wikipedia.org/wiki/Filesystem_in_Userspace>`_)
defines an interface which allows to implement a filesystem in
defines an interface which makes it possible to implement a filesystem in
userspace as opposed to implementing it in the kernel. The fuse
kernel driver handles filesystem requests and sends them to an
userspace application for reply.
kernel driver handles filesystem requests and sends them to a
userspace application.

View File

@ -1,55 +1,50 @@
Installation
============
`Proxmox Backup`_ is split into a server part and a client part. The
server part comes with it's own graphical installer, but we also
ship Debian_ package repositories, so you can easily install those
packages on any Debian_ based system.
`Proxmox Backup`_ is split into a server and client part. The server part
can either be installed with a graphical installer or on top of
Debian_ from the provided package repository.
.. include:: package-repositories.rst
Server installation
-------------------
The backup server stores the actual backup data, but also provides a
web based GUI for various management tasks, for example disk
management.
The backup server stores the actual backed up data and provides a web based GUI
for various management tasks such as disk management.
.. note:: You always need a backup server. It is not possible to use
`Proxmox Backup`_ without the server part.
The server is based on Debian, therefore the disk image (ISO file) provided
by us includes a complete Debian system ("buster" for version 1.x) as
well as all necessary backup packages.
The disk image (ISO file) provided by Proxmox includes a complete Debian system
("buster" for version 1.x) as well as all necessary packages for the `Proxmox Backup`_ server.
Using the installer will guide you through the setup, allowing
The installer will guide you through the setup process and allows
you to partition the local disk(s), apply basic system configurations
(e.g. timezone, language, network) and install all required packages.
Using the provided ISO will get you started in just a few minutes,
that's why we recommend this method for new and existing users.
(e.g. timezone, language, network), and installs all required packages.
The provided ISO will get you started in just a few minutes, and is the
recommended method for new and existing users.
Alternatively, `Proxmox Backup`_ server can be installed on top of an
existing Debian system.
Using the `Proxmox Backup`_ Installer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install `Proxmox Backup`_ with the Installer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can download the ISO from |DOWNLOADS|.
Download the ISO from |DOWNLOADS|.
It includes the following:
* The `Proxmox Backup`_ server installer, which partitions the local
disk(s) with ext4, ext3, xfs or ZFS, and installs the operating
system.
* Complete operating system (Debian Linux, 64-bit)
* The `Proxmox Backup`_ server installer, which partitions the local
disk(s) with ext4, ext3, xfs or ZFS and installs the operating
system.
* Our Linux kernel with ZFS support.
* Complete toolset for administering backups and all necessary
resources
* Complete tool-set to administer backups and all necessary resources
* Web based management interface for using the toolset
* Web based GUI management interface
.. note:: During the installation process, the complete server
is used by default and all existing data is removed.
@ -58,8 +53,8 @@ It includes the following:
Install `Proxmox Backup`_ server on Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proxmox ships as a set of Debian packages, so you can install it on
top of a standard Debian installation. After configuring the
Proxmox ships as a set of Debian packages which can be installed on top of a
standard Debian installation. After configuring the
:ref:`sysadmin_package_repositories`, you need to run:
.. code-block:: console
@ -67,7 +62,7 @@ top of a standard Debian installation. After configuring the
# apt-get update
# apt-get install proxmox-backup-server
Above code keeps the current (Debian) kernel and installs a minimal
The commands above keep the current (Debian) kernel and install a minimal
set of required packages.
If you want to install the same set of packages as the installer
@ -78,16 +73,15 @@ does, please use the following:
# apt-get update
# apt-get install proxmox-backup
This installs all required packages, the Proxmox kernel with ZFS_
support, and a set of commonly useful packages.
This will install all required packages, the Proxmox kernel with ZFS_
support, and a set of common and useful packages.
Installing on top of an existing Debian_ installation looks easy, but
it presumes that you have correctly installed the base system, and you
know how you want to configure and use the local storage. Network
configuration is also completely up to you.
Installing `Proxmox Backup`_ on top of an existing Debian_ installation looks easy, but
it presumes that the base system and local storage has been set up correctly.
In general, this is not trivial, especially when you use LVM_ or
ZFS_.
In general this is not trivial, especially when LVM_ or ZFS_ is used.
The network configuration is completely up to you as well.
Install Proxmox Backup server on `Proxmox VE`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -101,9 +95,9 @@ After configuring the
# apt-get install proxmox-backup-server
.. caution:: Installing the backup server directly on the hypervisor
is not recommended. It is more secure to use a separate physical
server to store backups. If the hypervisor server fails, you can
still access your backups.
is not recommended. It is safer to use a separate physical
server to store backups. Should the hypervisor server fail, you can
still access the backups.
Client installation
-------------------
@ -111,8 +105,8 @@ Client installation
Install `Proxmox Backup`_ client on Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proxmox ships as a set of Debian packages, so you can install it on
top of a standard Debian installation. After configuring the
Proxmox ships as a set of Debian packages to be installed on
top of a standard Debian installation. After configuring the
:ref:`sysadmin_package_repositories`, you need to run:
.. code-block:: console

View File

@ -1,14 +1,14 @@
Introduction
============
This documentationm is written in :term:`reStructuredText` and formatted with :term:`Sphinx`.
This documentation is written in :term:`reStructuredText` and formatted with :term:`Sphinx`.
What is Proxmox Backup
----------------------
Proxmox Backup is an enterprise class client-server backup software,
specially optimized for `Proxmox Virtual Environment`_ to backup
specially optimized for the `Proxmox Virtual Environment`_ to backup
:term:`virtual machine`\ s and :term:`container`\ s. It is also
possible to backup physical hosts.
@ -24,23 +24,23 @@ Architecture
------------
Proxmox Backup uses a `Client-server model`_. The server is
responsible to store the backup data, and provides an API to create
backups and restore data. It is also possible to manage disks and
responsible to store the backup data and provides an API to create
backups and restore data. It is possible to manage disks and
other server side resources using this API.
A backup client uses this API to access the backed up data,
i.e. ``proxmox-backup-client`` is a command line tool to create
backups and restore data. We also deliver an integrated client for
backups and restore data. We deliver an integrated client for
QEMU_ with `Proxmox Virtual Environment`_.
A single backup is allowed to contain several archives. For example,
when you backup a :term:`virtual machine`, each disk is stored as a
separate archive inside that backup. The VM configuration also gets an
extra file. This way, it is easy to access and restore important parts
of the backup, without having to scan the whole backup.
of the backup without having to scan the whole backup.
Main features
Main Features
-------------
:Proxmox VE: The `Proxmox Virtual Environment`_ is fully
@ -49,52 +49,52 @@ Main features
:GUI: We provide a graphical, web based user interface.
:Deduplication: Incremental backup produces large amounts of duplicate
:Deduplication: Incremental backups produce large amounts of duplicate
data. The deduplication layer removes that redundancy and makes
inkremental backup small and space efficient.
incremental backups small and space efficient.
:Data Integrity: The built in `SHA-256`_ checksum algorithm assures the
accuracy and consistency of your backups.
:Remote Sync: It is possible to efficently synchronize data to remote
sites. Only deltas containing new data are transfered.
:Remote Sync: It is possible to efficiently synchronize data to remote
sites. Only deltas containing new data are transferred.
:Performance: The whole software stack is written in :term:`Rust`,
which provides high speed and memory efficiency.
to provide high speed and memory efficiency.
:Compression: Ultra fast Zstandard_ compression is able to compress
several gigabytes of data per second.
:Encryption: Backups can be encrypted at client side using AES-256 in
:Encryption: Backups can be encrypted client-side using AES-256 in
GCM_ mode. This authenticated encryption mode (AE_) provides very
high performance on modern hardware.
:Open Source: No secrets. You have access to the whole source tree.
:Open Source: No secrets. You have access to all the source code.
:Support: Commercial support options available from `Proxmox`_.
:Support: Commercial support options are available from `Proxmox`_.
Why Backup?
-----------
The primary purpose of backup is to protect against data loss. Data
loss can happen because of faulty hardware, but also by human errors.
The primary purpose of a backup is to protect against data loss. Data
loss can be caused by faulty hardware, but also by human error.
A common mistake is to delete a file or folder which is still
required. Virtualization can amplify this problem, because it is now
easy to delete a whole virtual machine by a single button press.
required. Virtualization can amplify this problem. It is now
easy to delete a whole virtual machine by pressing a single button.
Backups can also serve as a toolkit for administrators to temporarily
Backups can serve as a toolkit for administrators to temporarily
store data. For example, it is common practice to perform full backups
before installing major software updates. If something goes wrong, you
can just restore the previous state.
can restore the previous state.
Another reason for backups are legal requirements. Some data must be
kept in a safe place for several years so that you can access it if
required by law.
kept in a safe place for several years by law, so that it can be accessed if
required.
Data loss can be very costly as it can severely restrict your
business. Therefore, make sure that you regularly perform a backup
business. Therefore, make sure that you perform a backup regularly
and run restore tests.

View File

@ -5,12 +5,12 @@ Debian Package Repositories
All Debian based systems use APT_ as package
management tool. The list of repositories is defined in
``/etc/apt/sources.list`` and ``.list`` files found inside
``/etc/apt/sources.d/``. Updates can be installed directly using
``/etc/apt/sources.list`` and ``.list`` files found in the
``/etc/apt/sources.d/`` directory. Updates can be installed directly with
the ``apt`` command line tool, or via the GUI.
APT_ ``sources.list`` files list one package repository per line, with
the most preferred source listed first. Empty lines are ignored, and a
the most preferred source listed first. Empty lines are ignored and a
``#`` character anywhere on a line marks the remainder of that line as a
comment. The information available from the configured sources is
acquired by ``apt update``.
@ -33,7 +33,7 @@ the backup server binaries.
`Proxmox Backup`_ Enterprise Repository
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is the default, stable and recommended repository, available for
This is the default, stable, and recommended repository. It is available for
all `Proxmox Backup`_ subscription users. It contains the most stable packages,
and is suitable for production use. The ``pbs-enterprise`` repository is
enabled by default:
@ -44,15 +44,13 @@ enabled by default:
deb https://enterprise.proxmox.com/debian/pbs buster pbs-enterprise
As soon as updates are available, the superuser (``root@pam`` user) is
notified via email about the available new packages. On the GUI, the
change-log of each package can be viewed (if available), showing all
details of the update. So you will never miss important security
fixes.
To never miss important security fixes, the superuser (``root@pam`` user) is
notified via email about new packages as soon as they are available. The
change-log and details of each package can be viewed in the GUI (if available).
Please note that you need a valid subscription key to access this
repository. We offer different support levels, and you can find further
details at https://www.proxmox.com/en/proxmox-backup/pricing.
repository. More information regarding subscription levels and pricing can be
found at https://www.proxmox.com/en/proxmox-backup/pricing.
.. note:: You can disable this repository by commenting out the above
line using a `#` (at the start of the line). This prevents error
@ -65,7 +63,7 @@ details at https://www.proxmox.com/en/proxmox-backup/pricing.
As the name suggests, you do not need a subscription key to access
this repository. It can be used for testing and non-production
use. Its not recommended to run on production servers, as these
use. It is not recommended to use it on production servers, because these
packages are not always heavily tested and validated.
We recommend to configure this repository in ``/etc/apt/sources.list``.
@ -92,9 +90,9 @@ latest packages and is heavily used by developers to test new
features.
.. warning:: the ``pbstest`` repository should (as the name implies)
only be used for testing new features or bug fixes.
only be used to test new features or bug fixes.
As usual, you can configure this using ``/etc/apt/sources.list`` by
You can configure this using ``/etc/apt/sources.list`` by
adding the following line:
.. code-block:: sources.list

View File

@ -1,15 +1,15 @@
Description
^^^^^^^^^^^
``pxar`` is a command line utility used to create and manipulate archives in the
``pxar`` is a command line utility to create and manipulate archives in the
:ref:`pxar-format`.
It is inspired by `casync file archive format
<http://0pointer.net/blog/casync-a-tool-for-distributing-file-system-images.html>`_,
which has a similar use-case.
The ``.pxar`` format is adapted to fulfill the specific needs of the proxmox
backup server, for example efficient storage of hardlinks.
which caters to a similar use-case.
The ``.pxar`` format is adapted to fulfill the specific needs of the Proxmox
Backup Server, for example, efficient storage of hardlinks.
The format is designed to reduce storage space needed on the server by achieving
high de-duplication.
a high level of de-duplication.
Creating an Archive
^^^^^^^^^^^^^^^^^^^
@ -20,23 +20,23 @@ Run the following command to create an archive of a folder named ``source``:
# pxar create archive.pxar source
This will create a new archive called ``archive.pxar`` from the contents of the
This will create a new archive called ``archive.pxar`` with the contents of the
``source`` folder.
.. NOTE:: ``pxar`` will not overwrite any existing archives. If an archive with
the same name is already present in the target folder, the creation will
fail.
By default, ``pxar`` will skip certain mountpoints and not follow device
By default, ``pxar`` will skip certain mountpoints and will not follow device
boundaries. This design decision is based on the primary use case of creating
archives for backups, where it makes no sense to store the content of certain
archives for backups. It is sensible to not back up the contents of certain
temporary or system specific files.
In order to alter this behavior and follow device boundaries, use the
To alter this behavior and follow device boundaries, use the
``--all-file-systems`` flag.
It is possible to exclude certain files and/or folders from the archive by
passing glob match patterns as additional parameters. Whenever a file is matched
by one of the patterns, you will get a warning saying that this file is skipped
by one of the patterns, you will get a warning stating that this file is skipped
and therefore not included in the archive.
For example, you can exclude all files ending in ``.txt`` from the archive
@ -50,7 +50,7 @@ Be aware that the shell itself will try to expand all of the glob patterns befor
invoking ``pxar``.
In order to avoid this, all globs have to be quoted correctly.
It is also possible to pass a list of match pattern to fulfill more complex
It is possible to pass a list of match patterns to fulfill more complex
file exclusion/inclusion behavior, although it is recommended to use the
``.pxarexclude`` files instead for such cases.
@ -67,7 +67,7 @@ All the glob pattern are relative to the ``source`` directory.
previous ones. Permutations of the same patterns lead to different results.
``pxar`` will store the list of glob match patterns passed as parameters via the
command line in a file called ``.pxarexclude-cli`` and store it at the root of
command line in a file called ``.pxarexclude-cli`` and stores it at the root of
the archive.
If a file with this name is already present in the source folder during archive
creation, this file is not included in the archive and the file containing the
@ -79,9 +79,9 @@ It is possible to create and place these files in any directory of the filesyste
tree.
These files must contain one pattern per line, again later patterns win over
previous ones.
The patterns control file exclusion of files present within the given directory
The patterns control file exclusions of files present within the given directory
or further below it in the tree.
The behaviour is the same as described in :ref:`creating-backups`.
The behavior is the same as described in :ref:`creating-backups`.
Extracting an Archive
^^^^^^^^^^^^^^^^^^^^^
@ -96,7 +96,7 @@ with the following command:
If no target is provided, the content of the archive is extracted to the current
working directory.
In order to restore only part of an archive or single files and/or folders,
In order to restore only parts of an archive, single files and/or folders,
it is possible to pass the corresponding glob match patterns as additional
parameters or use the patterns stored in a file:
@ -109,8 +109,8 @@ sub-folders in the archive ``etc.pxar`` to the target ``/restore/target/etc``.
A path to the file containing match patterns can be specified using the
``--files-from`` parameter.
List the Content of an Archive
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
List the Contents of an Archive
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To display the files and directories contained in an archive ``archive.pxar``,
run the following command:
@ -126,7 +126,7 @@ Mounting an Archive
^^^^^^^^^^^^^^^^^^^
``pxar`` allows you to mount and inspect the contents of an archive via _`FUSE`.
In order to mount an archive named ``archive.pxar`` to the mountpoint ``mnt``,
In order to mount an archive named ``archive.pxar`` to the mountpoint ``/mnt``,
run the command:
.. code-block:: console