Solved bhyve vm migrate errors

tl;dr One cannot migrate a cloned vm.

OP:

I have a byhve vm named vhp3k101 that I cloned to vhp3k101rl88. I am trying to migrate the clone to another host. I can migrate the original vm without a problem. However, migrating the clone invariably results in an error.

Code:
[root@vhost03 ~ (master)]# vm migrate -r vhp3ktest vhp3k101 vhost01
Attempting to send vhp3k101 to vhost01
  * remote dataset zroot/vm/vhp3ktest
  * stage 1: taking snapshot 20230628123722-s1
  * stage 1: sending zroot/vm/vhp3k101@20230628123722-s1
!!Warning!! -   Any deliberate attempt to access this resource without
                legitimate authorization is a criminal offence
                (R.S.C. 1985, c. C-46 - Section 342.1).
  * stage 1: snapshot sent
  * stage 2: guest powered off
!!Warning!! -   Any deliberate attempt to access this resource without
                legitimate authorization is a criminal offence
                (R.S.C. 1985, c. C-46 - Section 342.1).
  * renaming configuration file to vhp3ktest.conf
  * removing snapshots
  * done


[root@vhost03 ~ (master)]# vm migrate -r vhp3ktest2 vhp3k101rl88 vhost01
Attempting to send vhp3k101rl88 to vhost01
  * remote dataset zroot/vm/vhp3ktest
  * source guest is powered on (#75112)
  * stage 1: taking snapshot 20230628142653-s1
  * stage 1: sending zroot/vm/vhp3k101rl88@20230628142653-s1
!!Warning!! -   Any deliberate attempt to access this resource without
                legitimate authorization is a criminal offence
                (R.S.C. 1985, c. C-46 - Section 342.1).
cannot receive: local origin for clone zroot/vm/vhp3ktest@2023-06-03_02.00.00--6w does not exist
warning: cannot send 'zroot/vm/vhp3k101rl88/disk0@2023-06-03_02.00.00--6w': signal received
warning: cannot send 'zroot/vm/vhp3k101rl88/disk0@2023-06-04_01.00.00--3m': Broken pipe
warning: cannot send 'zroot/vm/vhp3k101rl88/disk0@2023-06-04_02.00.00--6w': Broken pipe
. . .
warning: cannot send 'zroot/vm/vhp3k101rl88/disk0@20230628142653-s1': Broken pipe
warning: cannot send 'zroot/vm/vhp3k101rl88/disk0@20230628143340-s1': Broken pipe
  ! error detected while sending snapshot

Is there some aspect of zfs which prevents me from migrating a clone? Is it necessary to promote the clone in order to carry out a successful migration?
 
Last edited:
In terms of zfs clone is still dependent from its origin. So to migrate a clone you need to promote it first, but be aware that origin vm becomes a clone of promoted after that. If you need to have two independent vm's you should use use zfs send ... | zfs recv ... instead of zfs-clone(8). The second option is to have an origin dataset with clone's parent snapshot on remote host before migrating clone.
 
Thank you for clarifying this for me. I ran a trial of migrating a clone on another host and discovered the same thing. But I could not be sure that was actually the problem.
 
Back
Top