pve-manager/PVE/API2
Aaron Lauterer ad1677d221 fix #4631: ceph: osd: create: add osds-per-device
Allows to automatically create multiple OSDs per physical device. The
main use case are fast NVME drives that would be bottlenecked by a
single OSD service.

By using the 'ceph-volume lvm batch' command instead of the 'ceph-volume
lvm create' for multiple OSDs / device, we don't have to deal with the
split of the drive ourselves.

But this means that the parameters to specify a DB or WAL device won't
work as the 'batch' command doesn't use them. Dedicated DB and WAL
devices don't make much sense anyway if we place the OSDs on fast NVME
drives.

Some other changes to how the command is built were needed as well, as
the 'batch' command needs the path to the disk as a positional argument,
not as '--data /dev/sdX'.
We drop the '--cluster-fsid' parameter because the 'batch' command
doesn't accept it. The 'create' will fall back to reading it from the
ceph.conf file.

Removal of OSDs works as expected without any code changes. As long as
there are other OSDs on a disk, the VG & PV won't be removed, even if
'cleanup' is enabled.

The '--no-auto' parameter is used to avoid the following deprecation
warning:
```
--> DEPRECATION NOTICE
--> You are using the legacy automatic disk sorting behavior
--> The Pacific release will change the default to --no-auto
--> passed data devices: 1 physical, 0 LVM
--> relative data size: 0.3333333333333333
```

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2023-11-06 18:23:28 +01:00
..
Ceph fix #4631: ceph: osd: create: add osds-per-device 2023-11-06 18:23:28 +01:00
Cluster api: notification: make the 'mail-to-root' target visible to any user 2023-08-16 11:11:24 +02:00
Hardware makefile: convert to use simple parenthesis 2023-05-29 18:24:00 +02:00
ACME.pm api: ACME revoke: do not abort if CA is just expired 2020-08-19 18:52:48 +02:00
ACMEAccount.pm api: acme: fix API index entry for challenge-schema 2021-05-05 15:52:49 +02:00
ACMEPlugin.pm ACME: add comment for implicit standalone plugin fallback 2020-05-07 13:53:05 +02:00
APT.pm api: apt: send notification via new notification module 2023-08-16 11:10:12 +02:00
Backup.pm api: backup: refactor backup permission check 2023-07-27 10:40:17 +02:00
Capabilities.pm api: move cpu path into qemu/capabilities 2021-06-09 11:29:34 +02:00
Ceph.pm api ceph: fix directory endpoint index 2023-06-21 09:32:49 +02:00
Certificates.pm fix #2771: relax cert API endpoints permissions 2020-06-17 14:00:43 +02:00
Cluster.pm api: prepare api handler module for notification config 2023-08-16 11:10:15 +02:00
HAConfig.pm use new ha infrastructure 2015-04-03 08:36:59 +02:00
Hardware.pm api: add resource map api endpoints for PCI and USB 2023-06-16 16:25:42 +02:00
Makefile makefile: convert to use simple parenthesis 2023-05-29 18:24:00 +02:00
Network.pm api2: network: improve code readability 2023-06-07 17:04:29 +02:00
NodeConfig.pm api: fill in nodeconfig schema 2022-03-17 14:24:20 +01:00
Nodes.pm node console: allow usage for non-pam realms 2023-11-06 15:37:38 +01:00
Pool.pm api: pool update: rename 'transfer' parameter to 'allow-move' 2023-09-08 13:36:38 +02:00
Replication.pm api: replication: send notifications via new notification module 2023-08-16 11:10:14 +02:00
ReplicationConfig.pm fix iteration over hash without keys 2020-11-20 15:34:27 +01:00
Services.pm api/services: add pvescheduler to the service list 2021-11-12 16:17:36 +01:00
Subscription.pm subscription: remove ceph APT auth if invalid 2023-10-25 18:45:48 +02:00
Tasks.pm fix #4521: api/tasks: replace upid as filename for task log downloads 2023-02-09 17:18:52 +01:00
VZDump.pm vzdump: send notifications via new notification module 2023-08-16 11:10:10 +02:00