What is Virtualization?
Unless you’ve lived under a rock for the past decade – it’s pretty likely you’ve at least heard of the term virtualization. Even if you don’t use it directly – you’ve certainly used it indirectly while using almost any online service.
Virtualization is the the process of running a virtual computer inside a physical one. Multiple virtual machines can run on a single host machine. This makes it possible to maximize the hardware of a single computer, running multiple operating systems and services at the same time. It is also how almost all datacenter and cloud applications are hosted today.
Virtualized Database Servers For Resolve
Resolve’s project database runs on a industry standard Postgres database platform. This means it can be hosted on just about any computer, and it barely uses any resources. This also makes it a perfect use-case for virtualization. Many colorists already have NAS machines that support running virtual machines. If you don’t have a NAS that supports virtualization, you may have a spare computer that is doing something else that does.
Hosting your Resolve Database in a virtual machine is a great way to maximize hardware that you may already have! In my home studio, I run my database in VMWare. At our office at DC Color, we run it on our big TrueNAS server, and at Pat’s facility, he runs it on his TrueNAS Mini XL+.
First, you will need a hypervisor. This is the software that runs and manages virtual machines. In this Insight – i’ll be using Oracle Virtualbox – an opensource hypervisor that runs on desktop operating systems. Other options include the built-in hypervisors in TrueNAS, Synology, QNAP and other NAS servers. You can also use dedicated, bare-metal hypervisors like VMWare or ProxMox.
Every hypervisor is a little different – but the general options for configuring a virtual machine are the same. In this Insight, I’ll show you how to:
- Set up and configure virtual machine options
- Download and install CentOS Linux
- Install and configure Postgres server on CentOS for use with Resolve
- Use Resovle to create and connect to databases on the new virtual server
This Insight features a lot of command-line interaction – so a general understanding of Linux is recommended. Don’t worry – since the server is virtual, you won’t break anything. If you get it wrong – you can just delete it and start fresh. This makes virtual machines a great way to dip your feet into Linux without a lot of risk.
To make it easier to follow along – I’ve also included all the commands I used as a reference. Just know that these may be different in other linux distributions or versions.
switch user. With no argument, this defaults to the superuser
yum install postgresql postgresql-server open-vm-tools emacs
Install postgres client and server, open vm tools, and emacs text editor
service postgresql initdb
Initialize the postgres database
systemctl enable postgresql
Enable the postgres server
systemctl start postgresql
Start the postgres server
su – postgres
Switch to a shell as the postgres user
ALTER USER postgres WITH PASSWORD ‘DaVinci’;
Update the postgres database user password (run in the postgres shell)
systemctl restart postgresql
Restart the postgres server
systemctl stop firewalls
Stop the builtin firewall
systemctl disable firewall
Disable the builtin firewall
Links and resources from this Insight
- VirtualBox.org – “VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2”
- CentOS Stream – “Community-driven free software effort focused around the goal of providing a rich base platform for open source communities to build upon.”
As always, leave your comments or ask questions below!