237314ad0d
tape: improve catalog consistency checks
...
Try to check if we read the correct catalog by verifying uuid, media_set_uuid
and seq_nr.
Note: this changes the catalog format again.
2021-03-18 08:43:55 +01:00
6ee3035523
tape: define magic number for catalog archives
2021-03-17 13:35:23 +01:00
b627ebbf40
tape: improve catalog parser
2021-03-17 11:29:23 +01:00
54722acada
tape: store datastore name in tape archives and media catalog
...
So that we can store multiple datastores on a single media set.
Deduplication is now per datastore (not per media set).
2021-03-17 11:08:51 +01:00
0e2bf3aa1d
SnapshotReader: add self.datastore_name() helper
2021-03-17 10:16:34 +01:00
365126efa9
tape: PoolWriter - remove unnecessary move_to_eom
2021-03-17 10:16:34 +01:00
776dabfb2e
tape: use MB/s for backup speed (to match drive speed specification)
2021-03-16 08:51:49 +01:00
5c4755ad08
tape: speedup backup by doing read/write in parallel
2021-03-16 08:51:49 +01:00
e8913fea12
tape: write_chunk_archive - do not consume partially written chunk at EOT
...
So that it is re-written to the next tape.
2021-03-12 07:14:50 +01:00
2892624783
tape/send_load_media_email: move to server/email_notifications
...
and reuse 'send_job_status_mail' there so that we get consistent
formatted mails from pbs (e.g. html part and author)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-03-11 09:56:12 +01:00
2c10410b0d
tape: improve backup task log
2021-03-11 08:43:13 +01:00
d1d74c4367
typo fixes all over the place
...
found and semi-manually replaced by using:
codespell -L mut -L crate -i 3 -w
Mostly in comments, but also email notification and two occurrences
of misspelled 'reserved' struct member, which where not used and
cargo build did not complain about the change, soo ...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-03-10 16:39:57 +01:00
5ef4c7bcd3
tape: fix scsi volume_statistics and cartridge_memory for quantum drives
2021-03-10 14:13:48 +01:00
713a128adf
tape: improve backup task log format
2021-03-10 09:54:51 +01:00
affc224aca
tape: read_tape_mam - pass correct allocation len
2021-03-10 09:24:38 +01:00
6f82d32977
tape: cleanup - remove wrong inline comment
2021-03-10 08:11:51 +01:00
1057b1f5a5
tape: lock artificial "__UNASSIGNED__" pool to avoid races
2021-03-09 10:00:26 +01:00
af76234112
tape: improve MediaPool allocation by sorting tapes by ctime and label_text
2021-03-09 08:33:21 +01:00
1d7fcbece8
tape/linux_tape: remove debug prints
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-03-08 14:29:19 +01:00
9ce2481a69
tape: clean - fix if cleaning tape is already loaded
2021-03-08 09:08:55 +01:00
c9793d47f9
api2/tape: add notify_user to backup(-jobs) and restore api calls
...
so that a user can be given that will be notified for
manual intervention (e.g. inserting a tape)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-03-05 17:20:37 +01:00
90e16be3ae
tape: improve PoolWriter logging
...
Log reason why we allocate a new media set.
2021-03-05 09:59:38 +01:00
cd5d6103ea
tape: fix media_expire_time
2021-03-04 16:58:24 +01:00
1bed3aedc8
tape: fix wrong media set expire time
2021-03-04 12:38:28 +01:00
ab77d660cc
tape: improve media status in list_media
2021-03-04 10:17:10 +01:00
78593b5b5c
tape/drive: improve error and email handling for requesting a tape load
...
Try once first to load the correct tape before sending an email to
insert the correct one. This way, the admin does not get a mail
if the correct tape is already inserted.
Also include the error we got that prompted the email to insert the
tape. This means that if the admin gets prompted to insert e.g.
"FOO" but inserts "BAR", he'll get an email that the wrong
tape is inserted.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-03-03 16:09:39 +01:00
1d14c31658
Revert "tape: also abort backup/restore on server shutdown"
...
This reverts commit 9bd81bb384
.
Turns out this is not really a good idea.
2021-03-02 08:00:10 +01:00
9bd81bb384
tape: also abort backup/restore on server shutdown
2021-03-02 07:19:31 +01:00
d984a9acf0
tape: add Inventory.media_list() helper
2021-03-01 09:30:45 +01:00
08ec39be0c
tape: add api to set media status
2021-02-26 10:44:07 +01:00
25350f3370
tape: set media status if we detect damaged medium at start of backup
2021-02-26 09:00:50 +01:00
3fbf2311e4
tape: improve backup task logging
2021-02-23 12:58:44 +01:00
86d9f4e733
tape: extend MediaChange trait to return MtxStatus
2021-02-20 10:23:16 +01:00
3f16f1b006
tape: update changer status inside ScsiMediaChange implementation
2021-02-20 09:56:27 +01:00
cd44fb8d84
tape: create tmp dirs early at server startup
2021-02-19 18:10:02 +01:00
4188fd59a0
tape: cache changer state
2021-02-19 16:48:19 +01:00
546d2653ee
tape/drive: add get/set status functions
...
simply writes into/reads from a file in /run, we will use this
for writing the upid (or potential other states) per drive
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:05:09 +01:00
33c06b3388
tape/drive: add test_device_path_lock
...
this makes it possible to detect if the drive was locked in a
non-blocking manner
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:03:30 +01:00
9bbd83b1f2
tape: media_list API - allow to update online status for a single changer
2021-02-18 10:59:33 +01:00
8b910bb6bc
tape: add regression test for compute_media_state
2021-02-17 06:57:29 +01:00
dbaef7d04d
tape: add regression test for alloc_writable_media
2021-02-17 06:55:49 +01:00
ced7838de4
tape: fix path for test files
2021-02-06 09:32:50 +01:00
f197c286d5
tape/inventory: fix missing parameter in error message
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-05 16:12:18 +01:00
25aa55b5f5
tape: correctly lock the tape device
2021-02-05 10:50:21 +01:00
cdf39e62b3
tape: MediaPool - replace use_offline_media with changer_name
...
This way, we can improve location_is_available, because we only
consider media from that changer as available.
2021-02-04 10:15:18 +01:00
b81e37f6ab
tape: improve code reuse
2021-02-04 09:39:16 +01:00
ddebbb52fd
tape: fix tests for BlockedReader
2021-02-04 08:54:54 +01:00
983e929e25
tape: add multi volume reader/writer implementations
...
We currently do not use it. Added anaways, to show the possibility.
2021-02-04 08:36:35 +01:00
f47e035721
tape: cleanup - move tape file readers/writers into src/tape/file_formats folder
2021-02-04 07:59:37 +01:00
7d2c156eb1
tape: BlockedReader - always consume EOF
2021-02-03 13:25:59 +01:00