Moving NCP from Tinkerboard to VM



I have been running my NextcloudPi on a ASUS Tinkerboard for the last few years and just had another of those instances where the SD Card “died” (basically a lot of files are corrupt all of a sudden and e2fsck reports lots of errors). I am thinking of now running NCP on an old laptop that I don’t use anymore, using the NCP VM image.

On the Tinkerboard setup I have the data moved to a USB hard drive. I have scheduled btrfs snapshots enabled as well. The USB HDD looks like this:

shantanu@nextcloudpi:/media/myCloudDrive$ ls -l
total 0
drwxr-xr-x 1 root     root       50 Oct 10 08:17 manual-snapshots
drwxrwx--- 1 www-data www-data  236 Apr  3  2021 ncdata
drwxr-xr-x 1 mysql    mysql     342 Dec 14 11:06 nc-database
drwxr-xr-x 1 root     root     1600 Dec 14 03:00 ncp-backups
drwxr-xr-x 1 root     root     2360 Dec 14 09:17 ncp-snapshots


shantanu@nextcloudpi:/media/myCloudDrive$ sudo ls *

appdata_ocfgwleo0gzc  files_external  index.html  ncp  ncp-update-backups  nextcloud.log  shantanu  sinny  tmp

aria_log.00000001  debian-10.3.flag  ibdata1      ib_logfile1  mysql_upgrade_info  performance_schema
aria_log_control   ib_buffer_pool    ib_logfile0  ibtmp1       mysql              nextcloud           tc.log

nextcloud-bkp_20211125_1637805602.tar.gz  nextcloud-bkp_20211202_1638410404.tar.gz  nextcloud-bkp_20211209_1639015202.tar.gz
nextcloud-bkp_20211126_1637892002.tar.gz  nextcloud-bkp_20211203_1638496804.tar.gz  nextcloud-bkp_20211210_1639101605.tar.gz
nextcloud-bkp_20211127_1637978402.tar.gz  nextcloud-bkp_20211204_1638583206.tar.gz  nextcloud-bkp_20211211_1639188002.tar.gz
nextcloud-bkp_20211128_1638064804.tar.gz  nextcloud-bkp_20211205_1638669604.tar.gz  nextcloud-bkp_20211212_1639274403.tar.gz
nextcloud-bkp_20211129_1638151204.tar.gz  nextcloud-bkp_20211206_1638756003.tar.gz  nextcloud-bkp_20211213_1639360804.tar.gz
nextcloud-bkp_20211130_1638237602.tar.gz  nextcloud-bkp_20211207_1638842402.tar.gz  nextcloud-bkp_20211214_1639447204.tar.gz
nextcloud-bkp_20211201_1638324006.tar.gz  nextcloud-bkp_20211208_1638928802.tar.gz

daily_2021-12-07_211703   hourly_2021-12-13_101703  hourly_2021-12-13_231701  hourly_2021-12-14_091703   monthly_2021-07-23_101703
daily_2021-12-08_211703   hourly_2021-12-13_111701  hourly_2021-12-14_001702  manual_2021-01-23_201808   monthly_2021-08-22_101707
daily_2021-12-09_211704   hourly_2021-12-13_121702  hourly_2021-12-14_011702  manual_2021-01-24_090445   monthly_2021-09-21_101744
daily_2021-12-10_211703   hourly_2021-12-13_161702  hourly_2021-12-14_021702  manual_2021-10-07_083245   monthly_2021-10-21_111703
daily_2021-12-11_211704   hourly_2021-12-13_171701  hourly_2021-12-14_031702  monthly_2021-01-24_091703  monthly_2021-11-20_101703
daily_2021-12-12_211703   hourly_2021-12-13_181702  hourly_2021-12-14_041702  monthly_2021-02-23_091703  weekly_2021-11-22_171702
daily_2021-12-13_211703   hourly_2021-12-13_191702  hourly_2021-12-14_051702  monthly_2021-03-25_091703  weekly_2021-11-29_171702
hourly_2021-12-13_061702  hourly_2021-12-13_201702  hourly_2021-12-14_061702  monthly_2021-04-24_101702  weekly_2021-12-06_171702
hourly_2021-12-13_071702  hourly_2021-12-13_211701  hourly_2021-12-14_071702  monthly_2021-05-24_101703  weekly_2021-12-13_171702
hourly_2021-12-13_081702  hourly_2021-12-13_221704  hourly_2021-12-14_081703  monthly_2021-06-23_101704

What process should I follow to migrate this to a x86 VM so that I don’t need to setup everything again?


As usual with Linux, there is more then 1 way to do this.

I moved my hardware installed (old HP desktop) to a VM (Proxmox) by:

  • Clean Install NCP to a VM (either VM image or curl installer)
  • Add a virtual drive to the VM with enough space to hold data, plus as much as can spare .
  • Create mountpoint for ncdata with same path as original ( /media/myCloudDrive) and mount virtual drive (use uuid in /etc/fstab).
  • Use ssh with resync -a to copy all the data from the HDD to the VM. Without a running tinkerboard you can use any linux box with the HDD mounted)
  • run nc-restore

done :wink:

Thank you, I was hoping that running nc-restore with the files in place would do it, but its nice to have some validation.
I am going to try the migration this weekend, I will report back and mark this thread solved after that.

Btw, you mentioned you are using Proxmox now, how is that going? I am wondering if I should try it instead of using VirtualBox - or it might be an overkill if I’m just going to run it on a single node (my laptop)?

Proxmox rocks as far as I’m concerned, if you want be able to manage a bunch of VM’s and LXC containers :smiling_face_with_three_hearts:
Virtualbox is fine too tho.

Ah, ok. If I’m using NCP in a LXC container can I just point it directly to the data dir of the USB disk I plug in? I ask because the laptop’s inbuilt SSD is quite small, so with the VirtualBox VM approach I’ll have to either configure it to use the USB disk’s partition using “raw disk” access, or maybe make the USB device itself available to the guest. The container approach might be simpler and more performant.