Virtuoso Bring-Your-Own-License (BYOL) Virtual Machine for the Google Cloud Platform (GCP)


This document details the process for deploying the OpenLink Virtuoso Bring-Your-Own-License (BYOL) Edition Marketplace Offer for the Google Cloud.


Deployment from Google Marketplace Offer

  1. From the Google Marketplace search for the keywords OpenLink or Virtuoso to locate the available Virtuoso BYOL offer:

  2. Click on the Launch button to start the subscription and deployment of the BYOL offer.

  3. Set a Deployment name and appropriate Machine type for VM deployment, accept the agreement by selecting the check box and then click on the DEPLOY button

  4. The deployment is in progress:

  5. The following screen is displayed when the deployment is complete:

Administering Virtuoso Instance via SSH

  1. Click on the SSH drop down list box as in the screenshot below:

  2. Select the Open in browser window item from the dropdown list box to start an SSH connection to the VM and click on the Authorize button:

  3. Authenticate as your google user account:

  4. The SSH connection to the VM completes:

  5. Being a BYOL VM, the next step is to copy the acquired Virtuoso license file to the VM using the scp or other command along the following lines: scp {local-virtuoso-license-file} {username}@{vm-host}:/{destination-folder}/
  6. Once connected it is strongly recommended to update the VM to get the latest operating system and Virtuoso updates with the command:
    sudo apt-get upgrade
  1. Run the following command to enable the Virtuoso instance to auto-start on reboot:
   sudo systemctl virtuoso enable
  1. Copy the virtuoso.lic license file to the /etc/oplmgr directory for use by the Virtuoso instance:
    sudo cp virtuoso.lic /etc/oplmgr
  1. The following commands can be used to Administer the Virtuoso server:
  • Start the Virtuoso Server:
    sudo service virtuoso start
  • Stop the Virtuoso Server:
   sudo service virtuoso stop
  • Restart the Virtuoso Server:
    sudo service virtuoso restart
  • Check status of Vrtuoso Server:
    sudo service virtuoso status
  1. Check the Virtuoso server is automatically started post deployment with the command:
    sudo service virtuoso status
  1. Determine the random password set for the dba user with the command:
    sudo cat /opt/virtuoso/database/.initial-password
  1. A SQL connection can then be made to the Virtuoso instance with the isql command line tool on port 1111 with the command :
    isql 1111

Accessing the Virtuoso Instance via HTTP

  1. Determine the External IP Address of the VM from the google cloud console:

  2. The Virtuoso HTTP server can then be accessed on http://{External IP Address}:8890:

  3. Click on the Conductor link in the left frame to access the Virtuoso Conductor Admin UI.

  4. Use the Virtuoso dba user and password determined previously to login to the Conductor

Performance Tuning

There are a range of Google VM instance types with different system memory and CPU combinations. Collectively, the factors above affect the performance of your Virtuoso instance. Thus, use Google VM Instance Type s with more memory and CPU cores for best performance.

Note: This VM is configured to use minimal system memory. For the instance type chosen, the NumberOfBuffer and MaxDirtyBuffers parameters in the /opt/virtuoso/database/virtuoso.ini configuration file should be increased to match the available memory, as detailed in the Virtuoso Performance Tuning Guide, for example –

VM Instance Type System RAM Number Of Buffers Max Dirty Buffers
n2d-standard-2 8 GB 680000 500000
n2d-standard-4 16 GB 1360000 1000000
n2d-standard-8 32 GB 2720000 2000000
n2d-standard-16 64 GB 5450000 4000000

– and the Virtuoso server restarted as detailed above.

Extrapolate the NumberOfBuffer and MaxDirtyBuffers parameters accordingly for different sized VMs.


If the Virtuoso server fails to start:

  • Run the command sudo service virtuoso status to see if the Virtuoso server is running
  • Check the /opt/virtuoso/database/virtuoso.log file to see why the server might have failed to start
  • Ensure there file /opt/virtuoso/database/virtuoso.lck does not exist before starting the server
  • Attempt to start the Virtuoso server with the command sudo service virtuoso start
  • Run the command sudo service virtuoso status again to see if the Virtuoso server is running
  • If it is now running attempt a connect via the SQL or HTTP interfaces are detailed above