About a week ago, ScaleIO 1.2 was released and it’s been very well received by existing customers and curious newcomers. If you are of the latter, I think you’ll like this post as we’ll go through how to install ScaleIO 1.2 in a VMware environment and use it as a scalable storage solution for virtual machines stored on VMFS.
ScaleIO 1.2 comes in two parts, an OVA and an installation script. This might seem strange at a first glance, but it actually makes it easier to upgrade to a new version by just using a new install script instead of having to provision new OVAs everywhere. Both parts can be downloaded here.
Once you’ve downloaded both parts, deploy at least three ScaleIO VMs. These three VMs will create the base of your ScaleIO environment, containing two Meta-Data Managers (MDM) and one Tie-Breaker (TB). The MDMs will handle the information about where all blocks are stored, and the Tie-Breaker will be used in case of a split-brain scenario. You can have more MDMs, but a minimum of two is required.
These ScaleIO VMs can also be used as storage devices servers (SDS), which is what we’ll do in this scenario. ScaleIO is flexible enough letting you have dedicated physical/virtual hardware for all services in a ScaleIO environment, or run several on each one. For this how to we’ll be using several services on each server.
So, our minimal setup will look like this:
- ScaleIOVM1 – MDM, SDS
- ScaleIOVM2 – MDM, SDS
- ScaleIOVM3 – TB, SDS
Once you’ve deployed the ScaleIO VMs, you’ll notice you’ll be presented by just a login prompt. Login as root with password admin. What will happen next is a basic setup screen, where you need to enter information as per the picture below.
Clik here to view.

Next, you’ll add NTP information; choose your NTP server and your timezone, it’ll look like this when done.
Clik here to view.

When that’s done, you’re dropped back at the root prompt. Remember how the ScaleIO installation is divided into two files, an OVA and an installation script? Well, you’re now done with the first one. Easy, right?
So on the the installation script. Copy it using scp/pscp or a similar tool to one of the ScaleIO VMs. That’s right, just putting it on one of them is enough as the installation will talk to all other nodes during deployment. It doesn’t matter which one you put it on, as long as you know where you’ve put the files. Copy it to the existing /opt/scaleio/siinstall/ folder.
Clik here to view.

So, you’ve copied the file over, now it’s time to run it to extract the installation files.
Clik here to view.

There’s now a new folder called ECS that contains all the necessary ScaleIO files for a new deployment. enter that folder and run the help command and you’ll see there are several options for the install script.
Clik here to view.

We want to create a configuration file for our deployment (and it’s going to be deployed in a VMware environment, but that’s not important now), so run the following command:
install.py --make_config --vm
When you run this command, you’ll be presented by a basic GUI, letting you go back and forth between menus and create your configuration. The first thing you’ll do is to set a password (I use admin everywhere to make it easy for me to remember) and tell it to create a configuration file. If you already have a config file (like the one I will provide in the last part of this how to), it’ll automatically load that up and you can reconfigure it through the menus.
Clik here to view.

Once inside the menu, you’ll find several choices. My suggestion is to go through them one by one, as I’ll explain in the next segments of this how to.
Clik here to view.

Before going to the next section of this how to, make sure you’ve enabled the iSCSI initiator on your ESXi-servers. You already know how to do that, right?
Stay tuned for the next post!
Image may be NSFW.
Clik here to view.

Clik here to view.
