Articles in this section

How to Migrate Bold BI Storage from File Share (NFS) to Azure Blob Storage

Published:

This article explains how to migrate Bold BI storage from File Share to Azure Blob Storage. Migrating to Azure Blob improves scalability, reliability, and storage performance.

Prerequisites: Access to the Kubernetes cluster, Azure Portal, and Azure Storage Account credentials

Step 1: Take Backup of app_data from Kubernetes

Create a backup of the Bold BI app_data folder from the Kubernetes pod.

1.  Get the running pods "kubectl get pods -n bold-services"

2. Check the size of the app_data folder inside the pod using the following command and note it for later verification:

kubectl exec -n bold-services <id-web-pod> -- du -sh /application/app_data

3. Open your terminal and navigate to the location where you want to store the backup: i.e. cd C:\Users\<username>\Downloads\AppData_Backup

Run the following command to copy:

kubectl cp -n bold-services <id-web-pod>:/application/app_data ./app_data

Note: Ensure that you take a backup of the app_data folder and store it safely. During migration, dashboards will be converted to .sydj, the config.json file will be modified, and folder structures will be reorganized.

Create the following folder structure on your local machine to organize the files during the migration.


Step 2: Convert Dashboards to .SYDJ Format

Download and extract the SYDJConversion utility. Ensure .NET SDK 6.0 is available (use the provided link if needed)

Copy the backed-up app_data folder into the SYDJConversion directory and then Run the "SYDJConversion.exe" utility, as shown in the image below.



After conversion, dashboards will appear as .sydj filesThese converted dashboards inside the following directory: app_data/bi/<tenant-id>/resources

Now copy all tenant folders from: SYDJConversion/app_data/bi/<tenant-id>

and move them to the Azure Blob Migration\dashboard server folder that was created earlier.


Step 3: Prepare DashboardDesigner Folder



Copy all the contents inside designtimecache into the following DashboardDesigner folder that was already created:



Step 4: Update the config.json Using Migration Utility

Download and extract the MigrateToBlob utility. Ensure .NET SDK 8.0 is available (use the provided link if needed)

Note: This migration utility supports PostgreSQL meta db only.

Copy the backed-up app_data folder into the inside the MigrateToBlob folder.

Parameter Explanation

.\UpdateBlobValuesUtility.exe -azureblobstoragecontainername 'testblob' -azureblobstorageuri 'https://test123.blob.core.windows.net' -connectiontype 'https' -accountname 'test123' -accesskey '8yrKrNASt61ezEw=='

The values in the command are examples. Replace them with your Azure Storage Account details.

ParameterDescriptionExample
-azureblobstoragecontainernameYour Blob container nameboldbi
-azureblobstorageuriYour Blob storage URLhttps://test123.blob.core.windows.net
-accountnameYour Azure Storage account nametest123
-accesskeyYour Storage account access keywIIx8SpHS/...

Copy the Account Name and Access Key from Azure Portal → Storage Account → Security + Networking → Access keys.


Create a Container (If Not Available)

Create a Blob container (e.g., boldbi) by navigating to Azure Storage Account → Data Storage → Containers  Add Container, then save it.

Example Final Command

After replacing the values, the command will look like this:

.\UpdateBlobValuesUtility.exe -azureblobstoragecontainername 'boldbi' -azureblobstorageuri 'https://sablobnew216643.blob.core.windows.net' -connectiontype 'https' -accountname 'sablobnew216643' -accesskey 'wIIx8SpHS/*****************/br+AStbc60OQ=='

Navigate to the MigrateToBlob directory and run the command in CMD.

This command will update the config.json file and Meta Database


Step 5: Prepare boldservices Folder

Copy the configuration folder from MigrateToBlob\app_data\configuration to Azure Blob Migration\boldservices.


Step 6: Ensure Final Folder Structure

Ensure the folders in the following structure before uploading them to Azure Blob:

Azure Blob Migration (Back up Folder name)
│
├ boldservices
│     └ app_data
│          └ configuration
│
├ dashboard server
│     └ all tenant folders
│
└ DashboardDesigner
      └ DashboardDesigner
          └ designtimecache files & folders


Step 7: Upload Folders to Azure Blob

Upload the prepared folders into the container.

Expected structure:

boldbi (Container Name)
│
├ boldservices
│     └ app_data
│          └ configuration
│
├ dashboard server
│     └ all tenant folders
│
└ DashboardDesigner
      └ DashboardDesigner
          └ designtimecache files & folders

Step 8: Update the config.json in Kubernetes




Replace the existing config.json with the updated config.json file from Azure Blob Migration\boldservices\configuration.

Verify the change:

cat config.json | grep StorageType

Expected output: "StorageType": 1 and also ensure the value is updated under the StorageSettings property.



Step 9: Restart Bold BI Pods

Restart the deployments: kubectl rollout restart deployment -n bold-services

Verify pod status: kubectl get pods -n bold-services

After restarting the pods, open Bold BI and verify that dashboards load correctly, datasources work properly, and the Dashboard Designer functions as expected.


Related Links

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
SG
Written by Sivabalan Ganesan
Updated:
Comments (0)
Access denied
Access denied