Third-Party Data Migration (2024)

TrueNAS SCALE 24.04 (Dragonfish) adds functionality to mount remote SMB shares in a manner that preserves relevant metadata.This allows users to migrate data from a third-party NAS solution onto TrueNAS SCALE using the Syncthing Enterprise application.

Data migration from a third-party NAS requires advance configuration of both the remote source and TrueNAS SCALE target.

The process of setting up data migration from an external NAS to TrueNAS SCALE consists of:

Setting Up Data Migration

  • Install the first instance of the Syncthing Enterprise app on TrueNAS SCALE.

    a. Go to Apps > Discover Apps, locate the Syncthing enterprise app widget.

    Figure 1: Syncthing Enterprise App Widget

    Ensure the widget reflects the Enterprise train version of the app.If the Enterprise version is not available, add the Enterprise train to the TRUENAS catalog.

    Adding Enterprise Train Apps

    Go to Apps and click on Discover Apps.

    Click on Manage Catalogs at the top of the Discover screen to open the Catalog screen.

    Click on the TRUENAS catalog to expand it, then click Edit to open the Edit Catalog screen.

    Click in the Preferred Trains field, then select enterprise to add it to the list of trains.

    Click Save.

    Figure 2: Edit Catalog Add Enterprise Train

    Click on the widget to open the Syncthing details screen.

    Figure 3: Syncthing Enterprise Details Screen

    Click Install to open the Install Syncthing screen.

    b. To avoid name conflicts, use a unique name to indicate this Syncthing instance is mounting the remote share. For example Syncthing-ingest.

    c. Accept the defaults in Version, Syncthing Configuration, and User and Group Configuration.

    d. Deselect Host Network under Network Configuration. Default ports can be used for this Syncthing instance.

    e. Select ixVolume (Dataset created automatically by the system) or configure an existing host path for Syncthing Home Storage under Storage Configuration.

    f. Select SMB Share (Mounts a persistent volume claim to a SMB share) from the Type dropdown for Additional Storage.

    Figure 4: Additional Storage - SMB Share

    Select Migration Mode to set additional mount options, which ensure proper transfer of metadata and ensure the remote SMB share is mounted read only.

    Enter the IP address or fully qualified domain name (FQDN) for the remote source in Server.

    Enter the share name configured on the remote source in Share.

    If needed, enter the domain name for te remote source in Domain (Optional).

    Enter the user name and password for the SMB user on the external source.

    Enter a Size larger than the SMB share on the remote source, with overhead.

    g. Click Install.

  • Access the Syncthing UI for the first instance and configure as needed.

    a. Delete the Default Folder created by Syncthing during install.

    b. Create GUI credentials for increased security.Go to Settings > GUI and enter a user name and password.

    c. Add a new remote SMB folder.

    Click Add Folder.

    Figure 5: Add Folder - General

    Enter a Folder Label, such as ingest.Enter in Folder Path the mount path configured during app setup, /data1 by default.

    Click Save.

    d. Configure the device name.

    Click Actions in the top toolbar and select Settings.

    Enter a clear identifying name, such as INGEST, and click Save.

  • Create a new dataset on TrueNAS SCALE to be the target for the data ingest, for example /mnt/tank/ingest.

    Click Advanced Options and set ACL Type to SMB/NFSv4.Set ACL Mode to Restricted.

  • Install the second instance of the Syncthing Enterprise app on TrueNAS SCALE.

    a. Go to Apps > Discover Apps, locate the Syncthing enterprise app widget.Ensure the widget reflects the Enterprise train version of the app.

    b. To avoid name conflicts, use a unique name to indicate this Syncthing instance is writing to a local dataset. For example Syncthing-migrate.

    c. Accept the defaults in Version, Syncthing Configuration, and User and Group Configuration.

    d. Deselect Host Network under Network Configuration.Use non-default ports for this Syncthing instance that differ from the configured ports on the first instance.

    e. Select ixVolume (Dataset created automatically by the system) or configure an existing host path for Syncthing Home Storage under Storage Configuration.

    f. Select Host Path (Path that already exists on the system) from the Type dropdown for Additional Storage.Enter or browse to select the Host Path for the target dataset created in step 3.

    Figure 7: Additional Storage - Host Path

    g. Click Install.

    The Installed Applications screen displays both Syncthing instances.

    Figure 8: Installed Applications
  • Access the Syncthing UI for the second instance and configure as needed.

    a. Delete the Default Folder created by Syncthing during install.

    b. Create GUI credentials for increased security.Go to Settings > GUI and enter a user name and password.

    c. Configure the device name.

    Click Actions in the top toolbar and select Settings.

    Figure 9: Settings - MIGRATE

    Enter a clear identifying name, such as MIGRATE, and click Save

  • Configure a Syncthing marker folder on the remote source.

    By default, Syncthing places a hidden folder, called .stfolder, on the root of each share.This folder allows Syncthing to confirm that the volume is properly mounted.Syncthing cannot sync without a marker folder.As the remote SMB share is mounted read-only, Syncthing is not be able to create this marker folder.

    There are two ways to manually configure a marker folder:

    Manually create a hidden folder named .stfolder at the root level of the remote share.Access the root directory of the remote source from a client that has read-write access to create the folder.

    or

    Access the Syncthing UI for the ingest instance.Click Actions in the top toolbar and select Advanced to open the Advanced Configuration screen.Select the ingest folder and change Marker Name from .stfolder to another folder or file that is present on the remote source.

    See How do I serve a folder from a read only filesystem? from Syncthing for more information.

  • Connect the two Syncthing instances.

    a. Copy the device ID from the first Syncthing instance UI.Click Actions in the top toolbar and select Show ID to open the Device Identification screen.Click Copy.

    b. Add a remote device on the UI of the second Syncthing instance.Click Add Remote Device and paste in the device ID copied from the first instance.

    Click Advanced.Enter the device address and port for the first Syncthing instance, in the formattcp://ip:port.

    Figure 10: Add Device - Advanced

    Click Save.

    c. Repeat steps a and b in the opposite direction to add a remote device to the first Syncthing instance using the device ID, IP address, and port of the second instance.

  • Initiate migration.

    Access the Syncthing UI for the first instance.

    Click Edit on the remote SMB folder created during step 2.

    Figure 11: Edit Folder - Sharing

    Click Sharing and select the migrate instance. Click Save.

    Syncthing begins syncing data from the remote source to the ingest dataset on TrueNAS SCALE.

  • Third-Party Data Migration (2024)
    Top Articles
    Latest Posts
    Article information

    Author: Carlyn Walter

    Last Updated:

    Views: 5693

    Rating: 5 / 5 (50 voted)

    Reviews: 89% of readers found this page helpful

    Author information

    Name: Carlyn Walter

    Birthday: 1996-01-03

    Address: Suite 452 40815 Denyse Extensions, Sengermouth, OR 42374

    Phone: +8501809515404

    Job: Manufacturing Technician

    Hobby: Table tennis, Archery, Vacation, Metal detecting, Yo-yoing, Crocheting, Creative writing

    Introduction: My name is Carlyn Walter, I am a lively, glamorous, healthy, clean, powerful, calm, combative person who loves writing and wants to share my knowledge and understanding with you.