PROXMOX 8 / Debian12でblksnapをコンパイル中にVeeam Backup Agentエラーが発生しました。

PROXMOX 8 / Debian12でblksnapをコンパイル中にVeeam Backup Agentエラーが発生しました。

2台のPROXMOXサーバーバージョン8.2.2でveeam blksnapのコンパイルの問題はありますか?

dkms install -m blksnap -v 6.1.0.1498 Sign command: /lib/modules/6.8.4-2-pve/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub

Building module: Cleaning build area... make -j16 KERNELRELEASE=6.8.4-2-pve -j16 -C /lib/modules/6.8.4-2-pve/build M=/var/lib/dkms/blksnap/6.1.0.1498/build modules...(bad exit status: 2) Error! Bad return status for module build on kernel: 6.8.4-2-pve (x86_64) Consult /var/lib/dkms/blksnap/6.1.0.1498/build/make.log for more information.

/var/lib/dkms/blksnap/6.1.0.1498/build/make.log ログを理解しようとしていますが、これまでは解決策が見つかりませんでした。

 DKMS make.log for blksnap-6.1.0.1498 for kernel 6.8.4-2-pve (x86_64)
Fri Apr 26 02:49:00 PM CEST 2024
make: Entering directory '/usr/src/linux-headers-6.8.4-2-pve'
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/bdevfilter.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/log.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/big_buffer.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/cbt_map.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/chunk.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_io.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_buffer.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/event_queue.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/main.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/sysfs.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/tracker.o
  CC [M]  /var/lib/dkms/blksnap/6.1.0.1498/build/memory_checker.o
/var/lib/dkms/blksnap/6.1.0.1498/build/log.c:246:5: warning: no previous prototype for ‘log_processor’ [-Wmissing-prototypes]
  246 | int log_processor(void *data)
      |     ^~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_io.c:45:6: warning: no previous prototype for ‘diff_io_endio’ [-Wmissing-prototypes]
   45 | void diff_io_endio(struct bio *bio)
      |      ^~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: In function ‘diff_area_free’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:123:17: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  123 |                 blkdev_put(diff_area->orig_bdev, NULL);
      |                 ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c: In function ‘diff_storage_free’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:123:17: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  123 |                 blkdev_put(storage_bdev->bdev, NULL);
      |                 ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.c:444:5: warning: no previous prototype for ‘ioctl_mod’ [-Wmissing-prototypes]
  444 | int ioctl_mod(unsigned long arg)
      |     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/ctrl.c:454:5: warning: no previous prototype for ‘ioctl_setlog’ [-Wmissing-prototypes]
  454 | int ioctl_setlog(unsigned long arg)
      |     ^~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:23:9: note: ‘#pragma message: Standalone bdevfilter’
   23 | #pragma message("Standalone bdevfilter")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:29:9: note: ‘#pragma message: The void submit_bio_noacct(struct bio *) function was found.’
   29 | #pragma message("The void submit_bio_noacct(struct bio *) function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:35:9: note: ‘#pragma message: The struct bio have pointer to struct block_device.’
   35 | #pragma message("The struct bio have pointer to struct block_device.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:41:9: note: ‘#pragma message: The bdev_nr_sectors() function was found.’
   41 | #pragma message("The bdev_nr_sectors() function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:44:9: note: ‘#pragma message: The blk_mq_alloc_disk() function was found.’
   44 | #pragma message("The blk_mq_alloc_disk() function was found.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:50:9: note: ‘#pragma message: The function add_disk() has a return code.’
   50 | #pragma message("The function add_disk() has a return code.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/main.c:56:9: note: ‘#pragma message: The function bio_alloc_bioset() has a parameter bdev.’
   56 | #pragma message("The function bio_alloc_bioset() has a parameter bdev.")
      |         ^~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: In function ‘diff_area_new’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:296:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  296 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:296:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  296 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c: In function ‘diff_storage_add_storage_bdev’:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:162:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  162 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.c:162:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  162 |         bdev = blkdev_get_by_dev(dev_id, FMODE_READ | FMODE_WRITE, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c: At top level:
/var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.c:395:15: warning: no previous prototype for ‘diff_area_chunk_take’ [-Wmissing-prototypes]
  395 | struct chunk *diff_area_chunk_take(struct diff_area *diff_area,
      |               ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c: In function ‘snapshot_release_trackers’:
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c:58:21: error: implicit declaration of function ‘freeze_bdev’; did you mean ‘freeze_super’? [-Werror=implicit-function-declaration]
   58 |                 if (freeze_bdev(tracker->diff_area->orig_bdev))
      |                     ^~~~~~~~~~~
      |                     freeze_super
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_filter_attach’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:242:13: error: implicit declaration of function ‘freeze_bdev’; did you mean ‘freeze_super’? [-Werror=implicit-function-declaration]
  242 |         if (freeze_bdev(bdev))
      |             ^~~~~~~~~~~
      |             freeze_super
/var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.c:79:21: error: implicit declaration of function ‘thaw_bdev’ [-Werror=implicit-function-declaration]
   79 |                 if (thaw_bdev(tracker->diff_area->orig_bdev))
      |                     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:259:21: error: implicit declaration of function ‘thaw_bdev’ [-Werror=implicit-function-declaration]
  259 |                 if (thaw_bdev(bdev))
      |                     ^~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_create_or_get’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:476:16: error: implicit declaration of function ‘blkdev_get_by_dev’; did you mean ‘blkdev_get_no_open’? [-Werror=implicit-function-declaration]
  476 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |                ^~~~~~~~~~~~~~~~~
      |                blkdev_get_no_open
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:476:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  476 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c: In function ‘snapimage_create’:
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c:292:47: error: ‘BLK_DEF_MAX_SECTORS’ undeclared (first use in this function); did you mean ‘BLK_SAFE_MAX_SECTORS’?
  292 |         blk_queue_max_hw_sectors(disk->queue, BLK_DEF_MAX_SECTORS);
      |                                               ^~~~~~~~~~~~~~~~~~~
      |                                               BLK_SAFE_MAX_SECTORS
/var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.c:292:47: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:531:9: error: implicit declaration of function ‘blkdev_put’ [-Werror=implicit-function-declaration]
  531 |         blkdev_put(bdev, NULL);
      |         ^~~~~~~~~~
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_remove’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:548:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  548 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_read_cbt_bitmap’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:626:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  626 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘collect_cbt_info’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:678:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  678 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c: In function ‘tracker_mark_dirty_blocks’:
/var/lib/dkms/blksnap/6.1.0.1498/build/tracker.c:765:14: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  765 |         bdev = blkdev_get_by_dev(dev_id, 0, NULL, NULL);
      |              ^
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/snapimage.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/diff_storage.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/diff_area.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/snapshot.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/blksnap/6.1.0.1498/build/tracker.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.8.4-2-pve/Makefile:1926: /var/lib/dkms/blksnap/6.1.0.1498/build] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.8.4-2-pve'

たぶん私よりもこの仕事を上手にする人がいないだろうか?助けてくれてありがとう!

答え1

6.8 カーネルは blksnap 6.1.0 がリリースされたときに存在せず、そのサポートは後で 6.1.2 に追加されました。

blksnapリポジトリからビルドしてみてください。https://github.com/veeam/blksnap

悩んでいるなら、一度見てくださいhttps://github.com/veeam/blksnap/issues/88

関連情報