-
-
Notifications
You must be signed in to change notification settings - Fork 85
Description
I need to move the cbsd dataset to another location in the same pool. I do this using zfs send/recv. Next, I change the path to the working directory in rc.conf, correct local.sqlite in ~cbsd/var/db and ~cbsd/vm/.
I restarted the host computer and disabled the original dataset. When I started the bhyve VM, I see that cbsd is still trying to use the old path to start the virtual machine, and therefore the virtual machine does not start in the new location.
After cbsd bstart opn for the new dataset (/var/cbsd), I get:
/usr/local/cbsd/subr/cbsdinit.subr: cannot create /cbsd/ver: No such file or directory
For cd ~cbsd, I get a message that such a directory does not exist.
What am I doing wrong or doing too much? What is my mistake?
Here is a detailed sequence of my actions.
The original VM is located in the /cbsd dataset.
The new VM is in /var/cbsd.
The name of the virtual machine being transferred is opn.
- sudo cbsd bstop opn
- sudo cbsd bls //check all VMs are stopped
- snapshots:
a. sudo zfs snap aoscar/cbsd@migrate
b. sudo zfs snap aoscar/cbsd/opn@migrate
c. sudo zfs snap aoscar/cbsd/opn/dsk1.vhd@migrate - send/receive:
a. sudo zfs send aoscar/cbsd@migrate | sudo zfs recv aoscar/var/cbsd
b. sudo zfs send aoscar/cbsd/opn@migrate | sudo zfs recv -u aoscar/var/cbsd/opn
c. sudo zfs send aoscar/cbsd/opn/dsk1.vhd@migrate | sudo zfs recv aoscar/var/cbsd/opn/dsk1.vhd - sudo zfs mountpoint=/var/cbsd/vm/opn aoscar/var/cbsd/opn
- rc.conf: cbsd_workdir="/cbsd" → cbsd_workdir="/var/cbsd"
- to check and correct links:
a. sudo ls -la /var/cbsd/jails-system | grep opn
* opn -> /cbsd/vm/opn
b. sudo ln -sf /var/cbsd/vm/opn /var/cbsd/jails-system/opn //it doesn't work.
c. sudo rm /var/cbsd/jails-system/opn
d. sudo ln -s /var/cbsd/vm/opn /var/cbsd/jails-system/opn
e. sudo ls -la /var/cbsd/vm/opn | grep dsk
* dsk1.vhd -> /dev/zvol/aoscar/cbsd/opn/dsk1.vhd
f. sudo ln -sf /dev/zvol/aoscar/var/cbsd/opn/dsk1.vhd /var/cbsd/vm/opn/dsk1.vhd - to correct /cbsd/var/db sqlite:
a. su
b. cd /var/cbsd/var/db
c. sqlite3 inv.oscar.sqlite '.dump' > x.sql
d. edit x.sql (/cbsd → /var/cbsd)
e. mv inv.oscar.sqlite inv.oscar.sqlite-00.bak
f. sqlite3 inv.oscar.sqlite < x.sql - to correct vm sqlite:
a. cd /var/cbsd/vm/opn
b. sudo sqlite3 local.sqlite '.dump' > x.sql
c. to edit x.sql:
* INSERT INTO pcibus VALUES(2,'virtio-blk',4,0,0,'/cbsd/vm/opn/dsk1.vhd',1); → INSERT INTO pcibus VALUES(2,'virtio-blk',4,0,0,'/var/cbsd/vm/opn/dsk1.vhd',1);
* INSERT INTO pcibus_run VALUES(1406,'virtio-blk',4,0,0,'/cbsd/vm/opn/dsk1.vhd',1); → INSERT INTO pcibus_run VALUES(1406,'virtio-blk',4,0,0,'/var/cbsd/vm/opn/dsk1.vhd',1);
d. mv local.sqlite local.sqlite-00.bak
e. sqlite3 local.sqlite < x.sql - to destroy snaps:
- sudo zfs destroy aoscar/cbsd@migrate
- sudo zfs destroy aoscar/cbsd/opn@migrate
- sudo zfs destroy aoscar/cbsd/opn/dsk1.vhd@migrate
- sudo zfs destroy aoscar/var/cbsd@migrate
- sudo zfs destroy aoscar/var/cbsd/opn@migrate
- sudo zfs destroy aoscar/var/cbsd/opn/dsk1.vhd@migrate
- restart host
- sudo zfs unmount aoscar/cbsd
- sudo cbsd bstart opn
The result is:
/usr/local/cbsd/subr/cbsdinit.subr: cannot create /cbsd/ver: No such file or directory
......
env workdir=/var/cbsd cbsd initenv
/usr/local/cbsd/subr/cbsdinit.subr: cannot create /cbsd/ver: No such file or directory
/usr/local/cbsd/subr/cbsdinit.subr: cannot create /cbsd/ver: No such file or directory
......
~ % zfs list
NAME USED AVAIL REFER MOUNTPOINT
aoscar 64.1G 34.7G 96K none
aoscar/ROOT 6.75G 34.7G 96K none
aoscar/ROOT/14.2-RELEASE-p2_2025-05-19_045015 152K 34.7G 2.91G /
aoscar/ROOT/14.2R-p1 4.12M 34.7G 1.71G /
aoscar/ROOT/14.2R-p2 6.74G 34.7G 3.01G /
aoscar/cbsd 23.3G 34.7G 7.32G /cbsd
aoscar/cbsd/fbsd15 160K 34.7G 96K /cbsd/jails-data/fbsd15-data
aoscar/cbsd/fw 160K 34.7G 96K /cbsd/jails-data/fw-data
aoscar/cbsd/opn 16.0G 34.7G 480K /cbsd/vm/opn
aoscar/cbsd/opn/dsk1.vhd 7.04G 43.7G 6.37G -
aoscar/home 801M 34.7G 796M /home
aoscar/tmp 620K 34.7G 620K /tmp
aoscar/usr 8.16G 34.7G 96K /usr
aoscar/usr/fbsd15 1.44G 34.7G 96K /usr/fbsd15
aoscar/usr/fbsd15/dsk1.vhd 1.44G 34.7G 1.37G -
aoscar/usr/fw 6.73G 34.7G 96K /usr/fw
aoscar/usr/fw/dsk1.vhd 6.73G 34.7G 6.40G -
aoscar/usr/ports 96K 34.7G 96K /usr/ports
aoscar/usr/src 96K 34.7G 96K /usr/src
aoscar/var 25.0G 34.7G 96K /var
aoscar/var/audit 96K 34.7G 96K /var/audit
aoscar/var/cbsd 13.7G 34.7G 7.32G /var/cbsd
aoscar/var/cbsd/opn 6.37G 34.7G 472K /var/cbsd/vm/opn
aoscar/var/cbsd/opn/dsk1.vhd 6.37G 34.7G 6.37G -
aoscar/var/crash 96K 34.7G 96K /var/crash
aoscar/var/log 11.3G 34.7G 11.3G /var/log
aoscar/var/mail 612K 34.7G 164K /var/mail
aoscar/var/tmp 96K 34.7G 96K /var/tmp
~ % zfs mount
aoscar/ROOT/14.2R-p2 /
aoscar/home /home
aoscar/tmp /tmp
aoscar/var/log /var/log
aoscar/usr/ports /usr/ports
aoscar/usr/src /usr/src
aoscar/var/audit /var/audit
aoscar/cbsd /cbsd
aoscar/var/cbsd /var/cbsd
aoscar/var/tmp /var/tmp
aoscar/var/crash /var/crash
aoscar/var/mail /var/mail
aoscar/cbsd/opn /cbsd/vm/opn
aoscar/var/cbsd/opn /var/cbsd/vm/opn
aoscar/cbsd/fw /cbsd/jails-data/fw-data
aoscar/cbsd/fbsd15 /cbsd/jails-data/fbsd15-data