[pve-devel] [PATCH pve-manager master v1 1/2] fix #6652: ceph: osd: enable autoactivation for OSD LVs on creation
Max R. Carrara
m.carrara at proxmox.com
Tue Aug 12 18:46:29 CEST 2025
... by directly calling lvcreate instead of using the LVM storage
plugin's helper sub.
Autoactivation is required for LVs used by Ceph OSDs, as Ceph
otherwise doesn't activate them by itself.
This is a regression from f296ffc4e4d in pve-storage [0].
[0]: https://git.proxmox.com/?p=pve-storage.git;a=commitdiff;h=f296ffc4e4d64b574c3001dc7cc6af3da1406441
Fixes: #6652
Signed-off-by: Max R. Carrara <m.carrara at proxmox.com>
---
PVE/API2/Ceph/OSD.pm | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/PVE/API2/Ceph/OSD.pm b/PVE/API2/Ceph/OSD.pm
index 23e187ce..4801f8dd 100644
--- a/PVE/API2/Ceph/OSD.pm
+++ b/PVE/API2/Ceph/OSD.pm
@@ -443,7 +443,25 @@ __PACKAGE__->register_method({
my $lv = $type . "-" . UUID::uuid();
PVE::Storage::LVMPlugin::lvm_create_volume_group($dev->{devpath}, $vg);
- PVE::Storage::LVMPlugin::lvcreate($vg, $lv, "${size}k");
+
+ my $cmd = [
+ '/sbin/lvcreate',
+ '-aly',
+ '-Wy',
+ '--yes',
+ '--size',
+ # size in kilobytes
+ $size . "k",
+ '--name',
+ $lv,
+ # explicitly enable autoactivation,
+ # otherwise ceph-volume cannot bring the LV online
+ '--setautoactivation',
+ 'y',
+ $vg,
+ ];
+
+ run_command($cmd, errmsg => "lvcreate '$vg/$lv' error");
if (PVE::Diskmanage::is_partition($dev->{devpath})) {
eval { PVE::Diskmanage::change_parttype($dev->{devpath}, '8E00'); };
--
2.47.2
More information about the pve-devel
mailing list