1. Home
  2. /
  3. Stabile Documentation
  4. /
  5. Guides
  6. /
  7. Add a Dedicated Storage...

Add a Dedicated Storage Pool for Images

In this guide we will add a dedicated storage device or partition to an existing Stabile installation for image storage, so you should have completed this guide. Putting your engine’s shared images on a dedicated device or partion has several advantages – you can obviously get improved performance and capacity, depending on the device you are adding, but the main advantage, in our view, is that by letting Stabile control an entire device or partition and format it with ZFS, Stabile can leverage ZFS storage snapshots.

Stabile can use any available local storage for shared storage. A distinct storage area assigned to Stabile is called a storage pool. Storage pools are exported via NFS to the nodes, and are configured in the Stabile configuration files (config.cfg and nodeconfig.cfg).

The default Stabile storage configuration is to use the directory “/mnt/stabile/images” for shared image storage with whatever file system this directory happens to be located on. This guide assumes that your Stabile installation has this simple configuration, and we will add a new storage pool to your configuration, corresponding to the device/partition you are adding. The new storage pool will be mounted on “/stabile-images/images”. You can use either an existing partition or an entire new device as a new storage pool.

Objectives

  • Add a storage device or partition to an existing Stabile installation for shared image storage

Prerequisites

  • A Stabile installation
  • An available storage device or partition, witout any data you want to keep

Recomendations

  • Preferably use a decicated SSD or NVMe device of 256 GB or larger

Warnings

  • Storage snapshots stored on the same device are obviously no substitute for backing up to a separate storage device. Please read the backup guide in this series, to learn how to configure backup of your images and data with Stabile.

Options

You can add a new storage pool to Stabile in two ways. Either way, please note that any existing data will be lost.

  1. Using an entire device
  2. Using an existing partition

1) Use an entire device

  1. Shut down your engine and attach the device.
  2. Power your engine back on. If you are using a previously used device, wipe the partition table.
    • If the device is attached as /dev/sdb, this can e.g. be achieved by typing: wipefs -a /dev/sdb
    • Again – this will wipe all data from the device, so please don’t do this if there is any data on the device you wish to keep.
  3. Reload the web client, i.e. click “reload” in your browser.
  4. In the dashboard tab, locate the “Images storage” drop-down menu, select your device and click “Format this device”.

2) Use an existing partition

  1. In the dashboard tab, locate the “Images storage” drop-down menu, select your partition and click “Format this device”.

Verify your new configuration

To verify your new storage configuration, go to the “Images” tab and select “All” from the “Show” drop-down. Click on any image and in the image dialog, click on the “Storage pool” drop-down. There should now be 3 options in the drop-down, typically: “On node”, “Default” and “images on sda1”. All your images will typically be located in your old storage pool. If you select the new storage pool, “Default” from the drop-down, and click “Save”, your image will be moved to the new ZFS storage pool.

A bit about ZFS in Stabile

When Stabile is first installed it does not try to use ZFS – the default and only shared storage pool is simply a dirctory on you hard drive (“/mnt/stabile/images”). If you add a storage pool, by adding a dedicated partition or device, like in the above, it will be formatted with ZFS and a ZFS pool will be created with the name “stabile-images”. If you add another partition or device by simply repeating the above procedure, it will simply be added to the existing ZFS pool in a raid0 configuration. If you have multiple storage devices you want to use, and want to use ZFS for redundancy, you should configure ZFS by hand, in whatever configuration you prefer (miroring, raidz2, raidz3, etc.). As long as you name your ZFS pool “stabile-images”, and your ZFS file system “images”, things should work.

Leave a Comment

Your email address will not be published. Required fields are marked *

*






This site uses Akismet to reduce spam. Learn how your comment data is processed.