* [pbs-devel] [PATCH docs 1/2] Add section "GUI" @ 2020-10-02 14:12 Dylan Whyte 2020-10-02 14:12 ` [pbs-devel] [PATCH docs 2/2] Restructure docs (more first level headings) Dylan Whyte 2020-10-05 8:01 ` [pbs-devel] applied: [PATCH docs 1/2] Add section "GUI" Thomas Lamprecht 0 siblings, 2 replies; 4+ messages in thread From: Dylan Whyte @ 2020-10-02 14:12 UTC (permalink / raw) To: pbs-devel Section provides a brief overview of the web interface Signed-off-by: Dylan Whyte <d.whyte@proxmox.com> --- docs/gui.rst | 135 ++++++++++++++++++ .../pbs-gui-administration-serverstatus.png | Bin 0 -> 129701 bytes docs/images/screenshots/pbs-gui-dashboard.png | Bin 0 -> 122053 bytes .../screenshots/pbs-gui-login-window.png | Bin 0 -> 16163 bytes 4 files changed, 135 insertions(+) create mode 100644 docs/gui.rst create mode 100644 docs/images/screenshots/pbs-gui-administration-serverstatus.png create mode 100644 docs/images/screenshots/pbs-gui-dashboard.png create mode 100644 docs/images/screenshots/pbs-gui-login-window.png diff --git a/docs/gui.rst b/docs/gui.rst new file mode 100644 index 00000000..8addff4e --- /dev/null +++ b/docs/gui.rst @@ -0,0 +1,135 @@ +Graphical User Interface +======================== + +Proxmox Backup Server offers an integrated, web-based interface to manage the +server. This means that you can carry out all administration tasks through your +web browser, and that you don't have to worry about installing extra management +tools. The web interface also provides a built in console, so if you prefer the +command line or need some extra control, you have this option. + +The web interface can be accessed via https://youripaddress:8007. The default +login is `root`, and the password is the one specified during the installation +process. + + +Features +-------- + +* Simple management interface for Proxmox Backup Server +* Monitoring of tasks, logs and resource usage +* Management of users, permissions, datastores, etc. +* Secure HTML5 console +* Support for multiple authentication sources +* Support for multiple languages +* Based on ExtJS 6.x JavaScript framework + + +Login +----- + +.. image:: images/screenshots/pbs-gui-login-window.png + :width: 250 + :align: right + :alt: PBS login window + +When you connect to the web interface, you will first see the login window. +Proxmox Backup Server supports various languages and authentication backends +(*Realms*), both of which can be selected here. + +.. note:: For convenience, you can save the username on the client side, by + selecting the "Save User name" checkbox at the bottom of the window. + + +GUI Overview +------------ + +.. image:: images/screenshots/pbs-gui-dashboard.png + :width: 250 + :align: right + :alt: PBS GUI Dashboard + +The Proxmox Backup Server web interface consists of 3 main sections: + +* **Header**: At the top. This shows version information, and contains buttons to view + documentation, monitor running tasks, and logout. +* **Sidebar**: On the left. This contains the configuration options for + the server. +* **Configuration Panel**: In the center. This contains the control interface for the + configuration options in the *Sidebar*. + + +Sidebar +------- + +In the sidebar, on the left side of the page, you can see various items relating +to specific management activities. + + +Dashboard +^^^^^^^^^ + +The Dashboard shows a summary of activity and resource usage on the server. +Specifically, this displays hardware usage, a summary of +previous and currently running tasks, and subscription information. + + +Configuration +^^^^^^^^^^^^^ + +The Configuration section contains some system configuration options, such as +time and network configuration. It also contains the following subsections: + +* **User Management**: Add users and manage accounts +* **Permissions**: Manage permissions for various users +* **Remotes**: Add, edit and remove remotes (see :term:`Remote`) +* **Sync Jobs**: Manage and run sync jobs to remotes +* **Subscription**: Upload a subscription key and view subscription status + + +Administration +^^^^^^^^^^^^^^ + +.. image:: images/screenshots/pbs-gui-administration-serverstatus.png + :width: 250 + :align: right + :alt: Administration: Server Status overview + +The Administration section contains a top panel, with further administration +tasks and information. These are: + +* **ServerStatus**: Provides access to the console, power options, and various + resource usage statistics +* **Services**: Manage and monitor system services +* **Updates**: An interface for upgrading packages +* **Syslog**: View log messages from the server +* **Tasks**: Task history with multiple filter options + +.. image:: images/screenshots/pbs-gui-disks.png + :width: 250 + :align: right + :alt: Administration: Disks + +The administration menu item also contains a disk management subsection: + +* **Disks**: View information on available disks + + * **Directory**: Create and view information on *ext4* and *xfs* disks + * **ZFS**: Create and view information on *ZFS* disks + + +Datastore +^^^^^^^^^ + +.. image:: images/screenshots/pbs-gui-datastore.png + :width: 250 + :align: right + :alt: Datastore Configuration + +The Datastore section provides an interface for creating and managing +datastores. It contains a subsection for each datastore on the system, in +which you can use the top panel to view: + +* **Content**: Information on the datastore's backup groups and their respective + contents +* **Statistics**: Usage statistics for the datastore +* **Permissions**: View and manage permissions for the datastore diff --git a/docs/images/screenshots/pbs-gui-administration-serverstatus.png b/docs/images/screenshots/pbs-gui-administration-serverstatus.png new file mode 100644 index 0000000000000000000000000000000000000000..a480bfb374d2a646b33d60098ba676a8fb512414 GIT binary patch literal 129701 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ª%&r_p+tcn<1{DyDq-+@kN1yr=z6r`ybHY4$-;w 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 literal 0 HcmV?d00001 diff --git a/docs/images/screenshots/pbs-gui-dashboard.png b/docs/images/screenshots/pbs-gui-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..95d07a5b44c3531cab774a90c216e846201880e4 GIT binary patch literal 122053 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	qmTnhrPRZ|5JGLPtkqKXNY>nkn`;zQeN75K*HS@ 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 literal 0 HcmV?d00001 diff --git a/docs/images/screenshots/pbs-gui-login-window.png b/docs/images/screenshots/pbs-gui-login-window.png new file mode 100644 index 0000000000000000000000000000000000000000..6c9c7a1521db76e9d6b4623d70e55b7cf4ccad90 GIT binary patch literal 16163 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 literal 0 HcmV?d00001 -- 2.20.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [pbs-devel] [PATCH docs 2/2] Restructure docs (more first level headings) 2020-10-02 14:12 [pbs-devel] [PATCH docs 1/2] Add section "GUI" Dylan Whyte @ 2020-10-02 14:12 ` Dylan Whyte 2020-10-05 8:03 ` [pbs-devel] applied: " Thomas Lamprecht 2020-10-05 8:01 ` [pbs-devel] applied: [PATCH docs 1/2] Add section "GUI" Thomas Lamprecht 1 sibling, 1 reply; 4+ messages in thread From: Dylan Whyte @ 2020-10-02 14:12 UTC (permalink / raw) To: pbs-devel This removes the "Backup Management" first level heading in the docs, and either uses the sub headings contained within it as first level headings, or groups previous sections logically under new headings. The administration-guide.rst file is also removed. Its contents are instead separated into various files, that relate to their respective first level heading. Signed-off-by: Dylan Whyte <d.whyte@proxmox.com> --- docs/administration-guide.rst | 1480 --------------------------------- docs/backup-client.rst | 712 ++++++++++++++++ docs/command-line-tools.rst | 2 +- docs/index.rst | 11 +- docs/maintenance.rst | 13 + docs/managing-remotes.rst | 80 ++ docs/network-management.rst | 91 ++ docs/pve-integration.rst | 49 ++ docs/pxar-tool.rst | 5 + docs/pxar/description.rst | 2 +- docs/storage.rst | 244 ++++++ docs/terminology.rst | 118 +++ docs/user-management.rst | 186 +++++ 13 files changed, 1510 insertions(+), 1483 deletions(-) delete mode 100644 docs/administration-guide.rst create mode 100644 docs/backup-client.rst create mode 100644 docs/maintenance.rst create mode 100644 docs/managing-remotes.rst create mode 100644 docs/network-management.rst create mode 100644 docs/pve-integration.rst create mode 100644 docs/pxar-tool.rst create mode 100644 docs/storage.rst create mode 100644 docs/terminology.rst create mode 100644 docs/user-management.rst diff --git a/docs/administration-guide.rst b/docs/administration-guide.rst deleted file mode 100644 index 9769f3a5..00000000 --- a/docs/administration-guide.rst +++ /dev/null @@ -1,1480 +0,0 @@ -Backup Management -================= - -.. The administration guide. - .. todo:: either add a bit more explanation or remove the previous sentence - -Terminology ------------ - -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, it can be split into *fixed* or *variable* -sized chunks. - -Fixed sized chunking requires minimal CPU power, and is used to -backup virtual machine images. - -Variable sized chunking needs more CPU power, but is essential to get -good deduplication rates for file archives. - -The Proxmox Backup Server supports both strategies. - - -Image Archives: ``<name>.img`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This is used for virtual machine images and other large binary -data. Content is split into fixed-sized chunks. - - -File Archives: ``<name>.pxar`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. see https://moinakg.wordpress.com/2013/06/22/high-performance-content-defined-chunking/ - -A file archive stores a full directory tree. Content is stored using -the :ref:`pxar-format`, split into variable-sized chunks. The format -is optimized to achieve good deduplication rates. - - -Binary Data (BLOBs) -^^^^^^^^^^^^^^^^^^^ - -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. - - -Catalog File: ``catalog.pcat1`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -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, their -sizes and checksums. It is used to verify the consistency of a -backup. - - -Backup Type -~~~~~~~~~~~ - -The backup server groups backups by *type*, where *type* is one of: - -``vm`` - This type is used for :term:`virtual machine`\ s. Typically - consists of the virtual machine's configuration file and an image archive - for each disk. - -``ct`` - This type is used for :term:`container`\ s. Consists of the container's - configuration and a single file archive for the filesystem content. - -``host`` - 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 -~~~~~~~~~ - -A unique ID. Usually the virtual machine or container ID. ``host`` -type backups normally use the hostname. - - -Backup Time -~~~~~~~~~~~ - -The time when the backup was made. - - -Backup Group -~~~~~~~~~~~~ - -The tuple ``<type>/<ID>`` is called a backup group. Such a group -may contain one or more backup snapshots. - - -Backup Snapshot -~~~~~~~~~~~~~~~ - -The triplet ``<type>/<ID>/<time>`` is called a backup snapshot. It -uniquely identifies a specific backup within a datastore. - -.. code-block:: console - :caption: Backup Snapshot Examples - - vm/104/2019-10-09T08:01:06Z - host/elsa/2019-11-08T09:48:14Z - -As you can see, the time format is RFC3399_ with Coordinated -Universal Time (UTC_, identified by the trailing *Z*). - -Backup Server Management ------------------------- - -The command line tool to configure and manage the backup server is called -:command:`proxmox-backup-manager`. - -.. _datastore_intro: - -:term:`DataStore` -~~~~~~~~~~~~~~~~~ - -A datastore refers to a location at which backups are stored. The current -implementation uses a directory inside a standard unix file system (``ext4``, -``xfs`` or ``zfs``) to store the backup data. - -Datastores are identified by a simple *ID*. You can configure this -when setting up the datastore. The configuration information for datastores -is stored in the file ``/etc/proxmox-backup/datastore.cfg``. - -.. note:: The `File Layout`_ requires the file system to support at least *65538* - subdirectories per directory. That number comes from the 2\ :sup:`16` - pre-created chunk namespace directories, and the ``.`` and ``..`` default - directory entries. This requirement excludes certain filesystems and - filesystem configuration from being supported for a datastore. For example, - ``ext3`` as a whole or ``ext4`` with the ``dir_nlink`` feature manually disabled. - -Disk Management -~~~~~~~~~~~~~~~ - -.. image:: images/screenshots/pbs-gui-disks.png - :align: right - :alt: List of disks - -Proxmox Backup Server comes with a set of disk utilities, which are -accessed using the ``disk`` subcommand. This subcommand allows you to initialize -disks, create various filesystems, and get information about the disks. - -To view the disks connected to the system, navigate to **Administration -> -Disks** in the web interface or use the ``list`` subcommand of -``disk``: - -.. code-block:: console - - # proxmox-backup-manager disk list - ┌──────┬────────┬─────┬───────────┬─────────────┬───────────────┬─────────┬────────┐ - │ name │ used │ gpt │ disk-type │ size │ model │ wearout │ status │ - ╞══════╪════════╪═════╪═══════════╪═════════════╪═══════════════╪═════════╪════════╡ - │ sda │ lvm │ 1 │ hdd │ 34359738368 │ QEMU_HARDDISK │ - │ passed │ - ├──────┼────────┼─────┼───────────┼─────────────┼───────────────┼─────────┼────────┤ - │ sdb │ unused │ 1 │ hdd │ 68719476736 │ QEMU_HARDDISK │ - │ passed │ - ├──────┼────────┼─────┼───────────┼─────────────┼───────────────┼─────────┼────────┤ - │ sdc │ unused │ 1 │ hdd │ 68719476736 │ QEMU_HARDDISK │ - │ passed │ - └──────┴────────┴─────┴───────────┴─────────────┴───────────────┴─────────┴────────┘ - -To initialize a disk with a new GPT, use the ``initialize`` subcommand: - -.. code-block:: console - - # proxmox-backup-manager disk initialize sdX - -.. image:: images/screenshots/pbs-gui-disks-dir-create.png - :align: right - :alt: Create a directory - -You can create an ``ext4`` or ``xfs`` filesystem on a disk using ``fs -create``, or by navigating to **Administration -> Disks -> Directory** in the -web interface and creating one from there. The following command creates an -``ext4`` filesystem and passes the ``--add-datastore`` parameter, in order to -automatically create a datastore on the disk (in this case ``sdd``). This will -create a datastore at the location ``/mnt/datastore/store1``: - -.. code-block:: console - - # proxmox-backup-manager disk fs create store1 --disk sdd --filesystem ext4 --add-datastore true - -.. image:: images/screenshots/pbs-gui-disks-zfs-create.png - :align: right - :alt: Create ZFS - -You can also create a ``zpool`` with various raid levels from **Administration --> Disks -> Zpool** in the web interface, or by using ``zpool create``. The command -below creates a mirrored ``zpool`` using two disks (``sdb`` & ``sdc``) and -mounts it on the root directory (default): - -.. code-block:: console - - # proxmox-backup-manager disk zpool create zpool1 --devices sdb,sdc --raidlevel mirror - -.. note:: You can also pass the ``--add-datastore`` parameter here, to automatically - create a datastore from the disk. - -You can use ``disk fs list`` and ``disk zpool list`` to keep track of your -filesystems and zpools respectively. - -Proxmox Backup Server uses the package smartmontools. This is a set of tools -used to monitor and control the S.M.A.R.T. system for local hard disks. If a -disk supports S.M.A.R.T. capability, and you have this enabled, you can -display S.M.A.R.T. attributes from the web interface or by using the command: - -.. code-block:: console - - # proxmox-backup-manager disk smart-attributes sdX - -.. note:: This functionality may also be accessed directly through the use of - the ``smartctl`` command, which comes as part of the smartmontools package - (see ``man smartctl`` for more details). - - -Datastore Configuration -~~~~~~~~~~~~~~~~~~~~~~~ - -.. image:: images/screenshots/pbs-gui-datastore.png - :align: right - :alt: Datastore Overview - -You can configure multiple datastores. Minimum one datastore needs to be -configured. The datastore is identified by a simple *name* and points to a -directory on the filesystem. Each datastore also has associated retention -settings of how many backup snapshots for each interval of ``hourly``, -``daily``, ``weekly``, ``monthly``, ``yearly`` as well as a time-independent -number of backups to keep in that store. :ref:`Pruning <pruning>` and -:ref:`garbage collection <garbage-collection>` can also be configured to run -periodically based on a configured schedule (see :ref:`calendar-events`) per datastore. - -Creating a Datastore -^^^^^^^^^^^^^^^^^^^^ -.. image:: images/screenshots/pbs-gui-datastore-create-general.png - :align: right - :alt: Create a datastore - -You can create a new datastore from the web GUI, by navigating to **Datastore** in -the menu tree and clicking **Create**. Here: - -* *Name* refers to the name of the datastore -* *Backing Path* is the path to the directory upon which you want to create the - datastore -* *GC Schedule* refers to the time and intervals at which garbage collection - runs -* *Prune Schedule* refers to the frequency at which pruning takes place -* *Prune Options* set the amount of backups which you would like to keep (see :ref:`Pruning <pruning>`). - -Alternatively you can create a new datastore from the command line. The -following command creates a new datastore called ``store1`` on :file:`/backup/disk1/store1` - -.. code-block:: console - - # proxmox-backup-manager datastore create store1 /backup/disk1/store1 - -Managing Datastores -^^^^^^^^^^^^^^^^^^^ - -To list existing datastores from the command line run: - -.. code-block:: console - - # proxmox-backup-manager datastore list - ┌────────┬──────────────────────┬─────────────────────────────┐ - │ name │ path │ comment │ - ╞════════╪══════════════════════╪═════════════════════════════╡ - │ store1 │ /backup/disk1/store1 │ This is my default storage. │ - └────────┴──────────────────────┴─────────────────────────────┘ - -You can change the garbage collection and prune settings of a datastore, by -editing the datastore from the GUI or by using the ``update`` subcommand. For -example, the below command changes the garbage collection schedule using the -``update`` subcommand and prints the properties of the datastore with the -``show`` subcommand: - -.. code-block:: console - - # proxmox-backup-manager datastore update store1 --gc-schedule 'Tue 04:27' - # proxmox-backup-manager datastore show store1 - ┌────────────────┬─────────────────────────────┐ - │ Name │ Value │ - ╞════════════════╪═════════════════════════════╡ - │ name │ store1 │ - ├────────────────┼─────────────────────────────┤ - │ path │ /backup/disk1/store1 │ - ├────────────────┼─────────────────────────────┤ - │ comment │ This is my default storage. │ - ├────────────────┼─────────────────────────────┤ - │ gc-schedule │ Tue 04:27 │ - ├────────────────┼─────────────────────────────┤ - │ keep-last │ 7 │ - ├────────────────┼─────────────────────────────┤ - │ prune-schedule │ daily │ - └────────────────┴─────────────────────────────┘ - -Finally, it is possible to remove the datastore configuration: - -.. code-block:: console - - # proxmox-backup-manager datastore remove store1 - -.. note:: The above command removes only the datastore configuration. It does - not delete any data from the underlying directory. - - -File Layout -^^^^^^^^^^^ - -After creating a datastore, the following default layout will appear: - -.. code-block:: console - - # ls -arilh /backup/disk1/store1 - 276493 -rw-r--r-- 1 backup backup 0 Jul 8 12:35 .lock - 276490 drwxr-x--- 1 backup backup 1064960 Jul 8 12:35 .chunks - -`.lock` is an empty file used for process locking. - -The `.chunks` directory contains folders, starting from `0000` and taking hexadecimal values until `ffff`. These -directories will store the chunked data after a backup operation has been executed. - -.. code-block:: console - - # ls -arilh /backup/disk1/store1/.chunks - 545824 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 ffff - 545823 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffe - 415621 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffd - 415620 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffc - 353187 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffb - 344995 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffa - 144079 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fff9 - 144078 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fff8 - 144077 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fff7 - ... - 403180 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 000c - 403179 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 000b - 403177 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 000a - 402530 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0009 - 402513 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0008 - 402509 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0007 - 276509 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0006 - 276508 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0005 - 276507 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0004 - 276501 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0003 - 276499 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0002 - 276498 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0001 - 276494 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0000 - 276489 drwxr-xr-x 3 backup backup 4.0K Jul 8 12:35 .. - 276490 drwxr-x--- 1 backup backup 1.1M Jul 8 12:35 . - -.. _user_mgmt: - -User Management -~~~~~~~~~~~~~~~ - -.. image:: images/screenshots/pbs-gui-user-management.png - :align: right - :alt: User management - -Proxmox Backup Server supports several authentication realms, and you need to -choose the realm when you add a new user. Possible realms are: - -:pam: Linux PAM standard authentication. Use this if you want to - authenticate as Linux system user (Users need to exist on the - system). - -:pbs: Proxmox Backup Server realm. This type stores hashed passwords in - ``/etc/proxmox-backup/shadow.json``. - -After installation, there is a single user ``root@pam``, which -corresponds to the Unix superuser. User configuration information is stored in the file -``/etc/proxmox-backup/user.cfg``. You can use the -``proxmox-backup-manager`` command line tool to list or manipulate -users: - -.. code-block:: console - - # proxmox-backup-manager user list - ┌─────────────┬────────┬────────┬───────────┬──────────┬────────────────┬────────────────────┐ - │ userid │ enable │ expire │ firstname │ lastname │ email │ comment │ - ╞═════════════╪════════╪════════╪═══════════╪══════════╪════════════════╪════════════════════╡ - │ root@pam │ 1 │ │ │ │ │ Superuser │ - └─────────────┴────────┴────────┴───────────┴──────────┴────────────────┴────────────────────┘ - -.. image:: images/screenshots/pbs-gui-user-management-add-user.png - :align: right - :alt: Add a new user - -The superuser has full administration rights on everything, so you -normally want to add other users with less privileges. You can create a new -user with the ``user create`` subcommand or through the web interface, under -**Configuration -> User Management**. The ``create`` subcommand lets you specify -many options like ``--email`` or ``--password``. You can update or change any -user properties using the ``update`` subcommand later (**Edit** in the GUI): - - -.. code-block:: console - - # proxmox-backup-manager user create john@pbs --email john@example.com - # proxmox-backup-manager user update john@pbs --firstname John --lastname Smith - # proxmox-backup-manager user update john@pbs --comment "An example user." - -.. todo:: Mention how to set password without passing plaintext password as cli argument. - - -The resulting user list looks like this: - -.. code-block:: console - - # proxmox-backup-manager user list - ┌──────────┬────────┬────────┬───────────┬──────────┬──────────────────┬──────────────────┐ - │ userid │ enable │ expire │ firstname │ lastname │ email │ comment │ - ╞══════════╪════════╪════════╪═══════════╪══════════╪══════════════════╪══════════════════╡ - │ john@pbs │ 1 │ │ John │ Smith │ john@example.com │ An example user. │ - ├──────────┼────────┼────────┼───────────┼──────────┼──────────────────┼──────────────────┤ - │ root@pam │ 1 │ │ │ │ │ Superuser │ - └──────────┴────────┴────────┴───────────┴──────────┴──────────────────┴──────────────────┘ - -Newly created users do not have any permissions. Please read the next -section to learn how to set access permissions. - -If you want to disable a user account, you can do that by setting ``--enable`` to ``0`` - -.. code-block:: console - - # proxmox-backup-manager user update john@pbs --enable 0 - -Or completely remove the user with: - -.. code-block:: console - - # proxmox-backup-manager user remove john@pbs - - -.. _user_acl: - -Access Control -~~~~~~~~~~~~~~ - -By default new users do not have any permission. Instead you need to -specify what is allowed and what is not. You can do this by assigning -roles to users on specific objects like datastores or remotes. The -following roles exist: - -**NoAccess** - Disable Access - nothing is allowed. - -**Admin** - Can do anything. - -**Audit** - Can view things, but is not allowed to change settings. - -**DatastoreAdmin** - Can do anything on datastores. - -**DatastoreAudit** - Can view datastore settings and list content. But - is not allowed to read the actual data. - -**DatastoreReader** - Can Inspect datastore content and can do restores. - -**DatastoreBackup** - Can backup and restore owned backups. - -**DatastorePowerUser** - Can backup, restore, and prune owned backups. - -**RemoteAdmin** - Can do anything on remotes. - -**RemoteAudit** - Can view remote settings. - -**RemoteSyncOperator** - Is allowed to read data from a remote. - -.. image:: images/screenshots/pbs-gui-permissions-add.png - :align: right - :alt: Add permissions for user - -Access permission information is stored in ``/etc/proxmox-backup/acl.cfg``. The -file contains 5 fields, separated using a colon (':') as a delimiter. A typical -entry takes the form: - -``acl:1:/datastore:john@pbs:DatastoreBackup`` - -The data represented in each field is as follows: - -#. ``acl`` identifier -#. A ``1`` or ``0``, representing whether propagation is enabled or disabled, - respectively -#. The object on which the permission is set. This can be a specific object - (single datastore, remote, etc.) or a top level object, which with - propagation enabled, represents all children of the object also. -#. The user for which the permission is set -#. The role being set - -You can manage datastore permissions from **Configuration -> Permissions** in the -web interface. Likewise, you can use the ``acl`` subcommand to manage and -monitor user permissions from the command line. For example, the command below -will add the user ``john@pbs`` as a **DatastoreAdmin** for the datastore -``store1``, located at ``/backup/disk1/store1``: - -.. code-block:: console - - # proxmox-backup-manager acl update /datastore/store1 DatastoreAdmin --userid john@pbs - -You can monitor the roles of each user using the following command: - -.. code-block:: console - - # proxmox-backup-manager acl list - ┌──────────┬──────────────────┬───────────┬────────────────┐ - │ ugid │ path │ propagate │ roleid │ - ╞══════════╪══════════════════╪═══════════╪════════════════╡ - │ john@pbs │ /datastore/disk1 │ 1 │ DatastoreAdmin │ - └──────────┴──────────────────┴───────────┴────────────────┘ - -A single user can be assigned multiple permission sets for different datastores. - -.. Note:: - Naming convention is important here. For datastores on the host, - you must use the convention ``/datastore/{storename}``. For example, to set - permissions for a datastore mounted at ``/mnt/backup/disk4/store2``, you would use - ``/datastore/store2`` for the path. For remote stores, use the convention - ``/remote/{remote}/{storename}``, where ``{remote}`` signifies the name of the - remote (see `Remote` below) and ``{storename}`` is the name of the datastore on - the remote. - -Network Management -~~~~~~~~~~~~~~~~~~ - -Proxmox Backup Server provides both a web interface and a command line tool for -network configuration. You can find the configuration options in the web -interface under the **Network Interfaces** section of the **Configuration** menu -tree item. The command line tool is accessed via the ``network`` subcommand. -These interfaces allow you to carry out some basic network management tasks, -such as adding, configuring, and removing network interfaces. - -.. note:: Any changes made to the network configuration are not - applied, until you click on **Apply Configuration** or enter the ``network - reload`` command. This allows you to make many changes at once. It also allows - you to ensure that your changes are correct before applying them, as making a - mistake here can render the server inaccessible over the network. - -To get a list of available interfaces, use the following command: - -.. code-block:: console - - # proxmox-backup-manager network list - ┌───────┬────────┬───────────┬────────┬─────────────┬──────────────┬──────────────┐ - │ name │ type │ autostart │ method │ address │ gateway │ ports/slaves │ - ╞═══════╪════════╪═══════════╪════════╪═════════════╪══════════════╪══════════════╡ - │ bond0 │ bond │ 1 │ static │ x.x.x.x/x │ x.x.x.x │ ens18 ens19 │ - ├───────┼────────┼───────────┼────────┼─────────────┼──────────────┼──────────────┤ - │ ens18 │ eth │ 1 │ manual │ │ │ │ - ├───────┼────────┼───────────┼────────┼─────────────┼──────────────┼──────────────┤ - │ ens19 │ eth │ 1 │ manual │ │ │ │ - └───────┴────────┴───────────┴────────┴─────────────┴──────────────┴──────────────┘ - -.. image:: images/screenshots/pbs-gui-network-create-bond.png - :align: right - :alt: Add a network interface - -To add a new network interface, use the ``create`` subcommand with the relevant -parameters. For example, you may want to set up a bond, for the purpose of -network redundancy. The following command shows a template for creating the bond shown -in the list above: - -.. code-block:: console - - # proxmox-backup-manager network create bond0 --type bond --bond_mode active-backup --slaves ens18,ens19 --autostart true --cidr x.x.x.x/x --gateway x.x.x.x - -You can make changes to the configuration of a network interface with the -``update`` subcommand: - -.. code-block:: console - - # proxmox-backup-manager network update bond0 --cidr y.y.y.y/y - -You can also remove a network interface: - -.. code-block:: console - - # proxmox-backup-manager network remove bond0 - -The pending changes for the network configuration file will appear at the bottom of the -web interface. You can also view these changes, by using the command: - -.. code-block:: console - - # proxmox-backup-manager network changes - -If you would like to cancel all changes at this point, you can either click on -the **Revert** button or use the following command: - -.. code-block:: console - - # proxmox-backup-manager network revert - -If you are happy with the changes and would like to write them into the -configuration file, select **Apply Configuration**. The corresponding command -is: - -.. code-block:: console - - # proxmox-backup-manager network reload - -.. note:: This command and corresponding GUI button rely on the ``ifreload`` - command, from the package ``ifupdown2``. This package is included within the - Proxmox Backup Server installation, however, you may have to install it yourself, - if you have installed Proxmox Backup Server on top of Debian or Proxmox VE. - -You can also configure DNS settings, from the **DNS** section -of **Configuration** or by using the ``dns`` subcommand of -``proxmox-backup-manager``. - -.. _backup_remote: - -:term:`Remote` -~~~~~~~~~~~~~~ - -A remote refers to a separate Proxmox Backup Server installation and a user on that -installation, from which you can `sync` datastores to a local datastore with a -`Sync Job`. You can configure remotes in the web interface, under **Configuration --> Remotes**. Alternatively, you can use the ``remote`` subcommand. The -configuration information for remotes is stored in the file -``/etc/proxmox-backup/remote.cfg``. - -.. image:: images/screenshots/pbs-gui-remote-add.png - :align: right - :alt: Add a remote - -To add a remote, you need its hostname or ip, a userid and password on the -remote, and its certificate fingerprint. To get the fingerprint, use the -``proxmox-backup-manager cert info`` command on the remote, or navigate to -**Dashboard** in the remote's web interface and select **Show Fingerprint**. - -.. code-block:: console - - # proxmox-backup-manager cert info |grep Fingerprint - Fingerprint (sha256): 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe - -Using the information specified above, you can add a remote from the **Remotes** -configuration panel, or by using the command: - -.. code-block:: console - - # proxmox-backup-manager remote create pbs2 --host pbs2.mydomain.example --userid sync@pam --password 'SECRET' --fingerprint 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe - -Use the ``list``, ``show``, ``update``, ``remove`` subcommands of -``proxmox-backup-manager remote`` to manage your remotes: - -.. code-block:: console - - # proxmox-backup-manager remote update pbs2 --host pbs2.example - # proxmox-backup-manager remote list - ┌──────┬──────────────┬──────────┬───────────────────────────────────────────┬─────────┐ - │ name │ host │ userid │ fingerprint │ comment │ - ╞══════╪══════════════╪══════════╪═══════════════════════════════════════════╪═════════╡ - │ pbs2 │ pbs2.example │ sync@pam │64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe │ │ - └──────┴──────────────┴──────────┴───────────────────────────────────────────┴─────────┘ - # proxmox-backup-manager remote remove pbs2 - -.. _syncjobs: - -Sync Jobs -~~~~~~~~~ - -.. image:: images/screenshots/pbs-gui-syncjob-add.png - :align: right - :alt: Add a Sync Job - -Sync jobs are configured to pull the contents of a datastore on a **Remote** to -a local datastore. You can manage sync jobs under **Configuration -> Sync Jobs** -in the web interface, or using the ``proxmox-backup-manager sync-job`` command. -The configuration information for sync jobs is stored at -``/etc/proxmox-backup/sync.cfg``. To create a new sync job, click the add button -in the GUI, or use the ``create`` subcommand. After creating a sync job, you can -either start it manually on the GUI or provide it with a schedule (see -:ref:`calendar-events`) to run regularly. - -.. code-block:: console - - # proxmox-backup-manager sync-job create pbs2-local --remote pbs2 --remote-store local --store local --schedule 'Wed 02:30' - # proxmox-backup-manager sync-job update pbs2-local --comment 'offsite' - # proxmox-backup-manager sync-job list - ┌────────────┬───────┬────────┬──────────────┬───────────┬─────────┐ - │ id │ store │ remote │ remote-store │ schedule │ comment │ - ╞════════════╪═══════╪════════╪══════════════╪═══════════╪═════════╡ - │ pbs2-local │ local │ pbs2 │ local │ Wed 02:30 │ offsite │ - └────────────┴───────┴────────┴──────────────┴───────────┴─────────┘ - # proxmox-backup-manager sync-job remove pbs2-local - - -Garbage Collection -~~~~~~~~~~~~~~~~~~ -You can monitor and run :ref:`garbage collection <garbage-collection>` on the -Proxmox Backup Server using the ``garbage-collection`` subcommand of -``proxmox-backup-manager``. You can use the ``start`` subcommand to manually start garbage -collection on an entire datastore and the ``status`` subcommand to see -attributes relating to the :ref:`garbage collection <garbage-collection>`. - - -Backup Client usage -------------------- - -The command line client is called :command:`proxmox-backup-client`. - - -Repository Locations -~~~~~~~~~~~~~~~~~~~~ - -The client uses the following notation to specify a datastore repository -on the backup server. - - [[username@]server[:port]:]datastore - -The default value for ``username`` ist ``root@pam``. If no server is specified, -the default is the local host (``localhost``). - -You can specify a port if your backup server is only reachable on a different -port (e.g. with NAT and port forwarding). - -Note that if the server is an IPv6 address, you have to write it with -square brackets (e.g. [fe80::01]). - -You can pass the repository with the ``--repository`` command -line option, or by setting the ``PBS_REPOSITORY`` environment -variable. - -Here some examples of valid repositories and the real values - -================================ ============ ================== =========== -Example User Host:Port Datastore -================================ ============ ================== =========== -mydatastore ``root@pam`` localhost:8007 mydatastore -myhostname:mydatastore ``root@pam`` myhostname:8007 mydatastore -user@pbs@myhostname:mydatastore ``user@pbs`` myhostname:8007 mydatastore -192.168.55.55:1234:mydatastore ``root@pam`` 192.168.55.55:1234 mydatastore -[ff80::51]:mydatastore ``root@pam`` [ff80::51]:8007 mydatastore -[ff80::51]:1234:mydatastore ``root@pam`` [ff80::51]:1234 mydatastore -================================ ============ ================== =========== - -Environment Variables -~~~~~~~~~~~~~~~~~~~~~ - -``PBS_REPOSITORY`` - The default backup repository. - -``PBS_PASSWORD`` - When set, this value is used for the password required for the - backup server. - -``PBS_ENCRYPTION_PASSWORD`` - When set, this value is used to access the secret encryption key (if - protected by password). - -``PBS_FINGERPRINT`` When set, this value is used to verify the server - certificate (only used if the system CA certificates cannot - validate the certificate). - - -Output Format -~~~~~~~~~~~~~ - -Most commands support the ``--output-format`` parameter. It accepts -the following values: - -:``text``: Text format (default). Structured data is rendered as a table. - -:``json``: JSON (single line). - -:``json-pretty``: JSON (multiple lines, nicely formatted). - - -Please use the following environment variables to modify output behavior: - -``PROXMOX_OUTPUT_FORMAT`` - Defines the default output format. - -``PROXMOX_OUTPUT_NO_BORDER`` - If set (to any value), do not render table borders. - -``PROXMOX_OUTPUT_NO_HEADER`` - If set (to any value), do not render table headers. - -.. note:: The ``text`` format is designed to be human readable, and - not meant to be parsed by automation tools. Please use the ``json`` - format if you need to process the output. - - -.. _creating-backups: - -Creating Backups -~~~~~~~~~~~~~~~~ - -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 on Proxmox VE, see :ref:`pve-integration`. - -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 - - # proxmox-backup-client backup root.pxar:/ --repository backup-server:store1 - Starting backup: host/elsa/2019-12-03T09:35:01Z - Client name: elsa - skip mount point: "/boot/efi" - skip mount point: "/dev" - skip mount point: "/run" - skip mount point: "/sys" - Uploaded 12129 chunks in 87 seconds (564 MB/s). - End Time: 2019-12-03T10:36:29+01:00 - -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 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 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 for each mount point that should be included. - -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``. Note that if you would like this to remain set -over multiple sessions, you should instead add the below line to your -``.bashrc`` file. - -.. code-block:: console - - # export PBS_REPOSITORY=backup-server:store1 - -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, 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 creates a backup of both disks. - -The backup command takes a list of backup specifications, which -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. To create a backup of a block device run the following command: - -.. code-block:: console - - # proxmox-backup-client backup mydata.img:/dev/mylvm/mydata - -Excluding files/folders from a backup -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Sometimes it is desired to exclude certain files or folders from a backup archive. -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. - -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 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 single character -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 whether a file is included or -excluded, that is to say later entries override previous ones. -This is also true for match patterns encountered deeper down the directory tree, -which can override a previous exclusion. -Be aware that excluded directories will **not** be read by the backup client. -Thus, a ``.pxarexclude`` file in an excluded 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 directory structure: - -.. code-block:: console - - # ls -aR folder - folder/: - . .. .pxarexclude subfolder0 subfolder1 - - folder/subfolder0: - . .. file0 file1 file2 file3 .pxarexclude - - folder/subfolder1: - . .. file0 file1 file2 file3 - -The different ``.pxarexclude`` files contain the following: - -.. code-block:: console - - # cat folder/.pxarexclude - /subfolder0/file1 - /subfolder1/* - !/subfolder1/file2 - -.. code-block:: console - - # cat folder/subfolder0/.pxarexclude - file3 - -This would exclude ``file1`` and ``file3`` in ``subfolder0`` and all of -``subfolder1`` except ``file2``. - -Restoring this backup will result in: - -.. code-block:: console - - ls -aR restored - restored/: - . .. .pxarexclude subfolder0 subfolder1 - - restored/subfolder0: - . .. file0 file2 .pxarexclude - - restored/subfolder1: - . .. file2 - -Encryption -~~~~~~~~~~ - -Proxmox Backup supports client-side encryption with AES-256 in GCM_ -mode. To set this up, you first need to create an encryption key: - -.. code-block:: console - - # proxmox-backup-client key create my-backup.key - Encryption Key Password: ************** - -The key is password protected by default. If you do not need this -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 - -Having created this key, it is now possible to create an encrypted backup, by -passing the ``--keyfile`` parameter, with the path to the key file. - -.. code-block:: console - - # proxmox-backup-client backup etc.pxar:/etc --keyfile /path/to/my-backup.key - Password: ********* - Encryption Key Password: ************** - ... - -.. Note:: If you do not specify the name of the backup key, the key will be - created in the default location - ``~/.config/proxmox-backup/encryption-key.json``. ``proxmox-backup-client`` - will also search this location by default, in case the ``--keyfile`` - parameter is not specified. - -You can avoid entering the passwords by setting the environment -variables ``PBS_PASSWORD`` and ``PBS_ENCRYPTION_PASSWORD``. - -Using a master key to store and recover encryption keys -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -You can also use ``proxmox-backup-client key`` to create an RSA public/private -key pair, which can be used to store an encrypted version of the symmetric -backup encryption key alongside each backup and recover it later. - -To set up a master key: - -1. Create an encryption key for the backup: - - .. code-block:: console - - # proxmox-backup-client key create - creating default key at: "~/.config/proxmox-backup/encryption-key.json" - Encryption Key Password: ********** - ... - - The resulting file will be saved to ``~/.config/proxmox-backup/encryption-key.json``. - -2. Create an RSA public/private key pair: - - .. code-block:: console - - # proxmox-backup-client key create-master-key - Master Key Password: ********* - ... - - This will create two files in your current directory, ``master-public.pem`` - and ``master-private.pem``. - -3. Import the newly created ``master-public.pem`` public certificate, so that - ``proxmox-backup-client`` can find and use it upon backup. - - .. code-block:: console - - # proxmox-backup-client key import-master-pubkey /path/to/master-public.pem - Imported public master key to "~/.config/proxmox-backup/master-public.pem" - -4. With all these files in place, run a backup job: - - .. code-block:: console - - # proxmox-backup-client backup etc.pxar:/etc - - The key will be stored in your backup, under the name ``rsa-encrypted.key``. - - .. Note:: The ``--keyfile`` parameter can be excluded, if the encryption key - is in the default path. If you specified another path upon creation, you - must pass the ``--keyfile`` parameter. - -5. To test that everything worked, you can restore the key from the backup: - - .. code-block:: console - - # proxmox-backup-client restore /path/to/backup/ rsa-encrypted.key /path/to/target - - .. Note:: You should not need an encryption key to extract this file. However, if - a key exists at the default location - (``~/.config/proxmox-backup/encryption-key.json``) the program will prompt - you for an encryption key password. Simply moving ``encryption-key.json`` - out of this directory will fix this issue. - -6. Then, use the previously generated master key to decrypt the file: - - .. code-block:: console - - # openssl rsautl -decrypt -inkey master-private.pem -in rsa-encrypted.key -out /path/to/target - Enter pass phrase for ./master-private.pem: ********* - -7. The target file will now contain the encryption key information in plain - text. The success of this can be confirmed by passing the resulting ``json`` - file, with the ``--keyfile`` parameter, when decrypting files from the backup. - -.. warning:: Without their key, backed up files will be inaccessible. Thus, you should - keep keys ordered and in a place that is separate from the contents being - backed up. It can happen, for example, that you back up an entire system, using - a key on that system. If the system then becomes inaccessable for any reason - and needs to be restored, this will not be possible as the encryption key will be - lost along with the broken system. In preparation for the worst case scenario, - you should consider keeping a paper copy of this key locked away in - a safe place. - -Restoring Data -~~~~~~~~~~~~~~ - -The regular creation of backups is a necessary step to avoiding data -loss. More importantly, 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 which you want to restore. The snapshot -command provides a list of all the snapshots on the server: - -.. code-block:: console - - # proxmox-backup-client snapshots - ┌────────────────────────────────┬─────────────┬────────────────────────────────────┐ - │ snapshot │ size │ files │ - ╞════════════════════════════════╪═════════════╪════════════════════════════════════╡ - │ host/elsa/2019-12-03T09:30:15Z │ 51788646825 │ root.pxar catalog.pcat1 index.json │ - ├────────────────────────────────┼─────────────┼────────────────────────────────────┤ - │ host/elsa/2019-12-03T09:35:01Z │ 51790622048 │ root.pxar catalog.pcat1 index.json │ - ├────────────────────────────────┼─────────────┼────────────────────────────────────┤ - ... - -You can inspect the catalog to find specific files. - -.. code-block:: console - - # proxmox-backup-client catalog dump host/elsa/2019-12-03T09:35:01Z - ... - d "./root.pxar.didx/etc/cifs-utils" - l "./root.pxar.didx/etc/cifs-utils/idmap-plugin" - d "./root.pxar.didx/etc/console-setup" - ... - -The restore command lets you restore a single archive from the -backup. - -.. code-block:: console - - # proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z root.pxar /target/path/ - -To get the contents of any archive, you can restore the ``index.json`` file in the -repository to the target path '-'. This will dump the contents to the standard output. - -.. code-block:: console - - # proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z index.json - - - -Interactive Restores -^^^^^^^^^^^^^^^^^^^^ - -If you only want to restore a few individual files, it is often easier -to use the interactive recovery shell. - -.. code-block:: console - - # proxmox-backup-client catalog shell host/elsa/2019-12-03T09:35:01Z root.pxar - Starting interactive shell - pxar:/ > ls - bin boot dev etc home lib lib32 - ... - -The interactive recovery shell is a minimalistic command line interface that -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. - -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 in the archive. -``pwd`` shows the full path of the current working directory with respect to the -archive root. - -Being able to quickly search the contents of the archive is a commmonly needed feature. -That's where the catalog is most valuable. -For example: - -.. code-block:: console - - pxar:/ > find etc/**/*.txt --select - "/etc/X11/rgb.txt" - pxar:/ > list-selected - etc/**/*.txt - pxar:/ > restore-selected /target/path - ... - -This will find and print all files ending in ``.txt`` located in ``etc/`` or a -subdirectory and add the corresponding pattern to the list for subsequent restores. -``list-selected`` shows these patterns and ``restore-selected`` finally restores -all files in the archive matching the patterns to ``/target/path`` on the local -host. This will scan the whole archive. - -With ``restore /target/path`` you can restore the sub-archive given by the current -working directory to the local target path ``/target/path`` on your host. -By additionally passing a glob pattern with ``--pattern <glob>``, the restore is -further limited to files matching the pattern. -For example: - -.. code-block:: console - - pxar:/ > cd /etc/ - pxar:/etc/ > restore /target/ --pattern **/*.conf - ... - -The above will scan trough all the directories below ``/etc`` and restore all -files ending in ``.conf``. - -.. todo:: Explain interactive restore in more detail - -Mounting of Archives via FUSE -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The :term:`FUSE` implementation for the pxar archive allows you to mount a -file archive as a read-only filesystem to a mountpoint on your host. - -.. code-block:: console - - # proxmox-backup-client mount host/backup-client/2020-01-29T11:29:22Z root.pxar /mnt/mountpoint - # ls /mnt/mountpoint - bin dev home lib32 libx32 media opt root sbin sys usr - boot etc lib lib64 lost+found mnt proc run srv tmp var - -This allows you to access the full contents of the archive in a seamless manner. - -.. note:: As the FUSE connection needs to fetch and decrypt chunks from the - backup server's datastore, this can cause some additional network and CPU - load on your host, depending on the operations you perform on the mounted - filesystem. - -To unmount the filesystem use the ``umount`` command on the mountpoint: - -.. code-block:: console - - # umount /mnt/mountpoint - -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 uses it for further requests -to this server. - -You can also manually trigger this login/logout using the login and -logout commands: - -.. code-block:: console - - # proxmox-backup-client login - Password: ********** - -To remove the ticket, issue a logout: - -.. code-block:: console - - # proxmox-backup-client logout - - -.. _pruning: - -Pruning and Removing Backups -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can manually delete a backup snapshot using the ``forget`` -command: - -.. code-block:: console - - # proxmox-backup-client forget <snapshot> - - -.. caution:: This command removes all archives in this backup - snapshot. They will be inaccessible and unrecoverable. - - -Although manual removal is sometimes required, the ``prune`` -command is normally used to systematically delete older backups. Prune lets -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>`` 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>`` 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>`` weeks. If there is more than one - backup for a single week, only the latest is kept. - - .. 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>`` 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>`` 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. - -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 only -shows the list of existing snapshots and what actions prune would take. - -.. code-block:: console - - # proxmox-backup-client prune host/elsa --dry-run --keep-daily 1 --keep-weekly 3 - ┌────────────────────────────────┬──────┐ - │ snapshot │ keep │ - ╞════════════════════════════════╪══════╡ - │ host/elsa/2019-12-04T13:20:37Z │ 1 │ - ├────────────────────────────────┼──────┤ - │ host/elsa/2019-12-03T09:35:01Z │ 0 │ - ├────────────────────────────────┼──────┤ - │ host/elsa/2019-11-22T11:54:47Z │ 1 │ - ├────────────────────────────────┼──────┤ - │ host/elsa/2019-11-21T12:36:25Z │ 0 │ - ├────────────────────────────────┼──────┤ - │ host/elsa/2019-11-10T10:42:20Z │ 1 │ - └────────────────────────────────┴──────┘ - -.. note:: Neither the ``prune`` command nor the ``forget`` command free space - in the chunk-store. The chunk-store still contains the data blocks. To free - space you need to perform :ref:`garbage-collection`. - - -.. _garbage-collection: - -Garbage Collection -~~~~~~~~~~~~~~~~~~ - -The ``prune`` command removes only the backup index files, not the data -from the datastore. This task is left to the garbage collection -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, -unused data blocks are removed. - -.. note:: This command needs to read all existing backup index files - and touches the complete chunk-store. This can take a long time - depending on the number of chunks and the speed of the underlying - disks. - -.. note:: The garbage collection will only remove chunks that haven't been used - for at least one day (exactly 24h 5m). This grace period is necessary because - chunks in use are marked by touching the chunk which updates the ``atime`` - (access time) property. Filesystems are mounted with the ``relatime`` option - by default. This results in a better performance by only updating the - ``atime`` property if the last access has been at least 24 hours ago. The - downside is, that touching a chunk within these 24 hours will not always - update its ``atime`` property. - - Chunks in the grace period will be logged at the end of the garbage - collection task as *Pending removals*. - -.. code-block:: console - - # proxmox-backup-client garbage-collect - starting garbage collection on store store2 - Start GC phase1 (mark used chunks) - Start GC phase2 (sweep unused chunks) - percentage done: 1, chunk count: 219 - percentage done: 2, chunk count: 453 - ... - percentage done: 99, chunk count: 21188 - Removed bytes: 411368505 - Removed chunks: 203 - Original data bytes: 327160886391 - Disk bytes: 52767414743 (16 %) - Disk chunks: 21221 - Average chunk size: 2486565 - TASK OK - - -.. todo:: howto run garbage-collection at regular intervalls (cron) - -Benchmarking -~~~~~~~~~~~~ -The backup client also comes with a benchmarking tool. This tool measures -various metrics relating to compression and encryption speeds. You can run a -benchmark using the ``benchmark`` subcommand of ``proxmox-backup-client``: - -.. code-block:: console - - # proxmox-backup-client benchmark - Uploaded 656 chunks in 5 seconds. - Time per request: 7659 microseconds. - TLS speed: 547.60 MB/s - SHA256 speed: 585.76 MB/s - Compression speed: 1923.96 MB/s - Decompress speed: 7885.24 MB/s - AES256/GCM speed: 3974.03 MB/s - ┌───────────────────────────────────┬─────────────────────┐ - │ Name │ Value │ - ╞═══════════════════════════════════╪═════════════════════╡ - │ TLS (maximal backup upload speed) │ 547.60 MB/s (93%) │ - ├───────────────────────────────────┼─────────────────────┤ - │ SHA256 checksum computation speed │ 585.76 MB/s (28%) │ - ├───────────────────────────────────┼─────────────────────┤ - │ ZStd level 1 compression speed │ 1923.96 MB/s (89%) │ - ├───────────────────────────────────┼─────────────────────┤ - │ ZStd level 1 decompression speed │ 7885.24 MB/s (98%) │ - ├───────────────────────────────────┼─────────────────────┤ - │ AES256 GCM encryption speed │ 3974.03 MB/s (104%) │ - └───────────────────────────────────┴─────────────────────┘ - -.. note:: The percentages given in the output table correspond to a - comparison against a Ryzen 7 2700X. The TLS test connects to the - local host, so there is no network involved. - -You can also pass the ``--output-format`` parameter to output stats in ``json``, -rather than the default table format. - -.. _pve-integration: - -`Proxmox VE`_ integration -------------------------- - -You need to define a new storage with type 'pbs' on your `Proxmox VE`_ -node. The following example uses ``store2`` as storage name, and -assumes the server address is ``localhost``, and you want to connect -as ``user1@pbs``. - -.. code-block:: console - - # pvesm add pbs store2 --server localhost --datastore store2 - # pvesm set store2 --username user1@pbs --password <secret> - -.. note:: If you would rather not pass your password as plain text, you can pass - the ``--password`` parameter, without any arguments. This will cause the - program to prompt you for a password upon entering the command. - -If your backup server uses a self signed certificate, you need to add -the certificate fingerprint to the configuration. You can get the -fingerprint by running the following command on the backup server: - -.. code-block:: console - - # proxmox-backup-manager cert info | grep Fingerprint - Fingerprint (sha256): 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe - -Please add that fingerprint to your configuration to establish a trust -relationship: - -.. code-block:: console - - # pvesm set store2 --fingerprint 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe - -After that you should be able to see storage status with: - -.. code-block:: console - - # pvesm status --storage store2 - Name Type Status Total Used Available % - store2 pbs active 3905109820 1336687816 2568422004 34.23% - -Having added the PBS datastore to `Proxmox VE`_, you can backup VMs and -containers in the same way you would for any other storage device within the -environment (see `PVE Admin Guide: Backup and Restore -<https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_vzdump>`_. - - -.. include:: command-line-tools.rst - -.. include:: services.rst diff --git a/docs/backup-client.rst b/docs/backup-client.rst new file mode 100644 index 00000000..afa56fd8 --- /dev/null +++ b/docs/backup-client.rst @@ -0,0 +1,712 @@ +Backup Client Usage +=================== + +The command line client is called :command:`proxmox-backup-client`. + + +Repository Locations +-------------------- + +The client uses the following notation to specify a datastore repository +on the backup server. + + [[username@]server[:port]:]datastore + +The default value for ``username`` ist ``root@pam``. If no server is specified, +the default is the local host (``localhost``). + +You can specify a port if your backup server is only reachable on a different +port (e.g. with NAT and port forwarding). + +Note that if the server is an IPv6 address, you have to write it with +square brackets (e.g. [fe80::01]). + +You can pass the repository with the ``--repository`` command +line option, or by setting the ``PBS_REPOSITORY`` environment +variable. + +Here some examples of valid repositories and the real values + +================================ ============ ================== =========== +Example User Host:Port Datastore +================================ ============ ================== =========== +mydatastore ``root@pam`` localhost:8007 mydatastore +myhostname:mydatastore ``root@pam`` myhostname:8007 mydatastore +user@pbs@myhostname:mydatastore ``user@pbs`` myhostname:8007 mydatastore +192.168.55.55:1234:mydatastore ``root@pam`` 192.168.55.55:1234 mydatastore +[ff80::51]:mydatastore ``root@pam`` [ff80::51]:8007 mydatastore +[ff80::51]:1234:mydatastore ``root@pam`` [ff80::51]:1234 mydatastore +================================ ============ ================== =========== + +Environment Variables +--------------------- + +``PBS_REPOSITORY`` + The default backup repository. + +``PBS_PASSWORD`` + When set, this value is used for the password required for the + backup server. + +``PBS_ENCRYPTION_PASSWORD`` + When set, this value is used to access the secret encryption key (if + protected by password). + +``PBS_FINGERPRINT`` When set, this value is used to verify the server + certificate (only used if the system CA certificates cannot + validate the certificate). + + +Output Format +------------- + +Most commands support the ``--output-format`` parameter. It accepts +the following values: + +:``text``: Text format (default). Structured data is rendered as a table. + +:``json``: JSON (single line). + +:``json-pretty``: JSON (multiple lines, nicely formatted). + + +Please use the following environment variables to modify output behavior: + +``PROXMOX_OUTPUT_FORMAT`` + Defines the default output format. + +``PROXMOX_OUTPUT_NO_BORDER`` + If set (to any value), do not render table borders. + +``PROXMOX_OUTPUT_NO_HEADER`` + If set (to any value), do not render table headers. + +.. note:: The ``text`` format is designed to be human readable, and + not meant to be parsed by automation tools. Please use the ``json`` + format if you need to process the output. + + +.. _creating-backups: + +Creating Backups +---------------- + +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 on Proxmox VE, see :ref:`pve-integration`. + +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 + + # proxmox-backup-client backup root.pxar:/ --repository backup-server:store1 + Starting backup: host/elsa/2019-12-03T09:35:01Z + Client name: elsa + skip mount point: "/boot/efi" + skip mount point: "/dev" + skip mount point: "/run" + skip mount point: "/sys" + Uploaded 12129 chunks in 87 seconds (564 MB/s). + End Time: 2019-12-03T10:36:29+01:00 + +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 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 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 for each mount point that should be included. + +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``. Note that if you would like this to remain set +over multiple sessions, you should instead add the below line to your +``.bashrc`` file. + +.. code-block:: console + + # export PBS_REPOSITORY=backup-server:store1 + +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, 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 creates a backup of both disks. + +The backup command takes a list of backup specifications, which +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. To create a backup of a block device run the following command: + +.. code-block:: console + + # proxmox-backup-client backup mydata.img:/dev/mylvm/mydata + + +Excluding files/folders from a backup +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sometimes it is desired to exclude certain files or folders from a backup archive. +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. + +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 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 single character +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 whether a file is included or +excluded, that is to say later entries override previous ones. +This is also true for match patterns encountered deeper down the directory tree, +which can override a previous exclusion. +Be aware that excluded directories will **not** be read by the backup client. +Thus, a ``.pxarexclude`` file in an excluded 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 directory structure: + +.. code-block:: console + + # ls -aR folder + folder/: + . .. .pxarexclude subfolder0 subfolder1 + + folder/subfolder0: + . .. file0 file1 file2 file3 .pxarexclude + + folder/subfolder1: + . .. file0 file1 file2 file3 + +The different ``.pxarexclude`` files contain the following: + +.. code-block:: console + + # cat folder/.pxarexclude + /subfolder0/file1 + /subfolder1/* + !/subfolder1/file2 + +.. code-block:: console + + # cat folder/subfolder0/.pxarexclude + file3 + +This would exclude ``file1`` and ``file3`` in ``subfolder0`` and all of +``subfolder1`` except ``file2``. + +Restoring this backup will result in: + +.. code-block:: console + + ls -aR restored + restored/: + . .. .pxarexclude subfolder0 subfolder1 + + restored/subfolder0: + . .. file0 file2 .pxarexclude + + restored/subfolder1: + . .. file2 + + +Encryption +---------- + +Proxmox Backup supports client-side encryption with AES-256 in GCM_ +mode. To set this up, you first need to create an encryption key: + +.. code-block:: console + + # proxmox-backup-client key create my-backup.key + Encryption Key Password: ************** + +The key is password protected by default. If you do not need this +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 + +Having created this key, it is now possible to create an encrypted backup, by +passing the ``--keyfile`` parameter, with the path to the key file. + +.. code-block:: console + + # proxmox-backup-client backup etc.pxar:/etc --keyfile /path/to/my-backup.key + Password: ********* + Encryption Key Password: ************** + ... + +.. Note:: If you do not specify the name of the backup key, the key will be + created in the default location + ``~/.config/proxmox-backup/encryption-key.json``. ``proxmox-backup-client`` + will also search this location by default, in case the ``--keyfile`` + parameter is not specified. + +You can avoid entering the passwords by setting the environment +variables ``PBS_PASSWORD`` and ``PBS_ENCRYPTION_PASSWORD``. + + +Using a master key to store and recover encryption keys +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can also use ``proxmox-backup-client key`` to create an RSA public/private +key pair, which can be used to store an encrypted version of the symmetric +backup encryption key alongside each backup and recover it later. + +To set up a master key: + +1. Create an encryption key for the backup: + + .. code-block:: console + + # proxmox-backup-client key create + creating default key at: "~/.config/proxmox-backup/encryption-key.json" + Encryption Key Password: ********** + ... + + The resulting file will be saved to ``~/.config/proxmox-backup/encryption-key.json``. + +2. Create an RSA public/private key pair: + + .. code-block:: console + + # proxmox-backup-client key create-master-key + Master Key Password: ********* + ... + + This will create two files in your current directory, ``master-public.pem`` + and ``master-private.pem``. + +3. Import the newly created ``master-public.pem`` public certificate, so that + ``proxmox-backup-client`` can find and use it upon backup. + + .. code-block:: console + + # proxmox-backup-client key import-master-pubkey /path/to/master-public.pem + Imported public master key to "~/.config/proxmox-backup/master-public.pem" + +4. With all these files in place, run a backup job: + + .. code-block:: console + + # proxmox-backup-client backup etc.pxar:/etc + + The key will be stored in your backup, under the name ``rsa-encrypted.key``. + + .. Note:: The ``--keyfile`` parameter can be excluded, if the encryption key + is in the default path. If you specified another path upon creation, you + must pass the ``--keyfile`` parameter. + +5. To test that everything worked, you can restore the key from the backup: + + .. code-block:: console + + # proxmox-backup-client restore /path/to/backup/ rsa-encrypted.key /path/to/target + + .. Note:: You should not need an encryption key to extract this file. However, if + a key exists at the default location + (``~/.config/proxmox-backup/encryption-key.json``) the program will prompt + you for an encryption key password. Simply moving ``encryption-key.json`` + out of this directory will fix this issue. + +6. Then, use the previously generated master key to decrypt the file: + + .. code-block:: console + + # openssl rsautl -decrypt -inkey master-private.pem -in rsa-encrypted.key -out /path/to/target + Enter pass phrase for ./master-private.pem: ********* + +7. The target file will now contain the encryption key information in plain + text. The success of this can be confirmed by passing the resulting ``json`` + file, with the ``--keyfile`` parameter, when decrypting files from the backup. + +.. warning:: Without their key, backed up files will be inaccessible. Thus, you should + keep keys ordered and in a place that is separate from the contents being + backed up. It can happen, for example, that you back up an entire system, using + a key on that system. If the system then becomes inaccessable for any reason + and needs to be restored, this will not be possible as the encryption key will be + lost along with the broken system. In preparation for the worst case scenario, + you should consider keeping a paper copy of this key locked away in + a safe place. + + +Restoring Data +-------------- + +The regular creation of backups is a necessary step to avoiding data +loss. More importantly, 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 which you want to restore. The snapshot +command provides a list of all the snapshots on the server: + +.. code-block:: console + + # proxmox-backup-client snapshots + ┌────────────────────────────────┬─────────────┬────────────────────────────────────┐ + │ snapshot │ size │ files │ + ╞════════════════════════════════╪═════════════╪════════════════════════════════════╡ + │ host/elsa/2019-12-03T09:30:15Z │ 51788646825 │ root.pxar catalog.pcat1 index.json │ + ├────────────────────────────────┼─────────────┼────────────────────────────────────┤ + │ host/elsa/2019-12-03T09:35:01Z │ 51790622048 │ root.pxar catalog.pcat1 index.json │ + ├────────────────────────────────┼─────────────┼────────────────────────────────────┤ + ... + +You can inspect the catalog to find specific files. + +.. code-block:: console + + # proxmox-backup-client catalog dump host/elsa/2019-12-03T09:35:01Z + ... + d "./root.pxar.didx/etc/cifs-utils" + l "./root.pxar.didx/etc/cifs-utils/idmap-plugin" + d "./root.pxar.didx/etc/console-setup" + ... + +The restore command lets you restore a single archive from the +backup. + +.. code-block:: console + + # proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z root.pxar /target/path/ + +To get the contents of any archive, you can restore the ``index.json`` file in the +repository to the target path '-'. This will dump the contents to the standard output. + +.. code-block:: console + + # proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z index.json - + + +Interactive Restores +~~~~~~~~~~~~~~~~~~~~ + +If you only want to restore a few individual files, it is often easier +to use the interactive recovery shell. + +.. code-block:: console + + # proxmox-backup-client catalog shell host/elsa/2019-12-03T09:35:01Z root.pxar + Starting interactive shell + pxar:/ > ls + bin boot dev etc home lib lib32 + ... + +The interactive recovery shell is a minimalistic command line interface that +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. + +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 in the archive. +``pwd`` shows the full path of the current working directory with respect to the +archive root. + +Being able to quickly search the contents of the archive is a commmonly needed feature. +That's where the catalog is most valuable. +For example: + +.. code-block:: console + + pxar:/ > find etc/**/*.txt --select + "/etc/X11/rgb.txt" + pxar:/ > list-selected + etc/**/*.txt + pxar:/ > restore-selected /target/path + ... + +This will find and print all files ending in ``.txt`` located in ``etc/`` or a +subdirectory and add the corresponding pattern to the list for subsequent restores. +``list-selected`` shows these patterns and ``restore-selected`` finally restores +all files in the archive matching the patterns to ``/target/path`` on the local +host. This will scan the whole archive. + +With ``restore /target/path`` you can restore the sub-archive given by the current +working directory to the local target path ``/target/path`` on your host. +By additionally passing a glob pattern with ``--pattern <glob>``, the restore is +further limited to files matching the pattern. +For example: + +.. code-block:: console + + pxar:/ > cd /etc/ + pxar:/etc/ > restore /target/ --pattern **/*.conf + ... + +The above will scan trough all the directories below ``/etc`` and restore all +files ending in ``.conf``. + +.. todo:: Explain interactive restore in more detail + +Mounting of Archives via FUSE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :term:`FUSE` implementation for the pxar archive allows you to mount a +file archive as a read-only filesystem to a mountpoint on your host. + +.. code-block:: console + + # proxmox-backup-client mount host/backup-client/2020-01-29T11:29:22Z root.pxar /mnt/mountpoint + # ls /mnt/mountpoint + bin dev home lib32 libx32 media opt root sbin sys usr + boot etc lib lib64 lost+found mnt proc run srv tmp var + +This allows you to access the full contents of the archive in a seamless manner. + +.. note:: As the FUSE connection needs to fetch and decrypt chunks from the + backup server's datastore, this can cause some additional network and CPU + load on your host, depending on the operations you perform on the mounted + filesystem. + +To unmount the filesystem use the ``umount`` command on the mountpoint: + +.. code-block:: console + + # umount /mnt/mountpoint + +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 uses it for further requests +to this server. + +You can also manually trigger this login/logout using the login and +logout commands: + +.. code-block:: console + + # proxmox-backup-client login + Password: ********** + +To remove the ticket, issue a logout: + +.. code-block:: console + + # proxmox-backup-client logout + + +.. _pruning: + +Pruning and Removing Backups +---------------------------- + +You can manually delete a backup snapshot using the ``forget`` +command: + +.. code-block:: console + + # proxmox-backup-client forget <snapshot> + + +.. caution:: This command removes all archives in this backup + snapshot. They will be inaccessible and unrecoverable. + + +Although manual removal is sometimes required, the ``prune`` +command is normally used to systematically delete older backups. Prune lets +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>`` 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>`` 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>`` weeks. If there is more than one + backup for a single week, only the latest is kept. + + .. 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>`` 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>`` 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. + +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 only +shows the list of existing snapshots and what actions prune would take. + +.. code-block:: console + + # proxmox-backup-client prune host/elsa --dry-run --keep-daily 1 --keep-weekly 3 + ┌────────────────────────────────┬──────┐ + │ snapshot │ keep │ + ╞════════════════════════════════╪══════╡ + │ host/elsa/2019-12-04T13:20:37Z │ 1 │ + ├────────────────────────────────┼──────┤ + │ host/elsa/2019-12-03T09:35:01Z │ 0 │ + ├────────────────────────────────┼──────┤ + │ host/elsa/2019-11-22T11:54:47Z │ 1 │ + ├────────────────────────────────┼──────┤ + │ host/elsa/2019-11-21T12:36:25Z │ 0 │ + ├────────────────────────────────┼──────┤ + │ host/elsa/2019-11-10T10:42:20Z │ 1 │ + └────────────────────────────────┴──────┘ + +.. note:: Neither the ``prune`` command nor the ``forget`` command free space + in the chunk-store. The chunk-store still contains the data blocks. To free + space you need to perform :ref:`garbage-collection`. + + +.. _garbage-collection: + +Garbage Collection +------------------ + +The ``prune`` command removes only the backup index files, not the data +from the datastore. This task is left to the garbage collection +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, +unused data blocks are removed. + +.. note:: This command needs to read all existing backup index files + and touches the complete chunk-store. This can take a long time + depending on the number of chunks and the speed of the underlying + disks. + +.. note:: The garbage collection will only remove chunks that haven't been used + for at least one day (exactly 24h 5m). This grace period is necessary because + chunks in use are marked by touching the chunk which updates the ``atime`` + (access time) property. Filesystems are mounted with the ``relatime`` option + by default. This results in a better performance by only updating the + ``atime`` property if the last access has been at least 24 hours ago. The + downside is, that touching a chunk within these 24 hours will not always + update its ``atime`` property. + + Chunks in the grace period will be logged at the end of the garbage + collection task as *Pending removals*. + +.. code-block:: console + + # proxmox-backup-client garbage-collect + starting garbage collection on store store2 + Start GC phase1 (mark used chunks) + Start GC phase2 (sweep unused chunks) + percentage done: 1, chunk count: 219 + percentage done: 2, chunk count: 453 + ... + percentage done: 99, chunk count: 21188 + Removed bytes: 411368505 + Removed chunks: 203 + Original data bytes: 327160886391 + Disk bytes: 52767414743 (16 %) + Disk chunks: 21221 + Average chunk size: 2486565 + TASK OK + + +.. todo:: howto run garbage-collection at regular intervalls (cron) + +Benchmarking +------------ + +The backup client also comes with a benchmarking tool. This tool measures +various metrics relating to compression and encryption speeds. You can run a +benchmark using the ``benchmark`` subcommand of ``proxmox-backup-client``: + +.. code-block:: console + + # proxmox-backup-client benchmark + Uploaded 656 chunks in 5 seconds. + Time per request: 7659 microseconds. + TLS speed: 547.60 MB/s + SHA256 speed: 585.76 MB/s + Compression speed: 1923.96 MB/s + Decompress speed: 7885.24 MB/s + AES256/GCM speed: 3974.03 MB/s + ┌───────────────────────────────────┬─────────────────────┐ + │ Name │ Value │ + ╞═══════════════════════════════════╪═════════════════════╡ + │ TLS (maximal backup upload speed) │ 547.60 MB/s (93%) │ + ├───────────────────────────────────┼─────────────────────┤ + │ SHA256 checksum computation speed │ 585.76 MB/s (28%) │ + ├───────────────────────────────────┼─────────────────────┤ + │ ZStd level 1 compression speed │ 1923.96 MB/s (89%) │ + ├───────────────────────────────────┼─────────────────────┤ + │ ZStd level 1 decompression speed │ 7885.24 MB/s (98%) │ + ├───────────────────────────────────┼─────────────────────┤ + │ AES256 GCM encryption speed │ 3974.03 MB/s (104%) │ + └───────────────────────────────────┴─────────────────────┘ + +.. note:: The percentages given in the output table correspond to a + comparison against a Ryzen 7 2700X. The TLS test connects to the + local host, so there is no network involved. + +You can also pass the ``--output-format`` parameter to output stats in ``json``, +rather than the default table format. + + diff --git a/docs/command-line-tools.rst b/docs/command-line-tools.rst index 3240c49f..9b0a1290 100644 --- a/docs/command-line-tools.rst +++ b/docs/command-line-tools.rst @@ -12,7 +12,7 @@ Command Line Tools .. include:: proxmox-backup-manager/description.rst ``pxar`` -~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~ .. include:: pxar/description.rst diff --git a/docs/index.rst b/docs/index.rst index 04ecd330..fffcb4fd 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -22,7 +22,16 @@ in the section entitled "GNU Free Documentation License". introduction.rst installation.rst - administration-guide.rst + terminology.rst + gui.rst + storage.rst + network-management.rst + user-management.rst + managing-remotes.rst + maintenance.rst + backup-client.rst + pve-integration.rst + pxar-tool.rst sysadmin.rst faq.rst diff --git a/docs/maintenance.rst b/docs/maintenance.rst new file mode 100644 index 00000000..9b0357b8 --- /dev/null +++ b/docs/maintenance.rst @@ -0,0 +1,13 @@ +Maintenance Tasks +================= + +Garbage Collection +------------------ + +You can monitor and run :ref:`garbage collection <garbage-collection>` on the +Proxmox Backup Server using the ``garbage-collection`` subcommand of +``proxmox-backup-manager``. You can use the ``start`` subcommand to manually start garbage +collection on an entire datastore and the ``status`` subcommand to see +attributes relating to the :ref:`garbage collection <garbage-collection>`. + +.. todo:: Add section on verification diff --git a/docs/managing-remotes.rst b/docs/managing-remotes.rst new file mode 100644 index 00000000..e32eb3b4 --- /dev/null +++ b/docs/managing-remotes.rst @@ -0,0 +1,80 @@ +Managing Remotes +================ + +:term:`Remote` +-------------- + +A remote refers to a separate Proxmox Backup Server installation and a user on that +installation, from which you can `sync` datastores to a local datastore with a +`Sync Job`. You can configure remotes in the web interface, under **Configuration +-> Remotes**. Alternatively, you can use the ``remote`` subcommand. The +configuration information for remotes is stored in the file +``/etc/proxmox-backup/remote.cfg``. + +.. image:: images/screenshots/pbs-gui-remote-add.png + :align: right + :alt: Add a remote + +To add a remote, you need its hostname or ip, a userid and password on the +remote, and its certificate fingerprint. To get the fingerprint, use the +``proxmox-backup-manager cert info`` command on the remote, or navigate to +**Dashboard** in the remote's web interface and select **Show Fingerprint**. + +.. code-block:: console + + # proxmox-backup-manager cert info |grep Fingerprint + Fingerprint (sha256): 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe + +Using the information specified above, you can add a remote from the **Remotes** +configuration panel, or by using the command: + +.. code-block:: console + + # proxmox-backup-manager remote create pbs2 --host pbs2.mydomain.example --userid sync@pam --password 'SECRET' --fingerprint 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe + +Use the ``list``, ``show``, ``update``, ``remove`` subcommands of +``proxmox-backup-manager remote`` to manage your remotes: + +.. code-block:: console + + # proxmox-backup-manager remote update pbs2 --host pbs2.example + # proxmox-backup-manager remote list + ┌──────┬──────────────┬──────────┬───────────────────────────────────────────┬─────────┐ + │ name │ host │ userid │ fingerprint │ comment │ + ╞══════╪══════════════╪══════════╪═══════════════════════════════════════════╪═════════╡ + │ pbs2 │ pbs2.example │ sync@pam │64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe │ │ + └──────┴──────────────┴──────────┴───────────────────────────────────────────┴─────────┘ + # proxmox-backup-manager remote remove pbs2 + + +.. _syncjobs: + +Sync Jobs +--------- + +.. image:: images/screenshots/pbs-gui-syncjob-add.png + :align: right + :alt: Add a Sync Job + +Sync jobs are configured to pull the contents of a datastore on a **Remote** to +a local datastore. You can manage sync jobs under **Configuration -> Sync Jobs** +in the web interface, or using the ``proxmox-backup-manager sync-job`` command. +The configuration information for sync jobs is stored at +``/etc/proxmox-backup/sync.cfg``. To create a new sync job, click the add button +in the GUI, or use the ``create`` subcommand. After creating a sync job, you can +either start it manually on the GUI or provide it with a schedule (see +:ref:`calendar-events`) to run regularly. + +.. code-block:: console + + # proxmox-backup-manager sync-job create pbs2-local --remote pbs2 --remote-store local --store local --schedule 'Wed 02:30' + # proxmox-backup-manager sync-job update pbs2-local --comment 'offsite' + # proxmox-backup-manager sync-job list + ┌────────────┬───────┬────────┬──────────────┬───────────┬─────────┐ + │ id │ store │ remote │ remote-store │ schedule │ comment │ + ╞════════════╪═══════╪════════╪══════════════╪═══════════╪═════════╡ + │ pbs2-local │ local │ pbs2 │ local │ Wed 02:30 │ offsite │ + └────────────┴───────┴────────┴──────────────┴───────────┴─────────┘ + # proxmox-backup-manager sync-job remove pbs2-local + + diff --git a/docs/network-management.rst b/docs/network-management.rst new file mode 100644 index 00000000..0656ea5f --- /dev/null +++ b/docs/network-management.rst @@ -0,0 +1,91 @@ +Network Management +================== + +Proxmox Backup Server provides both a web interface and a command line tool for +network configuration. You can find the configuration options in the web +interface under the **Network Interfaces** section of the **Configuration** menu +tree item. The command line tool is accessed via the ``network`` subcommand. +These interfaces allow you to carry out some basic network management tasks, +such as adding, configuring, and removing network interfaces. + +.. note:: Any changes made to the network configuration are not + applied, until you click on **Apply Configuration** or enter the ``network + reload`` command. This allows you to make many changes at once. It also allows + you to ensure that your changes are correct before applying them, as making a + mistake here can render the server inaccessible over the network. + +To get a list of available interfaces, use the following command: + +.. code-block:: console + + # proxmox-backup-manager network list + ┌───────┬────────┬───────────┬────────┬─────────────┬──────────────┬──────────────┐ + │ name │ type │ autostart │ method │ address │ gateway │ ports/slaves │ + ╞═══════╪════════╪═══════════╪════════╪═════════════╪══════════════╪══════════════╡ + │ bond0 │ bond │ 1 │ static │ x.x.x.x/x │ x.x.x.x │ ens18 ens19 │ + ├───────┼────────┼───────────┼────────┼─────────────┼──────────────┼──────────────┤ + │ ens18 │ eth │ 1 │ manual │ │ │ │ + ├───────┼────────┼───────────┼────────┼─────────────┼──────────────┼──────────────┤ + │ ens19 │ eth │ 1 │ manual │ │ │ │ + └───────┴────────┴───────────┴────────┴─────────────┴──────────────┴──────────────┘ + +.. image:: images/screenshots/pbs-gui-network-create-bond.png + :align: right + :alt: Add a network interface + +To add a new network interface, use the ``create`` subcommand with the relevant +parameters. For example, you may want to set up a bond, for the purpose of +network redundancy. The following command shows a template for creating the bond shown +in the list above: + +.. code-block:: console + + # proxmox-backup-manager network create bond0 --type bond --bond_mode active-backup --slaves ens18,ens19 --autostart true --cidr x.x.x.x/x --gateway x.x.x.x + +You can make changes to the configuration of a network interface with the +``update`` subcommand: + +.. code-block:: console + + # proxmox-backup-manager network update bond0 --cidr y.y.y.y/y + +You can also remove a network interface: + +.. code-block:: console + + # proxmox-backup-manager network remove bond0 + +The pending changes for the network configuration file will appear at the bottom of the +web interface. You can also view these changes, by using the command: + +.. code-block:: console + + # proxmox-backup-manager network changes + +If you would like to cancel all changes at this point, you can either click on +the **Revert** button or use the following command: + +.. code-block:: console + + # proxmox-backup-manager network revert + +If you are happy with the changes and would like to write them into the +configuration file, select **Apply Configuration**. The corresponding command +is: + +.. code-block:: console + + # proxmox-backup-manager network reload + +.. note:: This command and corresponding GUI button rely on the ``ifreload`` + command, from the package ``ifupdown2``. This package is included within the + Proxmox Backup Server installation, however, you may have to install it yourself, + if you have installed Proxmox Backup Server on top of Debian or Proxmox VE. + +You can also configure DNS settings, from the **DNS** section +of **Configuration** or by using the ``dns`` subcommand of +``proxmox-backup-manager``. + +.. _backup_remote: + + diff --git a/docs/pve-integration.rst b/docs/pve-integration.rst new file mode 100644 index 00000000..fc6dcdfb --- /dev/null +++ b/docs/pve-integration.rst @@ -0,0 +1,49 @@ +.. _pve-integration: + +`Proxmox VE`_ Integration +------------------------- + +You need to define a new storage with type 'pbs' on your `Proxmox VE`_ +node. The following example uses ``store2`` as storage name, and +assumes the server address is ``localhost``, and you want to connect +as ``user1@pbs``. + +.. code-block:: console + + # pvesm add pbs store2 --server localhost --datastore store2 + # pvesm set store2 --username user1@pbs --password <secret> + +.. note:: If you would rather not pass your password as plain text, you can pass + the ``--password`` parameter, without any arguments. This will cause the + program to prompt you for a password upon entering the command. + +If your backup server uses a self signed certificate, you need to add +the certificate fingerprint to the configuration. You can get the +fingerprint by running the following command on the backup server: + +.. code-block:: console + + # proxmox-backup-manager cert info | grep Fingerprint + Fingerprint (sha256): 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe + +Please add that fingerprint to your configuration to establish a trust +relationship: + +.. code-block:: console + + # pvesm set store2 --fingerprint 64:d3:ff:3a:50:38:53:5a:9b:f7:50:...:ab:fe + +After that you should be able to see storage status with: + +.. code-block:: console + + # pvesm status --storage store2 + Name Type Status Total Used Available % + store2 pbs active 3905109820 1336687816 2568422004 34.23% + +Having added the PBS datastore to `Proxmox VE`_, you can backup VMs and +containers in the same way you would for any other storage device within the +environment (see `PVE Admin Guide: Backup and Restore +<https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_vzdump>`_. + + diff --git a/docs/pxar-tool.rst b/docs/pxar-tool.rst new file mode 100644 index 00000000..b0164ff6 --- /dev/null +++ b/docs/pxar-tool.rst @@ -0,0 +1,5 @@ +pxar Command Line Tool +====================== + +.. include:: pxar/description.rst + diff --git a/docs/pxar/description.rst b/docs/pxar/description.rst index 856ffd51..18be7687 100644 --- a/docs/pxar/description.rst +++ b/docs/pxar/description.rst @@ -47,7 +47,7 @@ by running: Be aware that the shell itself will try to expand all of the glob patterns before invoking ``pxar``. In order to avoid this, all globs have to be quoted correctly. - + It is possible to pass the ``--exclude`` parameter multiple times, in order to match more than one pattern. This allows you to use more complex file exclusion/inclusion behavior. However, it is recommended to use diff --git a/docs/storage.rst b/docs/storage.rst new file mode 100644 index 00000000..3a4875c6 --- /dev/null +++ b/docs/storage.rst @@ -0,0 +1,244 @@ +Storage +======= + +Disk Management +--------------- + +.. image:: images/screenshots/pbs-gui-disks.png + :align: right + :alt: List of disks + +Proxmox Backup Server comes with a set of disk utilities, which are +accessed using the ``disk`` subcommand. This subcommand allows you to initialize +disks, create various filesystems, and get information about the disks. + +To view the disks connected to the system, navigate to **Administration -> +Disks** in the web interface or use the ``list`` subcommand of +``disk``: + +.. code-block:: console + + # proxmox-backup-manager disk list + ┌──────┬────────┬─────┬───────────┬─────────────┬───────────────┬─────────┬────────┐ + │ name │ used │ gpt │ disk-type │ size │ model │ wearout │ status │ + ╞══════╪════════╪═════╪═══════════╪═════════════╪═══════════════╪═════════╪════════╡ + │ sda │ lvm │ 1 │ hdd │ 34359738368 │ QEMU_HARDDISK │ - │ passed │ + ├──────┼────────┼─────┼───────────┼─────────────┼───────────────┼─────────┼────────┤ + │ sdb │ unused │ 1 │ hdd │ 68719476736 │ QEMU_HARDDISK │ - │ passed │ + ├──────┼────────┼─────┼───────────┼─────────────┼───────────────┼─────────┼────────┤ + │ sdc │ unused │ 1 │ hdd │ 68719476736 │ QEMU_HARDDISK │ - │ passed │ + └──────┴────────┴─────┴───────────┴─────────────┴───────────────┴─────────┴────────┘ + +To initialize a disk with a new GPT, use the ``initialize`` subcommand: + +.. code-block:: console + + # proxmox-backup-manager disk initialize sdX + +.. image:: images/screenshots/pbs-gui-disks-dir-create.png + :align: right + :alt: Create a directory + +You can create an ``ext4`` or ``xfs`` filesystem on a disk using ``fs +create``, or by navigating to **Administration -> Disks -> Directory** in the +web interface and creating one from there. The following command creates an +``ext4`` filesystem and passes the ``--add-datastore`` parameter, in order to +automatically create a datastore on the disk (in this case ``sdd``). This will +create a datastore at the location ``/mnt/datastore/store1``: + +.. code-block:: console + + # proxmox-backup-manager disk fs create store1 --disk sdd --filesystem ext4 --add-datastore true + +.. image:: images/screenshots/pbs-gui-disks-zfs-create.png + :align: right + :alt: Create ZFS + +You can also create a ``zpool`` with various raid levels from **Administration +-> Disks -> Zpool** in the web interface, or by using ``zpool create``. The command +below creates a mirrored ``zpool`` using two disks (``sdb`` & ``sdc``) and +mounts it on the root directory (default): + +.. code-block:: console + + # proxmox-backup-manager disk zpool create zpool1 --devices sdb,sdc --raidlevel mirror + +.. note:: You can also pass the ``--add-datastore`` parameter here, to automatically + create a datastore from the disk. + +You can use ``disk fs list`` and ``disk zpool list`` to keep track of your +filesystems and zpools respectively. + +Proxmox Backup Server uses the package smartmontools. This is a set of tools +used to monitor and control the S.M.A.R.T. system for local hard disks. If a +disk supports S.M.A.R.T. capability, and you have this enabled, you can +display S.M.A.R.T. attributes from the web interface or by using the command: + +.. code-block:: console + + # proxmox-backup-manager disk smart-attributes sdX + +.. note:: This functionality may also be accessed directly through the use of + the ``smartctl`` command, which comes as part of the smartmontools package + (see ``man smartctl`` for more details). + + +.. _datastore_intro: + +:term:`DataStore` +----------------- + +A datastore refers to a location at which backups are stored. The current +implementation uses a directory inside a standard unix file system (``ext4``, +``xfs`` or ``zfs``) to store the backup data. + +Datastores are identified by a simple *ID*. You can configure this +when setting up the datastore. The configuration information for datastores +is stored in the file ``/etc/proxmox-backup/datastore.cfg``. + +.. note:: The `File Layout`_ requires the file system to support at least *65538* + subdirectories per directory. That number comes from the 2\ :sup:`16` + pre-created chunk namespace directories, and the ``.`` and ``..`` default + directory entries. This requirement excludes certain filesystems and + filesystem configuration from being supported for a datastore. For example, + ``ext3`` as a whole or ``ext4`` with the ``dir_nlink`` feature manually disabled. + + +Datastore Configuration +~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: images/screenshots/pbs-gui-datastore.png + :align: right + :alt: Datastore Overview + +You can configure multiple datastores. Minimum one datastore needs to be +configured. The datastore is identified by a simple *name* and points to a +directory on the filesystem. Each datastore also has associated retention +settings of how many backup snapshots for each interval of ``hourly``, +``daily``, ``weekly``, ``monthly``, ``yearly`` as well as a time-independent +number of backups to keep in that store. :ref:`Pruning <pruning>` and +:ref:`garbage collection <garbage-collection>` can also be configured to run +periodically based on a configured schedule (see :ref:`calendar-events`) per datastore. + + +Creating a Datastore +^^^^^^^^^^^^^^^^^^^^ +.. image:: images/screenshots/pbs-gui-datastore-create-general.png + :align: right + :alt: Create a datastore + +You can create a new datastore from the web GUI, by navigating to **Datastore** in +the menu tree and clicking **Create**. Here: + +* *Name* refers to the name of the datastore +* *Backing Path* is the path to the directory upon which you want to create the + datastore +* *GC Schedule* refers to the time and intervals at which garbage collection + runs +* *Prune Schedule* refers to the frequency at which pruning takes place +* *Prune Options* set the amount of backups which you would like to keep (see :ref:`Pruning <pruning>`). + +Alternatively you can create a new datastore from the command line. The +following command creates a new datastore called ``store1`` on :file:`/backup/disk1/store1` + +.. code-block:: console + + # proxmox-backup-manager datastore create store1 /backup/disk1/store1 + + +Managing Datastores +^^^^^^^^^^^^^^^^^^^ + +To list existing datastores from the command line run: + +.. code-block:: console + + # proxmox-backup-manager datastore list + ┌────────┬──────────────────────┬─────────────────────────────┐ + │ name │ path │ comment │ + ╞════════╪══════════════════════╪═════════════════════════════╡ + │ store1 │ /backup/disk1/store1 │ This is my default storage. │ + └────────┴──────────────────────┴─────────────────────────────┘ + +You can change the garbage collection and prune settings of a datastore, by +editing the datastore from the GUI or by using the ``update`` subcommand. For +example, the below command changes the garbage collection schedule using the +``update`` subcommand and prints the properties of the datastore with the +``show`` subcommand: + +.. code-block:: console + + # proxmox-backup-manager datastore update store1 --gc-schedule 'Tue 04:27' + # proxmox-backup-manager datastore show store1 + ┌────────────────┬─────────────────────────────┐ + │ Name │ Value │ + ╞════════════════╪═════════════════════════════╡ + │ name │ store1 │ + ├────────────────┼─────────────────────────────┤ + │ path │ /backup/disk1/store1 │ + ├────────────────┼─────────────────────────────┤ + │ comment │ This is my default storage. │ + ├────────────────┼─────────────────────────────┤ + │ gc-schedule │ Tue 04:27 │ + ├────────────────┼─────────────────────────────┤ + │ keep-last │ 7 │ + ├────────────────┼─────────────────────────────┤ + │ prune-schedule │ daily │ + └────────────────┴─────────────────────────────┘ + +Finally, it is possible to remove the datastore configuration: + +.. code-block:: console + + # proxmox-backup-manager datastore remove store1 + +.. note:: The above command removes only the datastore configuration. It does + not delete any data from the underlying directory. + + +File Layout +^^^^^^^^^^^ + +After creating a datastore, the following default layout will appear: + +.. code-block:: console + + # ls -arilh /backup/disk1/store1 + 276493 -rw-r--r-- 1 backup backup 0 Jul 8 12:35 .lock + 276490 drwxr-x--- 1 backup backup 1064960 Jul 8 12:35 .chunks + +`.lock` is an empty file used for process locking. + +The `.chunks` directory contains folders, starting from `0000` and taking hexadecimal values until `ffff`. These +directories will store the chunked data after a backup operation has been executed. + +.. code-block:: console + + # ls -arilh /backup/disk1/store1/.chunks + 545824 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 ffff + 545823 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffe + 415621 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffd + 415620 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffc + 353187 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffb + 344995 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fffa + 144079 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fff9 + 144078 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fff8 + 144077 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 fff7 + ... + 403180 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 000c + 403179 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 000b + 403177 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 000a + 402530 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0009 + 402513 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0008 + 402509 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0007 + 276509 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0006 + 276508 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0005 + 276507 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0004 + 276501 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0003 + 276499 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0002 + 276498 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0001 + 276494 drwxr-x--- 2 backup backup 4.0K Jul 8 12:35 0000 + 276489 drwxr-xr-x 3 backup backup 4.0K Jul 8 12:35 .. + 276490 drwxr-x--- 1 backup backup 1.1M Jul 8 12:35 . + + diff --git a/docs/terminology.rst b/docs/terminology.rst new file mode 100644 index 00000000..89ec7646 --- /dev/null +++ b/docs/terminology.rst @@ -0,0 +1,118 @@ +Terminology +=========== + +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, it can be split into *fixed* or *variable* +sized chunks. + +Fixed sized chunking requires minimal CPU power, and is used to +backup virtual machine images. + +Variable sized chunking needs more CPU power, but is essential to get +good deduplication rates for file archives. + +The Proxmox Backup Server supports both strategies. + + +Image Archives: ``<name>.img`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is used for virtual machine images and other large binary +data. Content is split into fixed-sized chunks. + + +File Archives: ``<name>.pxar`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. see https://moinakg.wordpress.com/2013/06/22/high-performance-content-defined-chunking/ + +A file archive stores a full directory tree. Content is stored using +the :ref:`pxar-format`, split into variable-sized chunks. The format +is optimized to achieve good deduplication rates. + + +Binary Data (BLOBs) +~~~~~~~~~~~~~~~~~~~ + +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. + + +Catalog File: ``catalog.pcat1`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +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, their +sizes and checksums. It is used to verify the consistency of a +backup. + + +Backup Type +----------- + +The backup server groups backups by *type*, where *type* is one of: + +``vm`` + This type is used for :term:`virtual machine`\ s. Typically + consists of the virtual machine's configuration file and an image archive + for each disk. + +``ct`` + This type is used for :term:`container`\ s. Consists of the container's + configuration and a single file archive for the filesystem content. + +``host`` + 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 +--------- + +A unique ID. Usually the virtual machine or container ID. ``host`` +type backups normally use the hostname. + + +Backup Time +----------- + +The time when the backup was made. + + +Backup Group +------------ + +The tuple ``<type>/<ID>`` is called a backup group. Such a group +may contain one or more backup snapshots. + + +Backup Snapshot +--------------- + +The triplet ``<type>/<ID>/<time>`` is called a backup snapshot. It +uniquely identifies a specific backup within a datastore. + +.. code-block:: console + :caption: Backup Snapshot Examples + + vm/104/2019-10-09T08:01:06Z + host/elsa/2019-11-08T09:48:14Z + +As you can see, the time format is RFC3399_ with Coordinated +Universal Time (UTC_, identified by the trailing *Z*). + + diff --git a/docs/user-management.rst b/docs/user-management.rst new file mode 100644 index 00000000..56ad7a71 --- /dev/null +++ b/docs/user-management.rst @@ -0,0 +1,186 @@ +.. _user_mgmt: + +User Management +=============== + + +User Configuration +------------------ + +.. image:: images/screenshots/pbs-gui-user-management.png + :align: right + :alt: User management + +Proxmox Backup Server supports several authentication realms, and you need to +choose the realm when you add a new user. Possible realms are: + +:pam: Linux PAM standard authentication. Use this if you want to + authenticate as Linux system user (Users need to exist on the + system). + +:pbs: Proxmox Backup Server realm. This type stores hashed passwords in + ``/etc/proxmox-backup/shadow.json``. + +After installation, there is a single user ``root@pam``, which +corresponds to the Unix superuser. User configuration information is stored in the file +``/etc/proxmox-backup/user.cfg``. You can use the +``proxmox-backup-manager`` command line tool to list or manipulate +users: + +.. code-block:: console + + # proxmox-backup-manager user list + ┌─────────────┬────────┬────────┬───────────┬──────────┬────────────────┬────────────────────┐ + │ userid │ enable │ expire │ firstname │ lastname │ email │ comment │ + ╞═════════════╪════════╪════════╪═══════════╪══════════╪════════════════╪════════════════════╡ + │ root@pam │ 1 │ │ │ │ │ Superuser │ + └─────────────┴────────┴────────┴───────────┴──────────┴────────────────┴────────────────────┘ + +.. image:: images/screenshots/pbs-gui-user-management-add-user.png + :align: right + :alt: Add a new user + +The superuser has full administration rights on everything, so you +normally want to add other users with less privileges. You can create a new +user with the ``user create`` subcommand or through the web interface, under +**Configuration -> User Management**. The ``create`` subcommand lets you specify +many options like ``--email`` or ``--password``. You can update or change any +user properties using the ``update`` subcommand later (**Edit** in the GUI): + + +.. code-block:: console + + # proxmox-backup-manager user create john@pbs --email john@example.com + # proxmox-backup-manager user update john@pbs --firstname John --lastname Smith + # proxmox-backup-manager user update john@pbs --comment "An example user." + +.. todo:: Mention how to set password without passing plaintext password as cli argument. + + +The resulting user list looks like this: + +.. code-block:: console + + # proxmox-backup-manager user list + ┌──────────┬────────┬────────┬───────────┬──────────┬──────────────────┬──────────────────┐ + │ userid │ enable │ expire │ firstname │ lastname │ email │ comment │ + ╞══════════╪════════╪════════╪═══════════╪══════════╪══════════════════╪══════════════════╡ + │ john@pbs │ 1 │ │ John │ Smith │ john@example.com │ An example user. │ + ├──────────┼────────┼────────┼───────────┼──────────┼──────────────────┼──────────────────┤ + │ root@pam │ 1 │ │ │ │ │ Superuser │ + └──────────┴────────┴────────┴───────────┴──────────┴──────────────────┴──────────────────┘ + +Newly created users do not have any permissions. Please read the next +section to learn how to set access permissions. + +If you want to disable a user account, you can do that by setting ``--enable`` to ``0`` + +.. code-block:: console + + # proxmox-backup-manager user update john@pbs --enable 0 + +Or completely remove the user with: + +.. code-block:: console + + # proxmox-backup-manager user remove john@pbs + + +.. _user_acl: + +Access Control +-------------- + +By default new users do not have any permission. Instead you need to +specify what is allowed and what is not. You can do this by assigning +roles to users on specific objects like datastores or remotes. The +following roles exist: + +**NoAccess** + Disable Access - nothing is allowed. + +**Admin** + Can do anything. + +**Audit** + Can view things, but is not allowed to change settings. + +**DatastoreAdmin** + Can do anything on datastores. + +**DatastoreAudit** + Can view datastore settings and list content. But + is not allowed to read the actual data. + +**DatastoreReader** + Can Inspect datastore content and can do restores. + +**DatastoreBackup** + Can backup and restore owned backups. + +**DatastorePowerUser** + Can backup, restore, and prune owned backups. + +**RemoteAdmin** + Can do anything on remotes. + +**RemoteAudit** + Can view remote settings. + +**RemoteSyncOperator** + Is allowed to read data from a remote. + +.. image:: images/screenshots/pbs-gui-permissions-add.png + :align: right + :alt: Add permissions for user + +Access permission information is stored in ``/etc/proxmox-backup/acl.cfg``. The +file contains 5 fields, separated using a colon (':') as a delimiter. A typical +entry takes the form: + +``acl:1:/datastore:john@pbs:DatastoreBackup`` + +The data represented in each field is as follows: + +#. ``acl`` identifier +#. A ``1`` or ``0``, representing whether propagation is enabled or disabled, + respectively +#. The object on which the permission is set. This can be a specific object + (single datastore, remote, etc.) or a top level object, which with + propagation enabled, represents all children of the object also. +#. The user for which the permission is set +#. The role being set + +You can manage datastore permissions from **Configuration -> Permissions** in the +web interface. Likewise, you can use the ``acl`` subcommand to manage and +monitor user permissions from the command line. For example, the command below +will add the user ``john@pbs`` as a **DatastoreAdmin** for the datastore +``store1``, located at ``/backup/disk1/store1``: + +.. code-block:: console + + # proxmox-backup-manager acl update /datastore/store1 DatastoreAdmin --userid john@pbs + +You can monitor the roles of each user using the following command: + +.. code-block:: console + + # proxmox-backup-manager acl list + ┌──────────┬──────────────────┬───────────┬────────────────┐ + │ ugid │ path │ propagate │ roleid │ + ╞══════════╪══════════════════╪═══════════╪════════════════╡ + │ john@pbs │ /datastore/disk1 │ 1 │ DatastoreAdmin │ + └──────────┴──────────────────┴───────────┴────────────────┘ + +A single user can be assigned multiple permission sets for different datastores. + +.. Note:: + Naming convention is important here. For datastores on the host, + you must use the convention ``/datastore/{storename}``. For example, to set + permissions for a datastore mounted at ``/mnt/backup/disk4/store2``, you would use + ``/datastore/store2`` for the path. For remote stores, use the convention + ``/remote/{remote}/{storename}``, where ``{remote}`` signifies the name of the + remote (see `Remote` below) and ``{storename}`` is the name of the datastore on + the remote. + + -- 2.20.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [pbs-devel] applied: [PATCH docs 2/2] Restructure docs (more first level headings) 2020-10-02 14:12 ` [pbs-devel] [PATCH docs 2/2] Restructure docs (more first level headings) Dylan Whyte @ 2020-10-05 8:03 ` Thomas Lamprecht 0 siblings, 0 replies; 4+ messages in thread From: Thomas Lamprecht @ 2020-10-05 8:03 UTC (permalink / raw) To: Proxmox Backup Server development discussion, Dylan Whyte On 02.10.20 16:12, Dylan Whyte wrote: > This removes the "Backup Management" first level heading in the docs, > and either uses the sub headings contained within it as first level > headings, or groups previous sections logically under new headings. > > The administration-guide.rst file is also removed. Its contents are > instead separated into various files, that relate to their respective > first level heading. > > Signed-off-by: Dylan Whyte <d.whyte@proxmox.com> > --- > docs/administration-guide.rst | 1480 --------------------------------- > docs/backup-client.rst | 712 ++++++++++++++++ > docs/command-line-tools.rst | 2 +- > docs/index.rst | 11 +- > docs/maintenance.rst | 13 + > docs/managing-remotes.rst | 80 ++ > docs/network-management.rst | 91 ++ > docs/pve-integration.rst | 49 ++ > docs/pxar-tool.rst | 5 + > docs/pxar/description.rst | 2 +- > docs/storage.rst | 244 ++++++ > docs/terminology.rst | 118 +++ > docs/user-management.rst | 186 +++++ > 13 files changed, 1510 insertions(+), 1483 deletions(-) > delete mode 100644 docs/administration-guide.rst > create mode 100644 docs/backup-client.rst > create mode 100644 docs/maintenance.rst > create mode 100644 docs/managing-remotes.rst > create mode 100644 docs/network-management.rst > create mode 100644 docs/pve-integration.rst > create mode 100644 docs/pxar-tool.rst > create mode 100644 docs/storage.rst > create mode 100644 docs/terminology.rst > create mode 100644 docs/user-management.rst > > applied, thanks! Can you please add some (initial) content for "Prune" and "Verification" sections in the "Maintenance Tasks" section? That'd be great! ^ permalink raw reply [flat|nested] 4+ messages in thread
* [pbs-devel] applied: [PATCH docs 1/2] Add section "GUI" 2020-10-02 14:12 [pbs-devel] [PATCH docs 1/2] Add section "GUI" Dylan Whyte 2020-10-02 14:12 ` [pbs-devel] [PATCH docs 2/2] Restructure docs (more first level headings) Dylan Whyte @ 2020-10-05 8:01 ` Thomas Lamprecht 1 sibling, 0 replies; 4+ messages in thread From: Thomas Lamprecht @ 2020-10-05 8:01 UTC (permalink / raw) To: Proxmox Backup Server development discussion, Dylan Whyte On 02.10.20 16:12, Dylan Whyte wrote: > Section provides a brief overview of the web interface > > Signed-off-by: Dylan Whyte <d.whyte@proxmox.com> > --- > docs/gui.rst | 135 ++++++++++++++++++ > .../pbs-gui-administration-serverstatus.png | Bin 0 -> 129701 bytes > docs/images/screenshots/pbs-gui-dashboard.png | Bin 0 -> 122053 bytes > .../screenshots/pbs-gui-login-window.png | Bin 0 -> 16163 bytes > 4 files changed, 135 insertions(+) > create mode 100644 docs/gui.rst > create mode 100644 docs/images/screenshots/pbs-gui-administration-serverstatus.png > create mode 100644 docs/images/screenshots/pbs-gui-dashboard.png > create mode 100644 docs/images/screenshots/pbs-gui-login-window.png > > applied, thanks! ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-10-05 8:03 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-10-02 14:12 [pbs-devel] [PATCH docs 1/2] Add section "GUI" Dylan Whyte 2020-10-02 14:12 ` [pbs-devel] [PATCH docs 2/2] Restructure docs (more first level headings) Dylan Whyte 2020-10-05 8:03 ` [pbs-devel] applied: " Thomas Lamprecht 2020-10-05 8:01 ` [pbs-devel] applied: [PATCH docs 1/2] Add section "GUI" Thomas Lamprecht
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox