Swift object storage planning

Swift provides a highly available, distributed, eventually consistent object store. In the IBM Cloud Infrastructure Center multi-node cluster, it can be used as the storage backend for:

  1. Glance service to store the images

  2. Cinder backup service to store the volume backups

  3. Gnocchi service to store the aggregated metering data.

Note:

  1. Swift is only supported in the IBM Cloud Infrastructure Center multi-node cluster.

  2. If you have a shared storage, for example: IBM Storage Scale or NFS, then no need to enable Swift as Glance image or Cinder backup backend storage. When you create inventory before the IBM Cloud Infrastructure Center is installed, choose n for the Swift option, refer to the Note in inventory creation document. After the IBM Cloud Infrastructure Center is installed, you can follow the guide to configure the store directory for Glance and Cinder backup.

Storage Devices

In the IBM Cloud Infrastructure Center, Swift object storage is configured to store 3 replicas for each object, so 3 devices are created, and each device is attached to each management node. By default, a 20G sparse file is truncated under /srv/node/drives/swift.img, and it is mounted to swift storage path by loop device, by default it is /srv/node/partition1. It uses the file system space, and lots of file system space is used when much data is stored to Swift. So LVM is suggested as the Swift storage device.

If you use LVM as Swift storage device, before the IBM Cloud Infrastructure Center is installed, you need to prepare the storage devices first on all the 3 management nodes. The detailed steps are:

  1. Create LV(Logical Volumes) to be used as the swift storage backend.

  2. Format the LV:

    mkfs.xfs /dev/{vg_name}/{lv_name}
  3. Create Swift storage path:

    mkdir -p /srv/node/partition1
  4. Mount the LVM to Swift storage path:

    mount /dev/{vg_name}/{lv_name} /srv/node/partition1
  5. Edit /etc/fstab and add the mount path:

    /dev/{vg_name}/{lv_name} /srv/node/partition1 xfs defaults 0 0

Note:

  1. Although Object Storage supports any file system with extended attributes (xattr), XFS is recommended for performance and reliability reasons.

  2. These steps are required on all management nodes.