Am 01.03.21 um 11:13 schrieb Stefan Reiter:
On 3/1/21 11:06 AM, Fabian Ebner wrote:
Am 01.03.21 um 10:54 schrieb Stefan Reiter:
On 3/1/21 10:42 AM, Fabian Ebner wrote:
Moving to Ceph is very slow when bs=1. Instead, use the biggest possible power of two <= 1024. At the moment our EFI image sizes are multiples of 1024, so just using 1024 wouldn't be a problem, but this feels more future-proof.

Signed-off-by: Fabian Ebner <f.eb...@proxmox.com>
---

I did not see an way for 'qemu-img dd' to use a larger blocksize while still specifying the exact total size if it is not a multiple of the blocksize.


Could it make sense to just set the block size equal to the image size with count=1 ? Since the images will always be very small anyway...


Note that AAVMF_VARS.fd is 64 MiB. Are blocksizes that big a good idea?


That'd be too much, but the VARS file shouldn't be copied anyway? Only the efidisk attached to the VM?


AFAICT that's the file used for the EFI disk.

  PVE/QemuServer.pm | 10 +++++++++-
  1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index f401baf..e579cdf 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -6991,7 +6991,15 @@ sub clone_disk {
          # that is given by the OVMF_VARS.fd
          my $src_path = PVE::Storage::path($storecfg, $drive->{file});
          my $dst_path = PVE::Storage::path($storecfg, $newvolid);
-        run_command(['qemu-img', 'dd', '-n', '-O', $dst_format, "bs=1", "count=$size",
+
+        # Ceph doesn't like too small blocksize, see bug #3324
+        my $bs = 1;
+        while ($bs < $size && $bs < 1024 && $size % $bs == 0) {
+            $bs *= 2;
+        }
+        my $count = $size / $bs;
+
+        run_command(['qemu-img', 'dd', '-n', '-O', $dst_format, "bs=$bs", "count=$count",
              "if=$src_path", "of=$dst_path"]);
          } else {
          qemu_img_convert($drive->{file}, $newvolid, $size, $snapname, $sparseinit);



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to