From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 9622C6F5A1 for ; Mon, 30 Aug 2021 13:15:16 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 945BC1A077 for ; Mon, 30 Aug 2021 13:15:16 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 325F919FF8 for ; Mon, 30 Aug 2021 13:15:11 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id F2A474427F for ; Mon, 30 Aug 2021 13:15:10 +0200 (CEST) From: Hannes Laimer To: pbs-devel@lists.proxmox.com Date: Mon, 30 Aug 2021 13:14:50 +0200 Message-Id: <20210830111505.38694-1-h.laimer@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.172 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH v2 proxmox-backup 00/15] (partially)close #3156: Add support for removable datastores X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2021 11:15:16 -0000 v2(based on Lorenz Stechauner 's feedback): - do not allow creation of removable datastores on a device that is mounted at '/' - ui: also show the mount point in the Options-tab Adds the possibility to create removable datastores. A removable datastore has a UUID(the device on which the data is stored) and a mount-point(where the device will be mounted), iff both are set the datastore is removable. Everything else is identical to normal datastores. Since config files for jobs, etc. are stored on the server, all configuration can be done with the device plugged in or not. Certain statistics about the datastore won't be available as long as it is not plugged in. Removable datastores have to be unmounted before removing, it can only be unmounted if not jibs are running. Removable datastores are mounted automatically when the device is plugged in, if it has been unmounted, it has to be mounted manually through the WebUI or the Api. Jobs will not be started if the datastore is not available, and depending on the configuration, start when the device is plugged in the next time. Still todo: - make sync to local datastore more integrated - (add 'when plugged in'-option to job schedule?) - replace linux commands with internal functions in tools/disks, where possible Hannes Laimer (15): tools: add disks utility functions config: add uuid+mountpoint to DataStoreConfig api2: add support for removable datastore creation backup: add check_if_available function to ds api2: add 'is_available' to DataStoreConfig api2: add 'removable' to DataStoreListItem api2: add (un)mount endpoint for removable ds's pbs: add mount-removable command to commandSocket pbs-manager: add 'send-command' command debian: add udev rule for removable datastores ui: show usb icon for removable datastore in list ui: add 'removable' checkbox in datastore creation ui: display row as disabled in ds statistics ui: show backing device UUID and mount-point in option tab ui: add (un)mount button to summary debian/proxmox-backup-server.udev | 3 + pbs-api-types/src/lib.rs | 7 ++ src/api2/admin/datastore.rs | 159 +++++++++++++++++++++++++++ src/api2/config/datastore.rs | 22 +++- src/api2/status.rs | 19 +++- src/api2/types/mod.rs | 2 + src/backup/datastore.rs | 23 ++++ src/backup/mod.rs | 2 +- src/bin/proxmox-backup-api.rs | 27 +++++ src/bin/proxmox-backup-manager.rs | 41 +++++++ src/config/datastore.rs | 16 +++ src/tools/disks/mod.rs | 53 +++++++++ www/NavigationTree.js | 3 +- www/dashboard/DataStoreStatistics.js | 3 + www/datastore/OptionView.js | 6 + www/datastore/Summary.js | 77 ++++++++++++- www/window/DataStoreEdit.js | 5 + 17 files changed, 460 insertions(+), 8 deletions(-) -- 2.30.2