Thomas Lamprecht
2e1b63fb25
backup verify: do not check every loop iteration for abort/shutdown
...
only check every 1024'th, which is cheaper to do than a modulo, as we
can just mask the 10 least-significant-bits and check if the result
is zero.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-15 13:21:36 +02:00
Thomas Lamprecht
7b2d3a5fe9
backup verify: unify check if chunk can be skipped
...
This also re-checks the corrupt chunk list before actually loading a
chunk.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-15 13:21:07 +02:00
Thomas Lamprecht
0216f56241
config: tfa: drop now unused schema::Updatable
...
was used in a macro expansion, now handled otherwise
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-15 12:35:11 +02:00
Dietmar Maurer
80acdd71fa
tape: do not try to backup unfinished backups
2021-04-15 10:24:14 +02:00
Thomas Lamprecht
26af61debc
backup verify: re-check if we can skip a chunk in the actual verify loop
...
Fixes a non-negligible performance regression from commit
7f394c807b
While we skip known-verified chunks in the stat-and-inode-sort loop,
those are only the ones from previous indexes. If there's a repeated
chunk in one index they would get re-verified more often as required.
So, add the check again explicitly to the read+verify loop.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-15 10:00:06 +02:00
Thomas Lamprecht
e7f94010d3
cargo toml: update proxmox version
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-15 09:56:45 +02:00
Dominik Csapak
a4e871f52c
api2/access/user: remove password for @pbs users on removal
...
so that their password entry is not left in the shadow.json
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-15 08:33:20 +02:00
Thomas Lamprecht
bc3072ef7a
bump version to 1.1.1-1
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 14:50:41 +02:00
Dylan Whyte
f4bb2510b9
docs: tape: replace changer overview screenshot
...
Replace previous screenshot with one that shows a more realistic amount
of drives.
Signed-off-by: Dylan Whyte <d.whyte@proxmox.com>
2021-04-14 14:41:00 +02:00
Thomas Lamprecht
2ab12cd0cb
verify: add comment for inode sorting
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 14:39:24 +02:00
Thomas Lamprecht
c894909e17
verify: partially rust fmt
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 14:39:24 +02:00
Dominik Csapak
7f394c807b
backup/verify: improve speed by sorting chunks by inode
...
before reading the chunks from disk in the order of the index file,
stat them first and sort them by inode number.
this can have a very positive impact on read speed on spinning disks,
even with the additional stat'ing of the chunks.
memory footprint should be tolerable, for 1_000_000 chunks
we need about ~16MiB of memory (Vec of 64bit position + 64bit inode)
(assuming 4MiB Chunks, such an index would reference 4TiB of data)
two small benchmarks (single spinner, ext4) here showed an improvement from
~430 seconds to ~330 seconds for a 32GiB fixed index
and from
~160 seconds to ~120 seconds for a 10GiB dynamic index
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-14 14:39:24 +02:00
Dietmar Maurer
7afb98a912
docs: fix tape.cfg format description
2021-04-14 14:30:20 +02:00
Dietmar Maurer
3847008e1b
docs: pmt - remove old linux driver options
2021-04-14 14:26:39 +02:00
Dietmar Maurer
f6ed2eff47
docs: move tape config/syntax to appendix
2021-04-14 14:25:10 +02:00
Dominik Csapak
23eed6755a
ui: tape/ChangerStatus: hide drive-slots without assigned drives
...
if a user has not configured a drive for a specified driveslot of the
changer, simply hide that slot
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-14 14:24:07 +02:00
Thomas Lamprecht
384a2b4d4f
docs: faq: fix encryption link
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 14:18:05 +02:00
Thomas Lamprecht
910177a388
docs: pve-integration: mention gui integration
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 14:18:05 +02:00
Dietmar Maurer
54311a38c6
docs: update proxmox-tape status output
2021-04-14 14:03:45 +02:00
Dominik Csapak
983edbc54a
ui: tape/ChangerStatus: add Format button to drivegrid
...
so that the user can also format an already inserted tape directly
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-14 13:53:16 +02:00
Dietmar Maurer
10439718e2
docs: use defininition list for tape Terminology
...
To avoid those strange line breaks in Field list labels.
2021-04-14 13:25:29 +02:00
Thomas Lamprecht
ebddccef5f
docs: gui: add short tape backup section
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 12:47:05 +02:00
Thomas Lamprecht
9cfe0ff350
docs: include tape backup in TOC
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 12:47:05 +02:00
Thomas Lamprecht
295bae14b7
docs: tape: add a bit of text to changers for better image flow
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 12:47:05 +02:00
Dylan Whyte
53939bb438
docs: tape screenshots
...
Add tape screenshots throughout the tape docs with some references to the GUI
Signed-off-by: Dylan Whyte <d.whyte@proxmox.com>
2021-04-14 12:47:05 +02:00
Thomas Lamprecht
329c2cbe66
docs: reorder maintenance & network after client usage/tools
...
The idea is that people first need to make actual backups before they
need to do maintenance tasks.
Network is already setup when installing with the ISO or on-top of
Debian, so that is not a priority either.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 12:47:05 +02:00
Thomas Lamprecht
55334cf45a
docs: use "Backup Storage" heading
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-14 12:47:05 +02:00
Dominik Csapak
a2e30cd51d
ui: tape: rename erase to format
...
erase is a different action, so correctly call it 'format'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-14 12:25:53 +02:00
Dietmar Maurer
4bf2ab1109
cleanup: remove debug println
2021-04-14 10:39:29 +02:00
Dominik Csapak
1dd1c9eb5c
api2/tape/restore: restore_chunk_archive: only ignore tape related errors
...
when we get an error from the tape, we possibly want to ignore it,
i.e. when the file was incomplete, but we still want to error
out if the error came from e.g, the datastore, so we have to move
the error checking code to the 'next_chunk' call
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-14 10:38:26 +02:00
Thomas Lamprecht
6dde015f8c
bump version to 1.1.0-1
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 14:42:50 +02:00
Thomas Lamprecht
5f3b2330c8
docs: typo fixes
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 14:42:50 +02:00
Thomas Lamprecht
4ba5d3b3dd
docs: mention client repository and rework client installation
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 14:42:50 +02:00
Thomas Lamprecht
e7e3d7360a
docs: get help: actually link customer portal
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 14:42:50 +02:00
Thomas Lamprecht
fd8b00aed7
docs: client: add "Backup" to "Repository Locations" heading to avoid confusion
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 14:42:50 +02:00
Dietmar Maurer
2631e57d20
fix regression tests
2021-04-13 14:02:37 +02:00
Dietmar Maurer
90461b76fb
TapeRead: add skip_data()
2021-04-13 13:32:45 +02:00
Thomas Lamprecht
629103d60c
d/rules: update binary path for proxmox-backup-file-restore
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 12:18:29 +02:00
Thomas Lamprecht
dc232b8946
d/control: update to track thiserror build dependency
...
was in Cargo.toml since commit
64ad7b706148b289d4ca67b87630cdc60f464cc
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 12:16:42 +02:00
Thomas Lamprecht
6fed819dc2
proxmox-backup-file-restore: fix various postinst bugs/bad-behavior
...
1. The exit was never called as `test ... || echo "foo" || exit 1`
can never come to the exit, as echo will not fail
2. The echo was meant to be redirected to stderr (FD #2 ) but it was
actually redirected to a file named '2'
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 12:06:10 +02:00
Dominik Csapak
646fc7f086
ui: tape/DriveStatus: show that no tape is loaded in grid title
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-13 11:48:45 +02:00
Dominik Csapak
ecc5602c88
ui: tape/DriveStatus: remove buffer-mode
...
since this will almost always be set to '1', it has no real
value to show to the user
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-13 11:47:37 +02:00
Dietmar Maurer
6a15cce540
tape: SgTapeReader::read_block - disable reading beyond EOF
2021-04-13 11:46:30 +02:00
Dietmar Maurer
f281b8d3a9
tape: cleanup MediaCatalog on tape reuse
2021-04-13 11:46:30 +02:00
Thomas Lamprecht
4465b76812
d/control: bump versioned dependency for proxmox-widget-toolkit
...
to ensure we have the moved out file browser widget available
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 09:14:11 +02:00
Thomas Lamprecht
61df02cda1
ui: file browser: adapt to abi changes
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-13 09:06:30 +02:00
Stefan Reiter
3b0321365b
use FileBrowser from proxmox-widget-toolkit
...
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-13 08:44:48 +02:00
Stefan Reiter
0dfce17a43
api/datastore: allow pxar file download of entire archive
...
Treat filepaths like "/root.pxar.didx" without a trailing slash as
wanting to download the entire archive content instead of erroring. The
zip-creation code already works fine for this scenario.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-13 08:26:41 +02:00
Thomas Lamprecht
a38dccf0e8
ui: index: drop enableTapeUI
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-12 15:55:58 +02:00
Thomas Lamprecht
f05085ab22
ui: nav tree: code cleanup
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-12 15:55:58 +02:00